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