paritytech/parity-db

io_uring

Opened this issue · 4 comments

This is a significant performance win.

Are there any benchmarks that show significant performance gains for sync reads over memory mapped IO?

io_uring is entirely asynchronous.

This library provide synchronous API for reads. That's not going to change to async since we can't do async IO from WASM.
That said io_uring might still be faster than traditional IO when used in synchronous mode (that is waiting for the result after each operation). As it does not require a kernel call. It is not clear though if it will be faster than memory mapped IO.

As for commits, these are asynchronous already and are performed in the background. Commit performance is not that critical for substrate, since it works in parallel with block import.