Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

Why is epoll faster than select?

Shulou Source: shulou.com Published: 2022-06-02 10:03:52 10月03日 Update

This article mainly introduces "Why epoll is faster than select". In daily operation, I believe many people have doubts about why epoll is faster than select. The editor consulted all kinds of materials and sorted out simple and easy-to-use methods of operation. I hope it will be helpful to answer the questions of "Why epoll is faster than select"! Next, please follow the editor to study!

Select,poll,epoll is the mechanism of IO multiplexing.

Select

Select copies list data to the kernel every time it is called, does a lot of adding waiting queues each time, and does a lot of removal work when waking up.

After the process wakes up, it needs to traverse again to know which socket received the data.

Epoll

Because socket lists are relatively fixed, epoll maintains socket lists (red-black trees) in the kernel. Epoll_create to create, epoll_ctl to add and delete, epoll_wait to wait.

When the socket is ready, the process is not notified directly, but through the eventpoll mediation. Eventpoll maintains a ready list. This way the process gets the ready list directly and does not need to traverse all.

Epoll mode

Horizontal trigger (Level Triggered): notifies the user as long as the handle remains available.

Edge Triggered: the handle notifies the user only once when a read-write event occurs

At this point, the study on "Why epoll is faster than select" is over. I hope to be able to solve your doubts. The collocation of theory and practice can better help you learn, go and try it! If you want to continue to learn more related knowledge, please continue to follow the website, the editor will continue to work hard to bring you more practical articles!

Tags: Learning process kernel handle data more user work help utility next mediation event copy article method mechanism pattern level state Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno OPPO Reno Shulou Information MariaDB Shulou Tech Info Huawei