A high-performance striped resource pooling implementation

LTS Haskell 22.23:
Stackage Nightly 2024-05-26:
Latest on Hackage:

See all snapshots resource-pool appears in

BSD-3-Clause licensed by Andrzej Rybczak, Bryan O'Sullivan
Maintained by [email protected]
This version can be pinned in stack with:resource-pool-,1342

Module documentation for


Build Status Hackage Dependencies Stackage LTS Stackage Nightly

A high-performance striped resource pooling implementation for Haskell based on QSem.


resource-pool- (2023-01-16)

  • Require poolMaxResources to be not smaller than the number of stripes.
  • Add support for setting the number of stripes.
  • Hide the constructor of PoolConfig from the public API and provide defaultPoolConfig so that future additions to PoolConfig don’t require major version bumps.

resource-pool- (2022-06-15)

  • Add tryWithResource and tryTakeResource.

resource-pool- (2022-06-01)

  • Rewrite based on Control.Concurrent.QSem for better throughput and latency.
  • Make release of resources asynchronous exceptions safe.
  • Remove dependency on monad-control.
  • Expose the .Internal module.
  • Add support for introspection.
  • Add PoolConfig.