Open saltatory opened 4 months ago
In my benchmarking, I observed that submitting multiple operations simultaneously and then handling the results was significantly faster than submitting a single op, then waiting, then submitting another.
This is pretty much expected.
What are you suggesting in this issue? I can't see any code change.
I have been learning about and testing the io_uring and tokio_uring libraries over the past couple days.
I'm working on a performance-oriented filesystem application where reads and writes can be randomly distributed.
In my benchmarking, I observed that submitting multiple operations simultaneously and then handling the results was significantly faster than submitting a single op, then waiting, then submitting another.
This makes me want to be able to handle the submission and completion queues myself.
Both of the tests displayed above write 4K blocks to random offsets. Neither test is
O_DIRECT
. Neither test performssync_all
so we are just testing the buffering of IO in the Linux filesystem.As you can see there is significant difference in the submission speed between
await
-ing the IO and simply continuing submission as fast as theio_uring
submission queue will let us.