parallel-io: Combinators for executing IO actions in parallel on a thread pool.

[ bsd3, concurrency, library ] [ Propose Tags ]

This package provides combinators for sequencing IO actions onto a thread pool. The thread pool is guaranteed to contain no more unblocked threads than a user-specified upper limit, thus minimizing contention.

Furthermore, the parallel combinators can be used reentrantly - your parallel actions can spawn more parallel actions - without violating this property of the thread pool.

The package is inspired by the thread http://thread.gmane.org/gmane.comp.lang.haskell.cafe/56499/focus=56521. Thanks to Neil Mitchell and Bulat Ziganshin for some of the code this package is based on.

Flags

Automatic Flags
NameDescriptionDefault
benchmark

Build the benchmarking tool

Disabled
fuzz

Build the fuzzing tool for discovering deadlocks

Disabled
tests

Build the test runner

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

Versions [RSS] 0.2, 0.2.1, 0.2.1.1, 0.2.2, 0.3.0, 0.3.0.1, 0.3.0.2, 0.3.1, 0.3.2, 0.3.2.1, 0.3.2.2, 0.3.3, 0.3.4, 0.3.5
Dependencies base (>=4 && <5), containers (>=0.2 && <0.7), extensible-exceptions (>0.1.0.1), HUnit (>=1.2 && <2), random (>=1.0 && <1.3), test-framework (>=0.1.1), test-framework-hunit (>=0.1.1), time (>=1) [details]
License BSD-3-Clause
Author Max Bolingbroke <batterseapower@hotmail.com>, Neil Mitchell <ndmitchell@gmail.com>, Bulat Ziganshin <bulat.ziganshin@gmail.com>
Maintainer Max Bolingbroke <batterseapower@hotmail.com>
Category Concurrency
Home page http://batterseapower.github.com/parallel-io
Uploaded by MaxBolingbroke at 2021-06-03T20:10:50Z
Distributions LTSHaskell:0.3.5, NixOS:0.3.5, Stackage:0.3.5
Reverse Dependencies 24 direct, 128 indirect [details]
Executables fuzz-seq, fuzz, tests, benchmark
Downloads 34317 total (43 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2021-06-03 [all 1 reports]