3 ms·
Yeah, that design is very similar to io_uring.
by yxhuvud 5y ago
Yeah, that design is very similar to io_uring.
- wtallis 5y agoThank goodness. That should minimize porting friction, and help both APIs catch on. I want to see lots of languages offering cross-platform abstractions over these to their standard libraries. I'm not familiar with the gory details on the Windows side, so can anyone say whether the file handles this API interacts are general enough that this can do or be extended to do network IO, the way io_uring can? Also, has there been any official confirmation about how this relates to DirectStorage? I've been expecting DirectStorage to include a clone of io_uring, and this seems to fit the bill.
- yShafir 5y agoThe handles are file handles, so they're as generic as it gets on Windows - those can be handles to files, sockets, pipes... This means it can be pretty easily extended to support other I/O operations so I hope that will be implemented by the time 21H2 is released. It does look like the plan is to implement io_uring on Windows so I'm optimistic. The APIs were actually originally implemented in the Storage DLL and not in KernelBase so looks like DirectStorage is going to be using this pretty soon.