Libev vs. libevent benchmark (reloaded)

Marc Lehmann schmorp at
Tue Apr 13 18:28:35 CEST 2010

On Tue, Apr 13, 2010 at 03:26:19PM +0200, Gabriel Kerneis <kerneis at> wrote:
> On Mon, Apr 12, 2010 at 05:10:29PM +0200, Marc Lehmann wrote:
> > If you ran the code unmodified, how did you do that? :)
> See the attached script.  You might need to tweak it a bit (especially

No, I mean the bench.c doesn't work with libvent-2.0.4 on my system, it
just hangs in the event loop. Others have reported the same, so I wonder
what you did different to make it work.

(have you strace'ed it to see if it actually does the syscalls required for
the benchmark?)

> Please, double-check my patching of runbench just in case.

I blindly trust you there :)

> The results are available here:
> libevent2 is very fast, but still beaten when timeouts are involved.

Libev also beats it consistently with 1000 clients, just not in the 100
client case.

Still scary - maybe it does the many epoll calls at a different
time (libev delays them till event processing, libevent does it at
setup/takedown). It actually looks like a cache effect though, but thats
really weird, as libev's data structures are so much smaller.

I'll have to investigate (But first I need to have a working libevent
bench.c :).

                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_    
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schmorp at
      -=====/_/_//_/\_,_/ /_/\_\

More information about the libev mailing list