3 ms·
Well wasn't that a pleasant surprise to see you were quoting me :-) I was about to say it's so disappointing reading articles like this (about trying to improv
by trentnelson 9y ago
Well wasn't that a pleasant surprise to see you were quoting me :-)
I was about to say it's so disappointing reading articles like this (about trying to improve AIO on *nix) because no-one ever seems to want to look at the details of how NT does asynchronous I/O.
On the other hand, I'm not that surprised -- it's been about six years and a lot of study since I started looking at NT's async I/O implementation (or rather, their I/O request packet driven subsystem). The thing that stands out the most is how pervasive the architectural difference is with NT to afford such functionality -- you need coordination from the file system, cache manager, object manager, driver code, and executive at the kernel level, and a large swath of userland support (thread pools, overlapped I/O, completion ports, RIO etc) in order to leverage the functionality.