[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[Libevent-users] How to reproduce benchmark graphs on libevent homepage?



Hi,

I am writing a network application in Java, and am using selectors,
which Java implements on top of epoll, on a Linux box. I have noticed
that a call to select available socket events might typically take
400us, and I only have one active connection out of a total of one
connections when I see this figure. I am investigating whether this
latency is due to the way epoll is implemented, or whether Java is not
using epoll as efficiently as possible.

I notice that on the libevent homepage, there is a benchmark
performance graph, for the time to service one active connection out
of a total of n connections:

http://www.monkey.org/~provos/libevent/libevent-benchmark.jpg

On that graph it looks like latencies with epoll can be as low as
10us. Could someone explain to me how to run the benchmark that was
used to produce that graph, so that I might run it on my own set up
and compare the latencies I get with libevent to what I am seeing in
my Java code? Any help would be most appreciated.

I can see that there are some benchmarking tools available in the
'/test' directory. I have already run bench_http and bench_httpclient
together and seen latencies of 40us. I don't know what event mechanism
this benchmark used, and I don't there are any command line options
that it responds to, for example, to set up the test to run over a
network, rather than just a local loopback.

Rupert Smith
***********************************************************************
To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users    in the body.