On Fri, Apr 27, 2012 at 07:09:29PM +0400, Konstantin Osipov 
<[email protected]> wrote:
> Currently we use ev_async for that, but it involves writing
> into a pipe, and is thus slower than I would like it to be.

It only involves a pipe if you run on non-linux kernels (or use a very old
system), and only if it happens rarely. Only the first async wakeup in an
iteration involves messing with pipes (or an eventfd).

> Hence I was looking for ev_signal and EV_CUSTOM event type 
> as a replacement. 

Signals are likely far slower than even a pipe read and write (last i
timed it, handling a signal took >3000 cycles on my box, and an event fd
read+write was around 2200 cycles), and in addition, ev_signal uses the
exactly the same mechanism as ev_async, so it will probably take more than
twice the time.

-- 
                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      [email protected]
      -=====/_/_//_/\_,_/ /_/\_\

_______________________________________________
libev mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev

Reply via email to