-- Initial thread-local-storage.cabal generated by cabal init. For further
-- documentation, see http://haskell.org/cabal/users-guide/
name: thread-local-storage
version: 0.1.0.0
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 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>
license: BSD3
license-file: LICENSE
author: Ryan Newton
maintainer: rrnewton@gmail.com
-- copyright:
category: System
build-type: Simple
-- extra-source-files:
cabal-version: >=1.10
library
exposed-modules: Data.TLS.GHC, Data.TLS.PThread
-- Data.TLS.GCC,
other-modules: Data.TLS.PThread.Internal
other-extensions: BangPatterns, NamedFieldPuns, CPP
c-sources: cbits/helpers.c
build-depends: base >=4.6 && < 5.0,
containers >=0.5
-- hs-source-dirs:
default-language: Haskell2010
ghc-options: -O2
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.0,
atomic-primops >= 0.6.0.6
default-language: Haskell2010
ghc-options: -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: thread-local-storage
build-depends: base >= 4.6 && < 5.0,
atomic-primops >= 0.6.0.6
default-language: Haskell2010
ghc-options: -rtsopts -O2 -threaded -with-rtsopts=-N4
-- DUPLICATED, from above:
build-depends: containers >=0.5
c-sources: cbits/helpers.c