The memorypool package

[Tags:bsd3, library]

See Readme

[Skip to Readme]


Change log
Dependencies base (>=4.7 && <4.10), containers (>= && <0.6), transformers (>= && <0.6), unsafe (==0.0.*), vector (>= && <0.12), void (>=0.7.1 && <0.8) [details]
License BSD3
Copyright Copyright (C) 2016 Lennart Spitzner
Author Lennart Spitzner
Category System
Home page
Source repository head: git clone
Uploaded Fri Aug 26 14:31:30 UTC 2016 by lspitzner
Distributions NixOS:
Downloads 38 total (2 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for memorypool

Readme for memorypool-


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.