The memorypool package

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

See Readme


[Skip to Readme]

Properties

Versions 0.1.0.0
Change log ChangeLog.md
Dependencies base (>=4.7 && <4.11), containers (>=0.5.6.2 && <0.6), transformers (>=0.4.2.0 && <0.6), unsafe (==0.0.*), vector (>=0.11.0.0 && <0.13), void (>=0.7.1 && <0.8) [details]
License BSD3
Copyright Copyright (C) 2016 Lennart Spitzner
Author Lennart Spitzner
Maintainer Lennart Spitzner <hexagoxel@hexagoxel.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
Updated Tue Aug 1 22:26:49 UTC 2017 by lspitzner to revision 1   [What is this?]
Distributions NixOS:0.1.0.0
Downloads 118 total (22 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

Modules

[Index]

Downloads

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-0.1.0.0

[back to package description]

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.