Hacker News new | ask | show | jobs
by eqvinox 918 days ago
Considering that epoll is Linux specific anyway, I would highly advise going straight to io_uring. epoll has a whole bunch of footguns in particular with edge triggered modes of operation; io_uring has a higher initial threshold in understanding how it works but is worth that effort.

(Unless you need to support older Linux kernels that have epoll but no io_uring yet.)

1 comments

Oh yeah I meant io_uring too. Plus Windows copied it so you can implement things very similarly for Windows.
Thanks for that, had no idea.

I've used IO Completion ports on Windows before, and found it to be pretty useful API but I guess this is also a useful addition.

Basically no good idea goes uncopied by Microsoft :)

https://learn.microsoft.com/en-us/windows/win32/api/ioringap...

>Minimum supported client Windows Build 22000

Alas I have no idea from that what the lowest version of Windows that supports this API is though.

Build 22000 is Windows 10 21H2.
Is there something similar on macOS/iOS?
Kqueue! Not the same design or as flexible as io_uring though.