@@ -6,26 +6,12 @@ import Gauge (bench, bgroup, nf, nfAppIO)
6import Gauge.Main (defaultMain)
6import Gauge.Main (defaultMain)
7import qualified Weigh
7import qualified Weigh
9−import qualified Fused.Stateful as Fused
9+import qualified Fused.Bench as Fused
10−import qualified Freer.Stateful as Freer
10+import qualified Freer.Bench as Freer
11−import qualified Shallow.Stateful as Shallow
11+import qualified Shallow.Bench as Shallow
12−import qualified MTL.Stateful as MTL
12+import qualified MTL.Bench as MTL
13−import qualified Poly.Stateful as Poly
13+import qualified Poly.Bench as Poly
14−import qualified ExtEff.Stateful as ExtEff
14+import qualified ExtEff.Bench as ExtEff
16−import qualified Fused.StatefulExcept as Fused
17−import qualified Freer.StatefulExcept as Freer
18−import qualified Shallow.StatefulExcept as Shallow
19−import qualified MTL.StatefulExcept as MTL
20−import qualified Poly.StatefulExcept as Poly
21−import qualified ExtEff.StatefulExcept as ExtEff
23−import qualified Fused.HTTP as Fused
24−import qualified Freer.HTTP as Freer
25−import qualified MTL.HTTP as MTL
26−import qualified Shallow.HTTP as Shallow
27−import qualified Poly.HTTP as Poly
28−import qualified ExtEff.HTTP as ExtEff
30wruns :: Int
16wruns :: Int
@@ -40,47 +26,47 @@ main = do
41 bgroup "Countdown"
27 bgroup "Countdown"
42 [ bgroup "Put"
28 [ bgroup "Put"
43− [ bench "fused-effects" (nf Fused.countDownPut runs)
29+ [ bench "fused-effects" (nf Fused.countDownBench runs)
44− , bench "mtl" (nf MTL.countDownPut runs)
30+ , bench "mtl" (nf MTL.countDownBench runs)
45− , bench "polysemy" (nf Poly.countDownPut runs)
31+ , bench "polysemy" (nf Poly.countDownBench runs)
46− , bench "freer-simple" (nf Freer.countDownPut runs)
32+ , bench "freer-simple" (nf Freer.countDownBench runs)
47− , bench "extensible-effects" (nf ExtEff.countDownPut runs)
33+ , bench "extensible-effects" (nf ExtEff.countDownBench runs)
48− , bench "shallow" (nf Shallow.countDownPut runs)
34+ , bench "shallow" (nf Shallow.countDownBench runs)
50 , bgroup "Put+Exc"
36 , bgroup "Put+Exc"
51− [ bench "fused-effects" (nf Fused.countDownExc runs)
37+ [ bench "fused-effects" (nf Fused.countDownExcBench runs)
52− , bench "mtl" (nf MTL.countDownExc runs)
38+ , bench "mtl" (nf MTL.countDownExcBench runs)
53− , bench "polysemy" (nf Poly.countDownExc runs)
39+ , bench "polysemy" (nf Poly.countDownExcBench runs)
54− , bench "freer-simple" (nf Freer.countDownExc runs)
40+ , bench "freer-simple" (nf Freer.countDownExcBench runs)
55− , bench "extensible-effects" (nf ExtEff.countDownExc runs)
41+ , bench "extensible-effects" (nf ExtEff.countDownExcBench runs)
56− , bench "shallow" (nf Shallow.countDownExc runs)
42+ , bench "shallow" (nf Shallow.countDownExcBench runs)
59 , bgroup "HTTP"
45 , bgroup "HTTP"
60− [ bench "fused-effects" (nfAppIO Fused.doHTTP runs)
46+ [ bench "fused-effects" (nfAppIO Fused.httpBench runs)
61− , bench "polysemy" (nfAppIO Poly.doHTTP runs)
47+ , bench "polysemy" (nfAppIO Poly.httpBench runs)
62− , bench "extensible-effects" (nfAppIO ExtEff.doHTTP runs)
48+ , bench "extensible-effects" (nfAppIO ExtEff.httpBench runs)
63− , bench "Deep embedding" (nfAppIO MTL.doHTTP runs)
49+ , bench "Deep embedding" (nfAppIO MTL.httpBench runs)
64− , bench "Shallow embedding" (nfAppIO Shallow.doHTTP runs)
50+ , bench "Shallow embedding" (nfAppIO Shallow.httpBench runs)
65− , bench "freer-simple" (nfAppIO Freer.doHTTP runs)
51+ , bench "freer-simple" (nfAppIO Freer.httpBench runs)
69 putStrLn "*** Space benchmarks (these will take some time to run) ***"
55 putStrLn "*** Space benchmarks (these will take some time to run) ***"
70 Weigh.mainWith $ do
56 Weigh.mainWith $ do
71 Weigh.wgroup "Countdown" $ sequence_
57 Weigh.wgroup "Countdown" $ sequence_
72− [ Weigh.func "fused-effects" Fused.countDownPut wruns
58+ [ Weigh.func "fused-effects" Fused.countDownBench wruns
73− , Weigh.func "mtl" MTL.countDownPut wruns
59+ , Weigh.func "mtl" MTL.countDownBench wruns
74− , Weigh.func "polysemy" Poly.countDownPut wruns
60+ , Weigh.func "polysemy" Poly.countDownBench wruns
75− , Weigh.func "freer-simple" Freer.countDownPut wruns
61+ , Weigh.func "freer-simple" Freer.countDownBench wruns
76− , Weigh.func "extensible-effects" ExtEff.countDownPut wruns
62+ , Weigh.func "extensible-effects" ExtEff.countDownBench wruns
77− , Weigh.func "shallow" Shallow.countDownPut wruns
63+ , Weigh.func "shallow" Shallow.countDownBench wruns
79 Weigh.wgroup "Countdown + exc" $ sequence_
65 Weigh.wgroup "Countdown + exc" $ sequence_
80− [ Weigh.func "fused-effects" Fused.countDownExc wruns
66+ [ Weigh.func "fused-effects" Fused.countDownExcBench wruns
81− , Weigh.func "mtl" MTL.countDownExc wruns
67+ , Weigh.func "mtl" MTL.countDownExcBench wruns
82− , Weigh.func "polysemy" Poly.countDownExc wruns
68+ , Weigh.func "polysemy" Poly.countDownExcBench wruns
83− , Weigh.func "freer-simple" Freer.countDownExc wruns
69+ , Weigh.func "freer-simple" Freer.countDownExcBench wruns
84− , Weigh.func "extensible-effects" ExtEff.countDownExc wruns
70+ , Weigh.func "extensible-effects" ExtEff.countDownExcBench wruns
85− , Weigh.func "shallow" Shallow.countDownExc wruns
71+ , Weigh.func "shallow" Shallow.countDownExcBench wruns