ttrie: Contention-free STM hash map

[ concurrency, library, mit ] [ Propose Tags ]

A contention-free STM hash map. "Contention-free" means that the map will never cause spurious conflicts. A transaction operating on the map will only ever have to retry if another transaction is operating on the same key at the same time.

This is an implementation of the transactional trie, which is basically a lock-free concurrent hash trie lifted into STM. For a detailed discussion, including an evaluation of its performance, see Chapter 3 of my master's thesis.


[Skip to Readme]
Versions [faq] 0.1, 0.1.0.0, 0.1.1, 0.1.2, 0.1.2.1 (info)
Change log changelog.md
Dependencies atomic-primops (>=0.6), base (>=4.7 && <5), hashable (>=1.2), primitive (>=0.5), stm (>=2) [details]
License MIT
Copyright (c) 2014-2015 Michael Schröder
Author Michael Schröder
Maintainer mc.schroeder@gmail.com
Revised Revision 2 made by MichaelSchroeder at Thu Jun 25 21:40:15 UTC 2015
Category Concurrency
Home page http://github.com/mcschroeder/ttrie
Bug tracker http://github.com/mcschroeder/ttrie/issues
Source repo head: git clone https://github.com/mcschroeder/ttrie.git
Uploaded by MichaelSchroeder at Thu May 28 12:27:21 UTC 2015
Distributions LTSHaskell:0.1.2.1, NixOS:0.1.2.1, Stackage:0.1.2.1
Downloads 3134 total (178 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2015-05-28 [all 1 reports]

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 ttrie-0.1.2

[back to package description]

A contention-free STM hash map for Haskell.

"Contention-free" means that the map will never cause spurious conflicts. A transaction operating on the map will only ever have to retry if another transaction is operating on the same key at the same time.

This is an implementation of the transactional trie, which is basically a lock-free concurrent hash trie lifted into STM. For a detailed discussion, including an evaluation of its performance, see Chapter 4 of my master's thesis.