The memorypool package

[Tags:bsd3, library]

See Readme


[Skip to Readme]

Properties

Versions 0.1.0.0
Change log ChangeLog.md
Dependencies base (>=4.7 && <4.10), containers (>=0.5.6.2 && <0.6), transformers (>=0.4.2.0 && <0.6), unsafe (==0.0.*), vector (>=0.11.0.0 && <0.12), void (>=0.7.1 && <0.8) [details]
License BSD3
Copyright Copyright (C) 2016 Lennart Spitzner
Author Lennart Spitzner
Maintainer lsp@informatik.uni-kiel.de
Category System
Home page https://github.com/lspitzner/memorypool
Source repository head: git clone https://github.com/lspitzner/memorypool.git
Uploaded Fri Aug 26 14:31:30 UTC 2016 by lspitzner
Distributions NixOS:0.1.0.0
Downloads 38 total (2 in the last 30 days)
Votes
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for memorypool

Readme for memorypool-0.1.0.0

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.