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 repository 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
Distributions NixOS:
Downloads 92 total (10 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




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.