Comparing and Evaluating epoll, select, and poll Event Mechanisms
This paper uses a high-performance, event-driven, HTTP server (the userver) to compare the performance of the select, poll, and epoll event mechanisms. We subject the userver to a variety of workloads that allow us to expose the relative strengths and weaknesses of each event mechanism.
Interestingly, initial results show that the select and poll event mechanisms perform comparably to the epoll event mechanism in the absence of idle connections. Profiling data shows a significant amount of time spent in executing a large number of epoll_ctl system calls. As a result, we examine a variety of techniques for reducing epoll_ctl overhead including edge-triggered notification, and introducing a new system call (epoll_ctlv) that aggregates several epoll_ctl calls into a single call. Our experiments indicate that although these techniques are successful at reducing epoll_ctl overhead, they only improve performance slightly.
...
Download PDF.
- Add new comment
- 3095 reads








Recent comments
1 week 3 days ago
1 week 3 days ago
1 week 6 days ago
3 weeks 2 days ago
4 weeks 11 hours ago
9 weeks 2 days ago
10 weeks 13 hours ago
10 weeks 1 day ago
10 weeks 5 days ago
11 weeks 5 days ago