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 4 of my master's thesis.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.1.0.0, 0.1.1, 0.1.2, 0.1.2.1, 0.1.2.2 (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
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 2021-10-30T23:14:58Z
Distributions LTSHaskell:0.1.2.2, NixOS:0.1.2.2, Stackage:0.1.2.2
Downloads 4090 total (19 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for ttrie-0.1.2.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 3 of my master's thesis.