packages feed

ctrie-0.2: ctrie.cabal

name:                ctrie
version:             0.2
synopsis:            Non-blocking concurrent map
description:
  A non-blocking concurrent map implementation based on
  /lock-free concurrent hash tries/ (aka /Ctries/).
license:             MIT
license-file:        LICENSE
author:              Michael Schröder
maintainer:          mc.schroeder@gmail.com
homepage:            https://github.com/mcschroeder/ctrie
bug-reports:         https://github.com/mcschroeder/ctrie/issues
copyright:           (c) 2013-2017 Michael Schröder
category:            Concurrency, Data Structures
build-type:          Simple
cabal-version:       >=1.8

extra-source-files:  changelog.md

library
  exposed-modules:   Control.Concurrent.Map
  other-modules:     Control.Concurrent.Map.Array
  build-depends:
      base >=4.7 && <5
    , atomic-primops >=0.6
    , hashable >=1.2
    , primitive >=0.5

  ghc-options: -Wall

test-suite map-properties
  hs-source-dirs:    tests
  main-is:           MapProperties.hs
  type:              exitcode-stdio-1.0

  build-depends:
      base
    , QuickCheck >=2.5
    , test-framework >=0.8
    , test-framework-quickcheck2 >=0.3
    , containers >=0.5
    , hashable >=1.2
    , ctrie

benchmark sequential
  hs-source-dirs:    benchmarks
  main-is:           Sequential.hs
  type:              exitcode-stdio-1.0

  build-depends:
      base
    , hashable
    , random
    , transformers
    , deepseq
    , criterion
    , containers
    , unordered-containers
    , ctrie

  ghc-options: -O2 -rtsopts

benchmark concurrent
  hs-source-dirs:    benchmarks
  main-is:           Concurrent.hs
  type:              exitcode-stdio-1.0

  build-depends:
      base
    , async
    , hashable
    , random
    , random-shuffle
    , transformers
    , deepseq
    , criterion
    , containers
    , unordered-containers
    , ctrie
    , stm

  ghc-options: -O2 -rtsopts -threaded -with-rtsopts=-N

source-repository head
  type:     git
  location: https://github.com/mcschroeder/ctrie.git