|
|
|
|
|
by hinkley
189 days ago
|
|
io_uring is a tool for maximizing throughput not minimizing latency. So the correct measure is transactions per millisecond not milliseconds per transaction. Little’s Law applies when the task monopolizes the time of the worker. When it is alternating between IO and compute, it can be off by a factor of two or more. And when it’s only considering IO, things get more muddled still. |
|
some features are explicitly designed to minimize latency. I'm thinking of the IORING_SETUP_IOPOLL and IORING_SETUP_SQPOLL flags for io_uring_setup .
I'm not making that up, the manpage says that: https://manpages.debian.org/unstable/liburing-dev/io_uring_s...