@hackage memorypool0.1.0.0
basic memory pool outside of haskell heap/GC
Categories
License
BSD-3-Clause
Maintainer
Lennart Spitzner <hexagoxel@hexagoxel.de>
Links
Versions
- 0.1.0.0 Tue, 1 Aug 2017
Installation
Dependencies (6)
- base >=4.7 && <4.11
- containers >=0.5.6.2 && <0.6
- transformers >=0.4.2.0 && <0.6
- unsafe >=0.0 && <0.1
- vector >=0.11.0.0 && <0.13
- void >=0.7.1 && <0.8 Show all…
Dependents (1)
@hackage/acme-everything
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.