parallel-io

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

http://batterseapower.github.com/parallel-io

Version on this page:0.3.3@rev:2
LTS Haskell 22.14:0.3.5
Stackage Nightly 2024-03-28:0.3.5
Latest on Hackage:0.3.5

See all snapshots parallel-io appears in

BSD-3-Clause licensed by Max Bolingbroke, Neil Mitchell, Bulat Ziganshin
Maintained by Max Bolingbroke
This version can be pinned in stack with:parallel-io-0.3.3@sha256:d51f902591a4e5009785217e21b1a5650d3d80fb6dc52535eddf2270a2fdef55,3421

Module documentation for 0.3.3

  • Control
    • Control.Concurrent
      • Control.Concurrent.ParallelIO
        • Control.Concurrent.ParallelIO.Global
        • Control.Concurrent.ParallelIO.Local

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.