@hackage blockio-uring0.1.0.0

Perform batches of asynchronous disk IO operations.

This library supports disk I/O operations using the Linux io_uring API. The library supports submitting large batches of I/O operations in one go. It also supports submitting batches from multiple Haskell threads concurrently. The I/O only blocks the calling thread, not all other Haskell threads. In this style, using a combination of batching and concurrency, it is possible to saturate modern SSDs, thus achieving maximum I/O throughput. This is particularly helpful for performing lots of random reads.

The library only supports recent versions of Linux, because it uses the io_uring kernel API. It only supports disk operations, not socket operations. The library is tested only with Ubuntu (versions 22.04 and 24.04), but other Linux distributions should probably also work out of the box. Let us know if you run into any problems!