3 ms·
Fantastic work. The improvements to the I/O manager are well worth the price of admission. I'm curious, is work underway to see similar gains made in the I/O m
by ch 16y ago
Fantastic work. The improvements to the I/O manager are well worth the price of admission.
I'm curious, is work underway to see similar gains made in the I/O manager on Windows?
Does Windows provide a similar construct as 'select()' and also something equivalent to the newer epoll/kqueue systems, such that boosting the I/O manager on Windows will be rather trivial, or is the Windows I/O subsystem so different that the GHC I/O manager must be designed completely differently on that platform?
- pufuwozu 16y agoThe Windows operating system presents a difficulty to our current design. Its support for scalable event notification is based around I/O completion ports, which are integrated tightly with the Windows threading mechanism, and which would require a considerable amount of replumbing to support. From http://www.serpentine.com/bos/files/ghc-event-manager.pdf http://www.serpentine.com/bos/files/ghc-event-manager.pdf
- stonemetal 16y agoWindows provides select just like everybody else. High performance IO in windows is done with IO Completion Ports it is a little more complicated than epoll.
- tibbe 16y agoWe need a Windows user who's willing to drive it. Bryan and I are happy to apply patches but neither of us are Windows developers.
- ch 16y agoSadly I too am not a Windows developer. That said, I've never before had such a compelling reason to become one. I do hope that someone more familiar with Windows takes up the torch.
- stonemetal 16y agoI would but I can't quite figure out GHC's build process.