Name: chaselev-deque
Version: 0.4
License: BSD3
License-file: LICENSE
Author: Ryan R. Newton, Edward Kmett
Maintainer: rrnewton@gmail.com
Category: Data, Concurrent
Build-type: Simple
Cabal-version: >=1.8
-- Version history:
-- 0.1.1 -- bump for fixing bugs! First release candidate.
-- 0.1.2
-- 0.1.3 -- small release to fix version deps before atomic-primops api change
-- 0.3 -- bump to go along with atomic-primops 0.3
-- 0.4 -- bump to go along with atomic-primops 0.4
Homepage: https://github.com/rrnewton/haskell-lockfree-queue/wiki
Synopsis: Chase & Lev work-stealing lock-free double-ended queues (deques).
Description:
A queue that is push/pop on one end and pop-only on the other. These are commonly
used for work-stealing.
This implementation derives directly from the pseudocode in the 2005 SPAA paper:
.
"http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.170.1097&rep=rep1&type=pdf"
Flag debug
Description: Enable the extra internal checks.
Default: False
Library
exposed-modules: Data.Concurrent.Deque.ChaseLev.DequeInstance,
Data.Concurrent.Deque.ChaseLev
-- Data.Concurrent.Deque.ChaseLev2
-- Disabling this [2012.03.08]. It got terrible performance anyway:
-- Data.Concurrent.Deque.ReactorDeque
other-modules: Data.Concurrent.Deque.ChaseLevUnboxed
build-depends: base >= 4.4.0.0 && < 5, array, transformers, bits-atomic,
abstract-deque >= 0.2.2 && < 0.3, vector, ghc-prim,
atomic-primops >= 0.4 && < 0.5
-- IORefCAS >= 0.2
build-depends: ghc-prim
ghc-options: -O2
if flag(debug)
cpp-options: -DDEBUGCL
Source-Repository head
Type: git
Location: git://github.com/rrnewton/haskell-lockfree-queue.git
Test-Suite test-chaselev-deque
type: exitcode-stdio-1.0
main-is: Test.hs
build-depends: base >= 4.4.0.0 && < 5, abstract-deque >= 0.2.2 && < 0.3,
HUnit, test-framework, test-framework-hunit,
atomic-primops >= 0.4 && < 0.5, vector, ghc-prim, array
-- IORefCAS >= 0.2
build-depends: containers
ghc-options: -O2 -threaded -rtsopts
-- ghc-options: -O2 -threaded -rtsopts
-- -- Debugging generated code:
-- ghc-options: -keep-tmp-files -dsuppress-module-prefixes -ddump-to-file -ddump-core-stats -ddump-simpl-stats -dcore-lint -dcmm-lint
-- ghc-options: -ddump-ds -ddump-simpl -ddump-stg -ddump-asm -ddump-bcos -ddump-cmm -ddump-opt-cmm -ddump-inlinings