Q&A
Q&AWhy can epoll handle many mostly-idle sockets more efficiently than select?
epoll tracks interest and reports readiness changes instead of requiring repeated full-set scans.
Read the concise answer
select requires rebuilding and scanning descriptor sets on each wait and has platform-specific descriptor limits; poll also examines a supplied list. epoll maintains kernel-side interest and ready structures, which suits large mostly-idle sets. It does not remove per-connection memory costs, application scheduling, or edge-triggered drain requirements.