3 ms·
Being old isn't particularly interesting here. io_uring can do 2.5M IOPS per CPU core with a sufficiently fast SSD. I've never seen any suggestion that IO overh
by wtallis 6y ago
Being old isn't particularly interesting here. io_uring can do 2.5M IOPS per CPU core with a sufficiently fast SSD. I've never seen any suggestion that IO overhead on Windows can be cut down enough to get close to that. And if IOCP was actually good for this use case, Microsoft wouldn't be hyping a new DirectStorage API. (It might turn out that DirectStorage is new window dressing on top of IOCP, but I suspect they've had to cut stuff out of the existing IO stack to reduce overhead.)
- AaronFriel 6y agoI think my point was largely that Windows already has (1) from your list and it's already the gold standard on Windows, and has been available for some 25 years. I would be surprised if it wasn't part of the mechanism used in DirectStorage. io_uring does have a more ergonomic and POSIX API, but that's because it's on Linux! Fundamentally they're both completion port based replacements to polling for IO events and they're both capable of high throughput and horizontal scaling.
- wtallis 6y agoOk, the misunderstanding here may be that I was using "gold standard" as a superlative among async IO APIs in general, while you're using it as a superlative among a given platform's set of IO APIs, async or otherwise.