paritytech / parity-db

Experimental blockchain database
Apache License 2.0
265 stars 61 forks source link

io_uring #11

Open Demi-Marie opened 4 years ago

Demi-Marie commented 4 years ago

This is a significant performance win.

arkpar commented 4 years ago

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

Demi-Marie commented 4 years ago

io_uring is entirely asynchronous.

arkpar commented 4 years ago

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.

ordian commented 3 years ago

related to that: https://itnext.io/modern-storage-is-plenty-fast-it-is-the-apis-that-are-bad-6a68319fbc1a