1.2 KiB
1.2 KiB
Event handling
- Golang runtime uses
epoll/kqueue/IOCP so no need forlibeventor 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