cabal-version: 2.2
name: streaming-benchmarks
version: 0.3.0
license: MIT
license-file: LICENSE
author: Composewell Technologies
maintainer: streamly@composewell.com
stability: provisional
homepage: https://streamly.composewell.com
bug-reports: http://github.com/composewell/streaming-benchmarks/issues
copyright: Copyright (c) 2017 Harendra Kumar
category: Streamly, Streaming, Benchmark
synopsis: Measures and compares the performance of streaming libraries
description:
This package provides micro-benchmarks to measure and compare the
performance of various streaming implementations in Haskell.
.
The following packages are supported:
.
* base (Haskell lists)
* streamly
* streaming
* pipes
* machines
* conduit
* drinkery
tested-with: GHC==8.8.4, GHC==8.10.4
build-type: Simple
extra-source-files:
Changelog.md
README.md
bench.sh
bench-report.nix
extra-doc-files:
docs/benchmarking-notes.md
source-repository head
type: git
location: git://github.com/composewell/streaming-benchmarks.git
flag dev
description: Development build
manual: True
default: False
flag fusion-plugin
description: Use fusion plugin for benchmarks
manual: True
default: False
benchmark bmarks
default-language: Haskell2010
type: exitcode-stdio-1.0
hs-source-dirs: .
main-is: Benchmarks.hs
other-modules: Benchmarks.Common
, Benchmarks.BenchTH
, Benchmarks.BenchmarkTH
-- Pure streams
, Benchmarks.List
, Benchmarks.DList
, Benchmarks.Sequence
, Benchmarks.Vector
, Benchmarks.StreamlyPure
, Benchmarks.StreamlyArray
, Benchmarks.ByteString
, Benchmarks.ByteStringLazy
, Benchmarks.Text
-- Monadic streams
, Benchmarks.Streamly
, Benchmarks.VectorStreams
, Benchmarks.Streaming
, Benchmarks.Conduit
, Benchmarks.Pipes
, Benchmarks.Machines
, Benchmarks.Drinkery
-- List transformers
-- , Benchmarks.LogicT
-- , Benchmarks.ListT
-- , Benchmarks.ListTransformer
ghc-options: -O2 -Wall -with-rtsopts "-T"
-fspec-constr-recursive=16
-fmax-worker-args=16
ghc-options: -Wcompat
-Wunrecognised-warning-flags
-Widentities
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wredundant-constraints
-Wnoncanonical-monad-instances
if flag(fusion-plugin)
ghc-options: -fplugin Fusion.Plugin
build-depends:
base == 4.*,
deepseq >= 1.4.0 && < 1.5,
gauge >= 0.2.3 && < 0.3,
mtl >= 2 && < 2.3,
random >= 1.0 && < 2.0,
transformers >= 0.4 && < 0.6,
template-haskell >= 2.10 && < 2.18,
bytestring >= 0.9 && < 0.12,
text >= 1.0 && < 1.3,
vector >= 0.12 && < 0.13,
streamly >= 0.8.0 && < 0.9,
streaming >= 0.1.4 && < 0.3,
machines >= 0.6.0 && < 0.8,
pipes >= 4 && < 4.4,
conduit >= 1.3 && < 1.4,
drinkery >= 0.3 && < 0.5,
dlist >= 0.7 && < 1.1,
containers >= 0.5 && < 0.7
-- does not build with lts-11.0
-- simple-conduit >= 0.4.0 && < 0.7,
-- list-transformer >= 1.0.2 && < 1.1,
-- list-t >= 0.4.6 && < 1.1,
-- logict >= 0.5.0 && < 0.7,
if flag(fusion-plugin)
build-depends:
fusion-plugin >= 0.2 && < 0.3
executable bench-report
default-language: Haskell2010
default-extensions: OverloadedStrings
hs-source-dirs: .
main-is: Charts.hs
ghc-options: -Wall
if flag(dev)
buildable: True
build-depends:
base == 4.*
, bench-show >= 0.3.0 && < 0.4
, bytestring >= 0.9 && < 0.12
, Chart >= 1.6 && < 2
, Chart-diagrams >= 1.6 && < 2
, csv >= 0.1 && < 0.2
, directory >= 1.2 && < 1.4
, split >= 0.2 && < 0.3
, text >= 1.1.1 && < 1.3
, transformers >= 0.4 && < 0.6
, typed-process >= 0.1.0.0 && < 0.3
, getopt-generics >= 0.11 && < 0.14
else
buildable: False