The memorypool package

[ Tags: bsd3, library, system ] [ Propose Tags ]

See Readme

[Skip to Readme]


Change log
Dependencies base (>=4.7 && <4.11), containers (>= && <0.6), transformers (>= && <0.6), unsafe (==0.0.*), vector (>= && <0.13), void (>=0.7.1 && <0.8) [details]
License BSD3
Copyright Copyright (C) 2016 Lennart Spitzner
Author Lennart Spitzner
Maintainer Lennart Spitzner <>
Category System
Home page
Source repo head: git clone
Uploaded Fri Aug 26 14:31:30 UTC 2016 by lspitzner
Updated Tue Aug 1 22:26:49 UTC 2017 by lspitzner to revision 1   [What is this?]
Distributions NixOS:
Downloads 325 total (4 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Readme for memorypool-

[back to package description]


A very basic memory pool imlemented in haskell.

The core idea is that the pool allocates large chunks of memory that are some power-of-two factor (e.g. 256) of some base size (e.g. 10k). The user of the pool allocates chunks of a power-of-two factor of the base size (i.e. 10k, 20k, 40k, ..). This scheme avoids fragmentation due to weirdly-sized holes, but keep in mind that no compaction takes place, so this kind of fragmentation must be worked around manually if necessary.

The pool internally allocates memory on the C heap, i.e. outside of any haskell/GC heap.

Uses a buddy allocation strategy internally.