blockio: Perform batches of disk I/O operations.

[ apache, library, system ] [ Propose Tags ] [ Report a vulnerability ]

Perform batches of disk I/O operations. Performing batches of disk I/O can lead to performance improvements over performing each disk I/O operation individually. Performing batches of disk I/O concurrently can lead to an even bigger performance improvement depending on the implementation of batched I/O.

The batched I/O functionality in the library is separated into an abstract interface and implementations of that abstract interface. The advantage of programming against an abstract interface is that code can be agnostic to the implementation of the interface, allowing implementations to be freely swapped out. The library provides multiple implementations of batched I/O: platform-dependent implementations using the real file system (with asynchronous I/O), and a simulated implementation for testing purposes.

See the System.FS.BlockIO module for an example of how to use the library.

library blockio

library blockio:sim

Modules

[Index] [Quick Jump]

  • System
    • FS
      • BlockIO
        • System.FS.BlockIO.Sim

Flags

Manual Flags

NameDescriptionDefault
serialblockio

Use serial HasBlockIO regardless of the operating system

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1
Change log CHANGELOG.md
Dependencies base (>=4.16 && <4.22), blockio, blockio-uring (>=0.1 && <0.2), bytestring (>=0.11 && <0.13), deepseq (>=1.4 && <1.6), fs-api (>=0.4 && <0.5), fs-sim (>=0.4 && <0.5), io-classes (>=1.6 && <1.8 || >=1.8.0.1 && <1.9), primitive (>=0.9 && <0.10), unix (>=2.8.7 && <2.9), vector (>=0.13 && <0.14), Win32 (>=2.14 && <2.15) [details]
Tested with ghc ==9.2 || ==9.4 || ==9.6 || ==9.8 || ==9.10 || ==9.12
License Apache-2.0[multiple license files]
Copyright (c) 2023-2025 Cardano Development Foundation
Author Duncan Coutts, Joris Dral, Matthias Heinzel, Wolfgang Jeltsch, Wen Kokke, and Alex Washburn
Maintainer joris@well-typed.com
Category System
Source repo head: git clone https://github.com/IntersectMBO/lsm-tree(blockio)
this: git clone https://github.com/IntersectMBO/lsm-tree(tag blockio-0.1.0.0)(blockio)
Uploaded by jdral at 2025-07-15T09:57:55Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 13 total (7 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user [build log]
All reported builds failed as of 2025-07-15 [all 2 reports]