3 ms·
Which is why parent is calling for standardization, so that people don't usually need to be experts. I reject that there are a diverse range of async abstractio
by vacuity 2y ago
Which is why parent is calling for standardization, so that people don't usually need to be experts. I reject that there are a diverse range of async abstractions that are all justified such that a given OS only supports some well. More likely, that means the designs are poorly done. Although I can't say anything if it's for backwards compatibility, how I loathe and crave it.
- jandrewrogers 2y agoThe bigger issue is that no OS was designed for expansive and flexible async functionality. The implementations reflect practical limitations of remaining compatible with the rest of the guarantees the kernel makes. I would love a portable standard, I’ve been doing async for a long time and I would benefit greatly, but I also understand why it hasn’t happened. A good standard would likely require every OS to materially redesign its internals in a way that would have backward compatibility issues for the other users of the system. I am not against the idea since I would clearly benefit personally, but I understand why the tradeoffs make it unlikely to happen. Even going from io_submit to io_uring just on Linux changes the way you need to architect your software, aside from API changes, and that is the same kernel. It deeply touches the behavior of the system.
- p_ing 2y ago> The bigger issue is that no OS was designed for expansive and flexible async functionality. The NT kernel was designed in this very way. All I/O in the NT kernel is async. It was one of the design principles.