thread-local-storage 0.1.1 → 0.1.2
raw patch · 4 files changed
+9/−6 lines, 4 filesdep ~criterion
Dependency ranges changed: criterion
Files
- CHANGELOG.md +3/−0
- README.md +1/−0
- bench/Main.hs +3/−4
- thread-local-storage.cabal +2/−2
CHANGELOG.md view
@@ -1,3 +1,6 @@+## 0.1.2 [2017.06.23]+* Fix the benchmark suite with `criterion-1.2`+ ## 0.1.1 [2017.01.22] * Expose `Data.TLS.PThread.Internal`. Note that there are no API guarantees whatsoever with this module, so use it with caution.
README.md view
@@ -3,6 +3,7 @@ [](http://packdeps.haskellers.com/reverse/thread-local-storage) [][Haskell.org] [][tl;dr Legal: BSD3]+[](https://travis-ci.org/rrnewton/thread-local-storage) [Hackage: thread-local-storage]: http://hackage.haskell.org/package/thread-local-storage
bench/Main.hs view
@@ -10,7 +10,6 @@ -- import qualified Data.TLS.GCC as GCC import Criterion-import Criterion.Types import Criterion.Main import Data.Atomics.Counter @@ -78,7 +77,7 @@ ---------------------------------------------------------------------------------------------------- benchPar0 :: Int -> IO a -> (a -> IO ()) -> (a -> IO ()) -> Benchmarkable-benchPar0 numT new fn shutd = Benchmarkable $ \ iters -> do+benchPar0 numT new fn shutd = toBenchmarkable $ \ iters -> do x <- new numCap <- getNumCapabilities -- We compute the number of iterations such that the time would be@@ -101,7 +100,7 @@ -- | Benchmarking the same action on ALL of N threads. -- This version uses MVar synchronization. benchPar1 :: Int -> IO () -> Benchmarkable-benchPar1 num act = Benchmarkable $ \ iters -> do+benchPar1 num act = toBenchmarkable $ \ iters -> do mvs <- forM [0..num-1] $ \ n -> do v <- newEmptyMVar _ <- forkOn n $ do rep (fromIntegral iters) act@@ -112,7 +111,7 @@ -- | This version never blocks on an MVar. benchPar2 :: Int -> IO () -> Benchmarkable-benchPar2 num act = Benchmarkable $ \ iters -> do+benchPar2 num act = toBenchmarkable $ \ iters -> do done <- newCounter 0 let waitCounter = do x <- readCounter done unless (num == x) waitCounter
thread-local-storage.cabal view
@@ -1,5 +1,5 @@ name: thread-local-storage-version: 0.1.1+version: 0.1.2 synopsis: Several options for thread-local-storage (TLS) in Haskell. description: .@@ -53,7 +53,7 @@ type: exitcode-stdio-1.0 build-depends: thread-local-storage build-depends: base >= 4.6 && < 5.0,- criterion >= 1.0,+ criterion >= 1.2.1, atomic-primops >= 0.6.0.6 default-language: Haskell2010 ghc-options: -Wall -rtsopts -O2 -threaded -with-rtsopts=-T