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 majord...@freehaven.net with unsubscribe libevent-users in the body.