2module Main (main) where
4#ifdef VERSION_criterion
9#ifdef VERSION_tasty_bench
10import Test.Tasty.Bench
18 [ bgroup "countdown" $ map countdown [1000, 10000]
19 , bgroup "filesize" $ map filesize [100, 1000]
22countdown :: Integer -> Benchmark
23countdown n = bgroup (show n)
25 [ bench "reference" $ nf countdownRef n
26 , bench "effectful (pure-static)" $ nf countdownEffectfulStatic n
27 , bench "effectful (pure-dynamic)" $ nf countdownEffectfulDynPure n
28 , bench "effectful (MVar-static)" $ nf countdownEffectfulMVar n
29 , bench "effectful (MVar-dynamic)" $ nf countdownEffectfulDynMVar n
30#ifdef VERSION_freer_simple
31 , bench "freer-simple" $ nf countdownFreerSimple n
34 , bench "eff" $ nf countdownEff n
36 , bench "mtl" $ nf countdownMtl n
37#ifdef VERSION_fused_effects
38 , bench "fused-effects" $ nf countdownFusedEffects n
40#ifdef VERSION_polysemy
41 , bench "polysemy" $ nf countdownPolysemy n
45 [ bench "effectful (pure-static)" $ nf countdownEffectfulStaticDeep n
46 , bench "effectful (pure-dynamic)" $ nf countdownEffectfulDynPureDeep n
47 , bench "effectful (MVar-static)" $ nf countdownEffectfulMVarDeep n
48 , bench "effectful (MVar-dynamic)" $ nf countdownEffectfulDynMVarDeep n
49#ifdef VERSION_freer_simple
50 , bench "freer-simple" $ nf countdownFreerSimpleDeep n
53 , bench "eff" $ nf countdownEffDeep n
55#ifdef VERSION_polysemy
56 , bench "polysemy" $ nf countdownPolysemyDeep n
58 , bench "mtl" $ nf countdownMtlDeep n
59#ifdef VERSION_fused_effects
60 , bench "fused-effects" $ nf countdownFusedEffectsDeep n
65filesize :: Int -> Benchmark
66filesize n = bgroup (show n)
68 [ bench "reference" $ nfAppIO ref_calculateFileSizes (take n files)
69 , bench "effectful" $ nfAppIO effectful_calculateFileSizes (take n files)
70#ifdef VERSION_freer_simple
71 , bench "freer-simple" $ nfAppIO fs_calculateFileSizes (take n files)
73 , bench "mtl" $ nfAppIO mtl_calculateFileSizes (take n files)
75 , bench "eff" $ nfAppIO eff_calculateFileSizes (take n files)
77#ifdef VERSION_polysemy
78 , bench "polysemy" $ nfAppIO poly_calculateFileSizes (take n files)
82 [ bench "effectful" $ nfAppIO effectful_calculateFileSizesDeep (take n files)
83#ifdef VERSION_freer_simple
84 , bench "freer-simple" $ nfAppIO fs_calculateFileSizesDeep (take n files)
87 , bench "eff" $ nfAppIO eff_calculateFileSizesDeep (take n files)
89#ifdef VERSION_polysemy
90 , bench "polysemy" $ nfAppIO poly_calculateFileSizesDeep (take n files)
92 , bench "mtl" $ nfAppIO mtl_calculateFileSizesDeep (take n files)
97 files = repeat "effectful.cabal"
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