are new benchmarks needed?

Marc Lehmann schmorp at
Fri Dec 24 16:31:08 CET 2010

On Thu, Dec 23, 2010 at 06:22:37PM -0600, Charles Kerr <charles at> wrote:
> Now that libevent has a stable release of its 2.x series out[1], will
> the benchmarks on libev's website be updated to include libevent2?

Interesting, I checked the homepage and it still says latest stable
release is 1.4.x.

> The benchmarks are two and a half years old, and both libraries have
> come a long way since then.

I guess the benchmarks could be redone, but unless something has
drastically changed in the last few months, there is little principal
difference between the old versions and the current versions of either

Which makes sense, the only thing where libevent could improve over
libev while keeping backwards compatibility is using a better algorithm
somewhere (like as when libev used a binary heap where libevent used a
slower red-black tree) - which would then hopefully be used by libev as
well eventually - while the principal inefficiency caused by the libevent
API and its pointer-heavy data structures (heap in array vs. heap using
link pointers) has to remain.

Indeed, libevent has upgraded their data structures - libevent 2 now seems
to use a binary heap, while libev (by default) uses a quaternary tree now,
both of which are not yet the most efficient.

So, while I will surely update the benchmark document at some point, it's
a lot of work, and will unlikely bring any new insights.

In my opinion, it's much more interesting to look at the other
improvements libevent has, or simply the extra features it brings, such as
a webserver, or the so-called bufferevents :)

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

More information about the libev mailing list