3 ms·
Windows has no epoll(), but of course that doesn't matter for games.
by xxs 5y ago
Windows has no epoll(), but of course that doesn't matter for games.
- lucian1900 5y agoWindows has completion ports (IOCP), which are much better. At least finally Linux is also getting completion based IO with io_uring.
- yxhuvud 5y agoSeems windows is getting ring buffers based io too, eventually: https://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... Not identical to io_uring, but close enough that porting between them will probably be quite simple.
- lucian1900 5y agoSure, the ring buffer part of also useful. The competition triggered part is what was already there.
- vardump 5y agoWindows does have I/O completion ports, which is, frankly, superior. Then again, Linux has io_uring. Again, pointless in the big picture. Most of the time these details are hidden by libraries.
- maccard 5y ago> Again, pointless in the big picture. Most of the time these details are hidden by libraries. Except for when they're not, or those libraries don't expose the "one little implementation detail", and a platform hack sneaks in, and _thats_ how we end up with "well it works fine on windows and we use asio so shrug". Unfortunately games are really bad for doing this in my experience (and I'm guilty of doing it on occasion too).
- merb 5y agoBtw Windows built an api based on io_uring https://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...
- vardump 5y agoNice! Haven't heard about this before, must be something really new? Anyways given extremely high syscall cost due to Meltdown workarounds, batching multiple operations makes more and more sense.
- merb 5y agowell as far as I know I've read something about it either on lwn or hn and it's really really new. I'm not exactly sure if it is even possible to use.
- deleted 5y ago[deleted]