Skip to content

Commit

Permalink
cabal-fmt on the cabal file
Browse files Browse the repository at this point in the history
  • Loading branch information
jorisdral committed Mar 6, 2024
1 parent 99776ad commit 16be37c
Showing 1 changed file with 62 additions and 48 deletions.
110 changes: 62 additions & 48 deletions blockio-uring.cabal
Original file line number Diff line number Diff line change
@@ -1,57 +1,71 @@
cabal-version: 3.4

name: blockio-uring
version: 0.1.0.0
synopsis: Perform batches of asynchronous disk IO operations.
description: Support for 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.

license: MIT
license-file: LICENSE
author: Duncan Coutts
maintainer: duncan@well-typed.com
copyright: (c) Well-Typed LLP 2022 - 2024
category: System
build-type: Simple
tested-with: GHC ==9.2 || ==9.4 || ==9.6 || ==9.8
extra-doc-files: CHANGELOG.md
README.md
cabal-version: 3.4
name: blockio-uring
version: 0.1.0.0
synopsis: Perform batches of asynchronous disk IO operations.
description:
Support for 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.

license: MIT
license-file: LICENSE
author: Duncan Coutts
maintainer: duncan@well-typed.com
copyright: (c) Well-Typed LLP 2022 - 2024
category: System
build-type: Simple
tested-with: GHC ==9.2 || ==9.4 || ==9.6 || ==9.8
extra-doc-files:
CHANGELOG.md
README.md

source-repository head
type: git
location: https://github.com/well-typed/blockio-uring

library
exposed-modules: System.IO.BlockIO
other-modules: System.IO.BlockIO.URing
System.IO.BlockIO.URingFFI
build-depends: base >= 4.16 && < 4.20
, array ^>= 0.5
, unix ^>= 2.8
pkgconfig-depends: liburing
default-language: Haskell2010
ghc-options: -Wall
exposed-modules: System.IO.BlockIO
other-modules:
System.IO.BlockIO.URing
System.IO.BlockIO.URingFFI

build-depends:
, array ^>=0.5
, base >=4.16 && <4.20
, unix ^>=2.8

pkgconfig-depends: liburing
default-language: Haskell2010
ghc-options: -Wall

benchmark bench
default-language: Haskell2010
type: exitcode-stdio-1.0
hs-source-dirs: benchmark, .
main-is: Bench.hs
build-depends: base, array, unix, random, time, containers, async
pkgconfig-depends: liburing
other-modules: System.IO.BlockIO
System.IO.BlockIO.URing
System.IO.BlockIO.URingFFI
ghc-options: -Wall -threaded
default-language: Haskell2010
type: exitcode-stdio-1.0
hs-source-dirs: benchmark .
main-is: Bench.hs
build-depends:
, array
, async
, base
, containers
, random
, time
, unix

pkgconfig-depends: liburing
other-modules:
System.IO.BlockIO
System.IO.BlockIO.URing
System.IO.BlockIO.URingFFI

ghc-options: -Wall -threaded

0 comments on commit 16be37c

Please sign in to comment.