bartman / event-loop-benchmark

compare relative performance of libev libevent libuev libuv picoev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

event-loop-benchmark

This project is based on the bench.c file that was used to benchmark libevent against libev. I have extended it to compare relative performance of:

I wanted to see which one was worth my while for a project that required good scaling at high number of files.

Short answer: on my system libev performed best, with close second being picoev.

compiling

$ git clone https://github.com/bartman/event-loop-benchmark
$ cd event-loop-benchmark
$ git submodule init
$ git submodule update
$ make

running

$ make run
for lib in libev libevent libuev libuv picoev ; do \
	echo $lib ; \
	time ./bench-$lib -n 100000 -r 10 ; \
done

libev
  100183      272
   28284      285
   27710      340
   27356      264
   27469      266
   27414      273
   27890      270
   27712      298
   27474      265
   27837      267
0.06user 0.75system 0:00.82elapsed 99%CPU (0avgtext+0avgdata 19956maxresident)k
0inputs+0outputs (0major+4746minor)pagefaults 0swaps

libevent
   90165      242
  117328      223
  121098      215
  129374      213
  125306      217
  122137      221
  128751      215
  125773      214
  123250      217
  117167      224
0.09user 1.60system 0:01.69elapsed 99%CPU (0avgtext+0avgdata 19972maxresident)k
0inputs+0outputs (0major+4691minor)pagefaults 0swaps

libuev
  119420    43696
  152023    49974
  151565    49737
  157453    49072
  151938    49957
  150834    43601
  154799    51177
  152987    49378
  151413    49359
  153405    50954
0.50user 1.50system 0:02.00elapsed 99%CPU (0avgtext+0avgdata 10100maxresident)k
0inputs+0outputs (0major+2223minor)pagefaults 0swaps

libuv
  187609    89698
  169341    84936
  164311    80284
  166312    80238
  170351    84016
  171014    84024
  170107    83397
  163320    81280
  168780    83630
  166058    80036
0.19user 1.97system 0:02.17elapsed 100%CPU (0avgtext+0avgdata 20420maxresident)k
0inputs+0outputs (0major+4738minor)pagefaults 0swaps

picoev
   98371      185
   62066      181
   61626      200
   62360      186
   61678      186
   61246      215
   62227      201
   61242      193
   61136      201
   61264      195
0.06user 1.11system 0:01.17elapsed 99%CPU (0avgtext+0avgdata 7128maxresident)k
0inputs+0outputs (0major+1461minor)pagefaults 0swaps

About

compare relative performance of libev libevent libuev libuv picoev


Languages

Language:C 74.4%Language:Makefile 25.6%