lockfree-queue-0.2.0.1: lockfree-queue.cabal
Name: lockfree-queue
Version: 0.2.0.1
License: BSD3
License-file: LICENSE
Author: Ryan R. Newton
Maintainer: rrnewton@gmail.com
Category: Data, Concurrent
Build-type: Simple
Cabal-version: >=1.8
Homepage: https://github.com/rrnewton/haskell-lockfree-queue/wiki
-- Version History:
-- 0.1 -- initial version
-- 0.2 -- switched to MutVar
-- 0.2.0.1 -- use ticketed CAS internally; add support for -prof mode
Synopsis: Michael and Scott lock-free queues.
Description:
Michael and Scott queues are described in their PODC 1996 paper:
.
<http://dl.acm.org/citation.cfm?id=248052.248106>
.
These are single-ended concurrent queues based on a singlly linked
list and using atomic CAS instructions to swap the tail pointers.
As a well-known efficient algorithm they became the basis for Java's
@ConcurrentLinkedQueue@.
extra-source-files:
stress_test.sh
Library
exposed-modules: Data.Concurrent.Queue.MichaelScott,
Data.Concurrent.Queue.MichaelScott.DequeInstance
build-depends: base >= 4.4.0.0 && < 5,
ghc-prim, IORefCAS >= 0.2, abstract-deque, bytestring,
atomic-primops
-- Build failure on GHC 7.2:
-- queuelike
ghc-options: -O2
Source-Repository head
Type: git
Location: git://github.com/rrnewton/haskell-lockfree-queue.git
Test-Suite test-lockfree-queue
type: exitcode-stdio-1.0
main-is: Test.hs
build-depends: base >= 4.4.0.0 && < 5, IORefCAS >= 0.2, abstract-deque, bytestring,
HUnit, test-framework, test-framework-hunit,
ghc-prim, atomic-primops
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
-- Executable benchmark-lockfree-queue
-- main-is: Benchmark.hs
-- build-depends: base >= 4.4.0.0 && < 5, IORefCAS >= 0.2, abstract-deque, bytestring,
-- HUnit, test-framework, test-framework-hunit,
-- ghc-prim, atomic-primops
-- 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