The ttrie package

[ Tags: benchmark, 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]

Properties

Versions 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
Category Concurrency
Home page http://github.com/mcschroeder/ttrie
Bug tracker http://github.com/mcschroeder/ttrie/issues
Source repository head: git clone https://github.com/mcschroeder/ttrie.git
Uploaded Sat Nov 7 22:33:36 UTC 2015 by MichaelSchroeder
Distributions LTSHaskell:0.1.2.1, NixOS:0.1.2.1, Tumbleweed:0.1.2.1
Downloads 684 total (12 in the last 30 days)
Rating 0.0 (0 ratings) [clear rating]
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-11-13 [all 2 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for ttrie-0.1.2.1

[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.