Recent Linux kernel (5.1+) includes io_uring, a more efficient alternative to epoll. We could benefit from it and get a performance improvement in heavy network I/O scenarios.
Of course, in Node.js case we need changes made in libuv. There is an ongoing experiment aimed to add support for io_uring in libuv: https://github.com/libuv/libuv/pull/2322
As this feature should be experimental (at least initially), io_uring mode could be activated under a new flag.
The goal of this issue is to improve visibility of the libuv experiment and gather some feedback.
I鈥檓 happy to benchmark this if we have a matching Node PR. It鈥檚 very interesting!
@mcollina no, we don't have a Node.js counterpart PR yet. But I hope to submit one once I find out status of the libuv PR. Will post any updates here.
Most helpful comment
I鈥檓 happy to benchmark this if we have a matching Node PR. It鈥檚 very interesting!