# Event handling * Golang runtime uses `epoll`/`kqueue`/IOCP so no need for `libevent` or similar. * See https://golang.org/search?q=netpoll#Global ## Existing techniques For reference only, since using Go means we gain automatic integration. From http://nginx.org/en/docs/events.html | Method | Linux | macOS | Windows | BSD | UNIX | Notes | |-----------|:-----:|:-----:|:-------:|:---:|:---------------:|:---------------------------------| | select | X | X | X | X | X | Least efficient, widest support | | poll | X | X | | X | X | Low efficiency, wide support | | kqueue | | X, Go | | X | Go | Efficient | | epoll | Go | | | | | Efficient | | /dev/poll | | | | | X | Efficient | | eventport | | | | | Solaris 10+, Go | Problems, use /dev/poll instead | | IOCP | | | X, Go | | | Recommended for Windows | * UNIX: Solaris, HP-UX, IRIX, Tru64