on c2aec50 help sign in
streamly/benchmark/NestedUnfold.hs
32 lines 910 B history raw
1-- |
2-- Module : NestedUnfold
3-- Copyright : (c) 2019 Composewell Technologies
4--
5-- License : BSD3
6-- Maintainer : streamly@composewell.com
8import Control.DeepSeq (NFData)
9import System.Random (randomRIO)
11import qualified NestedUnfoldOps as Ops
13import Gauge
15benchIO :: (NFData b) => String -> (Int -> IO b) -> Benchmark
16benchIO name f = bench name $ nfIO $ randomRIO (1,1) >>= f
18main :: IO ()
19main =
20 defaultMain
21 [ bgroup "unfold"
22 [ benchIO "toNull" $ Ops.toNull
23 , benchIO "toNull3" $ Ops.toNull3
24 , benchIO "concat" $ Ops.concat
25 , benchIO "toList" $ Ops.toList
26 , benchIO "toListSome" $ Ops.toListSome
27 , benchIO "filterAllOut" $ Ops.filterAllOut
28 , benchIO "filterAllIn" $ Ops.filterAllIn
29 , benchIO "filterSome" $ Ops.filterSome
30 , benchIO "breakAfterSome" $ Ops.breakAfterSome
31 ]
32 ]