2-- Module : NestedUnfold
3-- Copyright : (c) 2019 Composewell Technologies
6-- Maintainer : streamly@composewell.com
8import Control.DeepSeq (NFData)
9import System.Random (randomRIO)
11import Common (parseCLIOpts)
13import qualified NestedUnfoldOps as Ops
17benchIO :: (NFData b) => String -> (Int -> IO b) -> Benchmark
18benchIO name f = bench name $ nfIO $ randomRIO (1,1) >>= f
20defaultStreamSize :: Int
21defaultStreamSize = 100000
25 (linearCount, cfg, benches) <- parseCLIOpts defaultStreamSize
26 linearCount `seq` runMode (mode cfg) cfg benches
28 [ benchIO "toNull" $ Ops.toNull linearCount
29 , benchIO "toNull3" $ Ops.toNull3 linearCount
30 , benchIO "concat" $ Ops.concat linearCount
31 -- , benchIO "toList" $ Ops.toList
32 , benchIO "toListSome" $ Ops.toListSome linearCount
33 , benchIO "filterAllOut" $ Ops.filterAllOut linearCount
34 , benchIO "filterAllIn" $ Ops.filterAllIn linearCount
35 , benchIO "filterSome" $ Ops.filterSome linearCount
36 , benchIO "breakAfterSome" $ Ops.breakAfterSome linearCount
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list