packages feed

streaming-benchmarks-0.1.0: streaming-benchmarks.cabal

name:          streaming-benchmarks
category:      Benchmark
version:       0.1.0
license:       MIT
license-file:  LICENSE
author:        Harendra Kumar
maintainer:    Harendra Kumar
stability:     provisional
homepage:      http://github.com/composewell/streaming-benchmarks
bug-reports:   http://github.com/composewell/streaming-benchmarks/issues
copyright:     Copyright (c) 2017 Harendra Kumar
synopsis:      Benchmarks to compare streaming packages
description:
  Comprehensive, carefully crafted benchmarks for streaming operations and
  their comparisons across notable Haskell streaming libraries including
  `streaming`, `machines`, `pipes`, `conduit` and `streamly`.
  <http://hackage.haskell.org/package/streamly Streamly> is a new
  streaming library with high level and composable concurrency built-in, it is
  the primary motivation for these benchmarks. We have put a lot of effort to
  make sure that the benchmarks are correct, fair and reproducible.  Please
  report if you find something that is not right.
  .
  If you are using @stack@ then use @./run.sh@ to run the benchmarks;
  charts will be generated in the `charts` directory.
  .
  With any build tool, run the benchmarks with
  @--csv=results.csv@ as arguments and then use @makecharts results.csv@ to
  create the charts. In case you want to be pedantic about accurate results
  then you can run the benchmarks in the same way as @run.sh@ invokes them.

cabal-version: >= 1.10
tested-with: GHC==8.2.2
build-type:    Simple
extra-source-files:
  run.sh
  README.rst
  licenses/Readme.txt
  licenses/LICENSE.machines
  stack.yaml
  stack-pedantic.yaml

source-repository head
  type: git
  location: git://github.com/composewell/streaming-benchmarks.git

benchmark benchmarks
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  hs-source-dirs:   .
  main-is:          Benchmarks.hs
  ghc-options: -O2 -Wall -with-rtsopts "-T"
  if impl(ghc >= 8.0)
    ghc-options:    -Wcompat
                    -Wunrecognised-warning-flags
                    -Widentities
                    -Wincomplete-record-updates
                    -Wincomplete-uni-patterns
                    -Wredundant-constraints
                    -Wnoncanonical-monad-instances
                    -Wnoncanonical-monadfail-instances

  build-depends:
    base                == 4.*,
    deepseq             >= 1.4.0 && < 1.5,
    gauge               >= 0.2.1 && < 0.3,
    mtl                 >= 2     && < 2.3,
    random              >= 1.0   && < 2.0,
    transformers        >= 0.4   && < 0.6,

    conduit             >= 1.3   && < 1.4,
    list-transformer    >= 1.0.2 && < 1.1,
    list-t              >= 0.4.6 && < 1.1,
    logict              >= 0.5.0 && < 0.7,
    machines            >= 0.6.0 && < 0.7,
    pipes               >= 4     && < 4.4,
    -- does not build with lts-11.0
    -- simple-conduit      >= 0.4.0 && < 0.7,
    streaming           >= 0.1.4 && < 0.3,
    vector              >= 0.12  && < 0.13,
    streamly            >= 0.1.1 && < 0.2

executable makecharts
  default-language: Haskell2010
  default-extensions: OverloadedStrings
  hs-source-dirs:   .
  main-is: Charts.hs
  ghc-options: -Wall

  build-depends:
      base              == 4.*
    , bytestring        >= 0.9     && < 0.11
    , Chart             >= 1.6     && < 1.9
    , Chart-diagrams    >= 1.6     && < 1.9
    , csv               >= 0.1     && < 0.2
    , directory         >= 1.2     && < 1.4
    , split             >= 0.2     && < 0.3
    , text              >= 1.1.1   && < 1.3
    , typed-process     >= 0.1.0.0 && < 0.3