4 ms·
This used to be the case, but with io_uring, Linux has very much non-broken buffered async I/O. (Windows has copied io_uring pretty much verbatim now, but that'
by Sesse__ 5y ago
This used to be the case, but with io_uring, Linux has very much non-broken buffered async I/O. (Windows has copied io_uring pretty much verbatim now, but that's a different story.)
- gavinray 5y agoCould you expand more on the Windows io_uring bit please? I have run Debian based Linux my entire life and recently moved circumstantially to Windows. I have no idea how it's kernel model works and I find io_uring exciting. Wasn't aware of any adoption of io_uring ideas in Windows land, sounds interesting
- ptrwis 5y agohttps://windows-internals.com/i-o-rings-when-one-i-o-operation-is-not-enough/ https://windows-internals.com/i-o-rings-when-one-i-o-operati... https://docs.microsoft.com/en-us/windows/win32/api/ioringapi/ https://docs.microsoft.com/en-us/windows/win32/api/ioringapi...
- tatersolid 5y agoWindows has had “IO completion ports” since the 1990s which work well and are high performance async for disk/network/other IO operations.
- Sesse__ 5y agoThis isn't the same as the old Windows async I/O. ptrwis' links are what I thought of (and it's essentially a 1:1 copy of io_uring, as I understand it).