compact-list: An append only list in a compact region

[ bsd3, data, library ] [ Propose Tags ]

If you hold on to a large data structure in garbage collected (GC) memory for relatively longer times it puts undue pressure on GC, unnecessarily increasing the work done by GC and also increasing the duration of GC pauses. A CompactList allows you to keep a large list in a Compact Region not touched by GC, thus avoiding any GC overhead. This is essentially like a convenient in-memory append only file where you can write a list of Haskell values without having to marshall or serialize them.


[Skip to Readme]
Versions 0.1.0
Change log Changelog.md
Dependencies base (>=4.8 && <5), ghc-prim (>=0.2 && <0.6) [details]
License BSD-3-Clause
Copyright 2018 Harendra Kumar
Author Harendra Kumar
Maintainer harendra.kumar@gmail.com
Category Data
Home page https://github.com/composewell/compact-list
Bug tracker https://github.com/composewell/compact-list/issues
Source repo head: git clone https://github.com/composewell/compact-list
Uploaded by harendra at Thu Sep 6 08:45:24 UTC 2018
Distributions NixOS:0.1.0
Downloads 49 total (16 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-09-06 [all 1 reports]
Hackage Matrix CI

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for compact-list-0.1.0

[back to package description]

compact-list

Hackage Build Status Windows Build status

If you hold on to a large data structure in garbage collected (GC) memory for relatively longer times it puts undue pressure on GC, unnecessarily increasing the work done by GC and also increasing the duration of GC pauses. A CompactList allows you to keep a large list in a Compact Region not touched by GC, thus avoiding any GC overhead. This is essentially like a convenient in-memory append only file where you can write a list of Haskell values without having to marshall or serialize them.