thread-local-storage: Several options for thread-local-storage (TLS) in Haskell.
Thread-local storage, or TLS, is an important ingredient in many algorithms and data structures.
The GHC compiler does not provide a built-in notion of TLS either at the IO-thread or OS thread level. This package provides a few different implementations of a simple TLS API.
All exported public modules provide exactly the same interface with different implementations. Run the included criterion benchmark suite to ascertain which performs the best on your platform.
Example criterion benchmark data can be found here (from an Intel Ivy-Bridge i7-3770 desktop): http://www.cs.indiana.edu/~rrnewton/datasets/xmen_tls_report.html
[Skip to Readme]
Downloads
- thread-local-storage-0.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.1, 0.1.2, 0.2 (info) |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | base (>=4.6 && <5.0), containers (>=0.5) [details] |
| Tested with | ghc ==7.6.3, ghc ==7.8.4, ghc ==7.10.3, ghc ==8.0.2, ghc ==8.2.2, ghc ==8.4.3, ghc ==8.6.1 |
| License | BSD-3-Clause |
| Author | Ryan Newton |
| Maintainer | rrnewton@gmail.com |
| Category | System |
| Home page | https://github.com/rrnewton/thread-local-storage |
| Bug tracker | https://github.com/rrnewton/thread-local-storage/issues |
| Source repo | head: git clone https://github.com/rrnewton/thread-local-storage |
| Uploaded | by ryanglscott at 2018年07月01日T12:15:51Z |
| Distributions | LTSHaskell:0.2, NixOS:0.2, Stackage:0.2 |
| Reverse Dependencies | 4 direct, 11 indirect [details] |
| Downloads | 6576 total (21 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs available [build log] Last success reported on 2018年07月01日 [all 1 reports] |
Readme for thread-local-storage-0.2
[back to package description]thread-local-storage
Hackage Hackage Dependencies Haskell Programming Language BSD3 License Build
See .cabal file for description.
Here are some example benchmark results (on an Ivy Bridge i7-3770), with a typical time of 10.4 nanoseconds to get to a TLS variable given one IO thread per OS thread:
example benchmarks