4 ms·
IOCP is great and was ahead of Linux for decades, but io_uring is also great. It's a different model, not a poor copy.
by loeg 10mo ago
IOCP is great and was ahead of Linux for decades, but io_uring is also great. It's a different model, not a poor copy.
- torginus 10mo agoI think they are a bit different - in the Windows kernel, all IO is asynchronous on the driver level, on Linux, it's not. io_uring didn't change that, it only got rid of the syscall overhead (which is still present on Windows), so in actuality they are two different technical solutions that affect different levels of the stack. In practice, Linux I/O is much faster, owing in part to the fact that Windows file I/O requires locking the file, while Linux does not.
- senderista 10mo agoio_uring makes synchronous syscalls async simply by offloading them to a pool of kernel threads, just like people have done for decades in userspace.
- layla5alive 10mo agoIt's not the async part, it's the not invoking the function part - io_uring replaces syscalls with producer consumer ring buffers.