2 ms·
I would recommend to do your own benchmarking for whatever application you want to use it in. This might require building a prototype. My understanding at the
by Matthias247 5y ago
I would recommend to do your own benchmarking for whatever application you want to use it in. This might require building a prototype.
My understanding at the moment is that there is not one io-uring but every kernel version has a different implementation, and it changed quite a bit over the years. In the earlier version it just delegated all IO to an in kernel threadpool. Especially for network IO that’s not ideal, since the alternatives (epoll) didn’t require a threadpool neither in kernel nor userspace. And this probably showed up in benchmarks. The implementation changed, but I can’t really tell how now everything works for disk and network IO with out reviewing source code again.
A comprehensive changelog which explains implementation changes and bugs in different versions would be super helpful