name: thread-local-storage
version: 0.1.2
synopsis: Several options for thread-local-storage (TLS) in Haskell.
description:
.
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>
homepage: https://github.com/rrnewton/thread-local-storage
bug-reports: https://github.com/rrnewton/thread-local-storage/issues
license: BSD3
license-file: LICENSE
author: Ryan Newton
maintainer: rrnewton@gmail.com
category: System
build-type: Simple
cabal-version: >=1.10
extra-source-files: CHANGELOG.md, README.md, Data/TLS/TLS_Sig.hs
source-repository head
type: git
location: https://github.com/rrnewton/thread-local-storage
library
exposed-modules: Data.TLS.GHC,
Data.TLS.PThread
-- Not finished yet:
-- Data.TLS.GCC
Data.TLS.PThread.Internal
other-extensions: BangPatterns, NamedFieldPuns, CPP
build-depends: base >=4.6 && < 5.0,
containers >=0.5
default-language: Haskell2010
ghc-options: -Wall -O2
c-sources: cbits/helpers.c
extra-libraries: pthread
benchmark bench-haskell-tls
main-is: Main.hs
hs-source-dirs: ./bench/
type: exitcode-stdio-1.0
build-depends: thread-local-storage
build-depends: base >= 4.6 && < 5.0,
criterion >= 1.2.1,
atomic-primops >= 0.6.0.6
default-language: Haskell2010
ghc-options: -Wall -rtsopts -O2 -threaded -with-rtsopts=-T
test-suite test-tls
main-is: Main.hs
hs-source-dirs: tests
type: exitcode-stdio-1.0
build-depends: base >= 4.6 && < 5.0,
atomic-primops >= 0.6.0.6,
thread-local-storage
default-language: Haskell2010
ghc-options: -Wall -rtsopts -O2 -threaded -with-rtsopts=-N4