Re: [take22 0/4] kevent: Generic event handling mechanism.

Evgeniy Polyakov
2006-11-07T08:32:44Z

On Mon, Nov 06, 2006 at 10:17:37PM +0100, Eric Dumazet (dada1@cosmosbay.com) wrote:
> AF_INET
> # ./epoll_bench -n 2000 -i
> 2000 handles setup
> 69210 evts/sec 2.97224 samples per call
> 59436 evts/sec 12876 ctxt/sec 5.48675 samples per call
> 60722 evts/sec 12093 ctxt/sec 8.03185 samples per call
> 60583 evts/sec 14582 ctxt/sec 10.5644 samples per call
> 58192 evts/sec 12066 ctxt/sec 12.999 samples per call
> 54291 evts/sec 10613 ctxt/sec 15.2398 samples per call
> 47978 evts/sec 10942 ctxt/sec 17.2222 samples per call
> 59009 evts/sec 13692 ctxt/sec 19.6426 samples per call
> 58248 evts/sec 15099 ctxt/sec 22.0306 samples per call
> 58708 evts/sec 15118 ctxt/sec 24.4497 samples per call
> 58613 evts/sec 14608 ctxt/sec 26.816 samples per call
> 58490 evts/sec 13593 ctxt/sec 29.1708 samples per call
> 59108 evts/sec 15078 ctxt/sec 31.5557 samples per call
> 59636 evts/sec 15053 ctxt/sec 33.9292 samples per call
> 59355 evts/sec 15531 ctxt/sec 36.2914 samples per call
> Avg: 58771 evts/sec
>
> The last sample shows that epoll overhead is very small indeed, since
> disabling it doesnt boost AF_INET perf at all.
> AF_INET + no epoll
> # ./epoll_bench -n 2000 -i -f
> 2000 handles setup
> 79939 evts/sec
> 78468 evts/sec 9989 ctxt/sec
> 73153 evts/sec 10207 ctxt/sec
> 73668 evts/sec 10163 ctxt/sec
> 73667 evts/sec 20084 ctxt/sec
> 74106 evts/sec 10068 ctxt/sec
> 73442 evts/sec 10119 ctxt/sec
> 74220 evts/sec 10122 ctxt/sec
> 74367 evts/sec 10097 ctxt/sec
> 64402 evts/sec 47873 ctxt/sec
> 53555 evts/sec 58733 ctxt/sec
> 46000 evts/sec 48984 ctxt/sec
> 67052 evts/sec 21006 ctxt/sec
> 68460 evts/sec 12344 ctxt/sec
> 67629 evts/sec 10655 ctxt/sec
> Avg: 69475 evts/sec

Without epoll number of events/sec is about 18% more - 58k vs 69k.

--
Evgeniy Polyakov