packages feed

lockfree-queue-0.2.3: lockfree-queue.cabal

Name:                lockfree-queue
Version:             0.2.3
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/wiki
Bug-Reports: https://github.com/rrnewton/haskell-lockfree/issues

-- Version History:
-- 0.1 -- initial version
-- 0.2 -- switched to MutVar 
-- 0.2.0.1 -- use ticketed CAS internally; add support for -prof mode
-- 0.2.0.2 -- minor: fix for upstream change
-- 0.2.3   -- bump for upstream change

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, abstract-deque >= 0.3, bytestring,
                     atomic-primops >= 0.6
  -- Build failure on GHC 7.2:
  --                     queuelike
  ghc-options: -O2

Source-Repository head
    Type:         git
    Location:     git://github.com/rrnewton/haskell-lockfree.git


Test-Suite test-lockfree-queue
    type:       exitcode-stdio-1.0
    main-is:    Test.hs
    build-depends: base >= 4.4.0.0 && < 5, bytestring, 
                   abstract-deque >= 0.3, abstract-deque-tests >= 0.3, 
                   HUnit, test-framework, test-framework-hunit,
                   ghc-prim, atomic-primops >= 0.6

    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