on 4eaeb10 help sign in
57 lines 1.7 kB history raw
1-- |
2-- Module : Data.Stream
3-- Copyright : (c) 2018 Composewell Technologies
4-- License : BSD-3-Clause
5-- Maintainer : streamly@composewell.com
7{-# LANGUAGE CPP #-}
8{-# LANGUAGE FlexibleContexts #-}
9{-# LANGUAGE ScopedTypeVariables #-}
10{-# LANGUAGE RankNTypes #-}
12module Main (main) where
14import Streamly.Benchmark.Common.Handle (mkHandleBenchEnv)
16import qualified Stream.Eliminate as Elimination
17import qualified Stream.Exceptions as Exceptions
18import qualified Stream.Expand as NestedStream
19import qualified Stream.Generate as Generation
20import qualified Stream.Lift as Lift
21import qualified Stream.Reduce as NestedFold
22#ifdef USE_PRELUDE
23import qualified Stream.Split as Split
24#endif
25import qualified Stream.Transform as Transformation
27import Streamly.Benchmark.Common
29moduleName :: String
30moduleName = "Data.Stream"
32-------------------------------------------------------------------------------
33-- Main
34-------------------------------------------------------------------------------
36-- In addition to gauge options, the number of elements in the stream can be
37-- passed using the --stream-size option.
38--
39main :: IO ()
40main = do
41 env <- mkHandleBenchEnv
42 runWithCLIOpts defaultStreamSize (allBenchmarks env)
44 where
46 allBenchmarks env size = Prelude.concat
47 [ Generation.benchmarks moduleName size
48 , Elimination.benchmarks moduleName size
49 , Exceptions.benchmarks moduleName env size
50#ifdef USE_PRELUDE
51 , Split.benchmarks moduleName env
52#endif
53 , Transformation.benchmarks moduleName size
54 , NestedFold.benchmarks moduleName size
55 , Lift.benchmarks moduleName size
56 , NestedStream.benchmarks moduleName size
57 ]