@@ -8,23 +8,14 @@
8{-# LANGUAGE FlexibleContexts #-}
8{-# LANGUAGE FlexibleContexts #-}
9{-# LANGUAGE ScopedTypeVariables #-}
9{-# LANGUAGE ScopedTypeVariables #-}
11−module Streamly.Benchmark.Data.Stream.StreamK
19−where
11+module Main (main) where
21import Control.Monad (when)
13import Control.Monad (when)
22import Data.Maybe (isJust)
14import Data.Maybe (isJust)
24− (Monad, Int, (+), ($), (.), return, even, (>), (<=), div,
25− subtract, undefined, Maybe(..), not, (>>=),
26− maxBound, flip, (<$>), (<*>), round, (/), (**), (<), foldr, fmap)
27import System.Random (randomRIO)
15import System.Random (randomRIO)
17+ (tail, mapM_, foldl, last, map, mapM, concatMap, zip, init)
28import qualified Prelude as P
19import qualified Prelude as P
29import qualified Data.List as List
20import qualified Data.List as List
@@ -32,8 +23,9 @@ import qualified Streamly.Internal.Data.Stream.StreamK as S
32import qualified Streamly.Internal.Data.Stream.Prelude as SP
23import qualified Streamly.Internal.Data.Stream.Prelude as SP
33import qualified Streamly.Internal.Data.SVar as S
24import qualified Streamly.Internal.Data.SVar as S
35−import Streamly.Benchmark.Common (benchFold)
36−import Gauge (bench, nfIO, bgroup, Benchmark)
26+import Gauge (bench, nfIO, bgroup, Benchmark, defaultMain)
28+import Streamly.Benchmark.Common
38value, value2, value3, value16, maxValue :: Int
30value, value2, value3, value16, maxValue :: Int
39value = 100000
31value = 100000
@@ -416,9 +408,12 @@ filterAllInNestedList str = do
416-- Benchmarks
408-- Benchmarks
417-------------------------------------------------------------------------------
409-------------------------------------------------------------------------------
412+moduleName = "Data.Stream.StreamK"
419o_1_space :: [Benchmark]
414o_1_space :: [Benchmark]
420o_1_space =
415o_1_space =
421− [ bgroup "streamK"
416+ [ bgroup (o_1_space_prefix moduleName)
422 [ bgroup "generation"
417 [ bgroup "generation"
423 [ benchFold "unfoldr" toNull sourceUnfoldr
418 [ benchFold "unfoldr" toNull sourceUnfoldr
424 , benchFold "unfoldrM" toNull sourceUnfoldrM
419 , benchFold "unfoldrM" toNull sourceUnfoldrM
@@ -538,7 +533,7 @@ o_1_space =
539o_n_heap :: [Benchmark]
534o_n_heap :: [Benchmark]
540o_n_heap =
535o_n_heap =
541− [ bgroup "streamK"
536+ [ bgroup (o_n_heap_prefix moduleName)
542 [ bgroup "transformation"
537 [ bgroup "transformation"
543 [ benchFold "foldlS" (foldlS 1) sourceUnfoldrM
538 [ benchFold "foldlS" (foldlS 1) sourceUnfoldrM
@@ -551,7 +546,7 @@ benchK name f = bench name $ nfIO $ randomRIO (1,1) >>= toNull . f
552o_n_stack :: [Benchmark]
547o_n_stack :: [Benchmark]
553o_n_stack =
548o_n_stack =
554− [ bgroup "streamK"
549+ [ bgroup (o_n_stack_prefix moduleName)
555 [ bgroup "elimination"
550 [ bgroup "elimination"
556 [ benchFold "tail" tail sourceUnfoldrM
551 [ benchFold "tail" tail sourceUnfoldrM
557 , benchFold "nullTail" nullTail sourceUnfoldrM
552 , benchFold "nullTail" nullTail sourceUnfoldrM
@@ -581,7 +576,7 @@ o_n_stack =
582o_n_space :: [Benchmark]
577o_n_space :: [Benchmark]
583o_n_space =
578o_n_space =
584− [ bgroup "streamK"
579+ [ bgroup (o_n_space_prefix moduleName)
585 [ bgroup "elimination"
580 [ bgroup "elimination"
586 [ benchFold "toList" toList sourceUnfoldrM
581 [ benchFold "toList" toList sourceUnfoldrM
@@ -607,3 +602,12 @@ o_1_space_list =
607+main = defaultMain $ concat
609+ , [bgroup (o_1_space_prefix moduleName) o_1_space_list]