Comment by wtallis
1 day ago
My favorite example of this is how Windows NT has had async IO forever, while also being notorious for having slower storage performance than Linux. And when Linux finally got an async API worth using, Microsoft immediately set about cloning it for Windows.
Theoretical or aesthetic advantages are no guarantee that the software in question will actually be superior in practice.
ASync I/O isn't limited to just storage, though. It's /all/ I/O.
And yes, the layered storage stack does have a performance penalty to it. But it's also infinitely more flexible, if that is what you need. Linux still lacks IOCP (which io_uring is not a replacement for).
Windows' VMM and OOM is also generally much better.
> this is how Windows NT has had async IO
Pretty much what I was thinking of. My understanding from reading some commentary in this area is the Linux implementation is yet a little botched due to how it handles waiting threads.