Skip to content

Commit 55f65cd

Browse files
committed
Merge pull request #110 from int-e/bench
update benchmarks for criterion-1.0
2 parents 924fafe + 5364bea commit 55f65cd

File tree

6 files changed

+16
-21
lines changed

6 files changed

+16
-21
lines changed

benchmarks/IntMap.hs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ module Main where
44
import Control.DeepSeq
55
import Control.Exception (evaluate)
66
import Control.Monad.Trans (liftIO)
7-
import Criterion.Config
87
import Criterion.Main
98
import Data.List (foldl')
109
import qualified Data.IntMap as M
@@ -13,9 +12,8 @@ import Prelude hiding (lookup)
1312

1413
main = do
1514
let m = M.fromAscList elems :: M.IntMap Int
16-
defaultMainWith
17-
defaultConfig
18-
(liftIO . evaluate $ rnf [m])
15+
evaluate $ rnf [m]
16+
defaultMain
1917
[ bench "lookup" $ whnf (lookup keys) m
2018
, bench "insert" $ whnf (ins elems) M.empty
2119
, bench "insertWith empty" $ whnf (insWith elems) M.empty

benchmarks/IntSet.hs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ module Main where
55
import Control.DeepSeq
66
import Control.Exception (evaluate)
77
import Control.Monad.Trans (liftIO)
8-
import Criterion.Config
98
import Criterion.Main
109
import Data.List (foldl')
1110
import qualified Data.IntSet as S
@@ -14,9 +13,8 @@ main = do
1413
let s = S.fromAscList elems :: S.IntSet
1514
s_even = S.fromAscList elems_even :: S.IntSet
1615
s_odd = S.fromAscList elems_odd :: S.IntSet
17-
defaultMainWith
18-
defaultConfig
19-
(liftIO . evaluate $ rnf [s, s_even, s_odd])
16+
evaluate $ rnf [s, s_even, s_odd]
17+
defaultMain
2018
[ bench "member" $ whnf (member elems) s
2119
, bench "insert" $ whnf (ins elems) S.empty
2220
, bench "map" $ whnf (S.map (+ 1)) s

benchmarks/Makefile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
all:
22

33
bench-%: %.hs force
4-
ghc -O2 -DTESTING $< -i../$(TOP) -o $@ -outputdir tmp -rtsopts
4+
ghc -O2 -DTESTING $< -I../include -i../$(TOP) -o $@ -outputdir tmp -rtsopts
5+
6+
.PRECIOUS: bench-%
57

68
bench-%.csv: bench-%
7-
./bench-$* $(BENCHMARK) -v -u bench-$*.csv
9+
./bench-$* "$(BENCHMARK)" -v1 --csv bench-$*.csv
810

911
.PHONY: force clean veryclean
1012
force:

benchmarks/Map.hs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ module Main where
44
import Control.DeepSeq
55
import Control.Exception (evaluate)
66
import Control.Monad.Trans (liftIO)
7-
import Criterion.Config
87
import Criterion.Main
98
import Data.List (foldl')
109
import qualified Data.Map as M
@@ -15,9 +14,8 @@ main = do
1514
let m = M.fromAscList elems :: M.Map Int Int
1615
m_even = M.fromAscList elems_even :: M.Map Int Int
1716
m_odd = M.fromAscList elems_odd :: M.Map Int Int
18-
defaultMainWith
19-
defaultConfig
20-
(liftIO . evaluate $ rnf [m, m_even, m_odd])
17+
evaluate $ rnf [m, m_even, m_odd]
18+
defaultMain
2119
[ bench "lookup absent" $ whnf (lookup evens) m_odd
2220
, bench "lookup present" $ whnf (lookup evens) m_even
2321
, bench "insert absent" $ whnf (ins elems_even) m_odd

benchmarks/Sequence.hs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ module Main where
33

44
import Control.Applicative
55
import Control.DeepSeq
6+
import Control.Exception (evaluate)
67
import Criterion.Main
78
import Data.List (foldl')
89
import qualified Data.Sequence as S
@@ -14,19 +15,19 @@ main = do
1415
s100 = S.fromList [1..100] :: S.Seq Int
1516
s1000 = S.fromList [1..1000] :: S.Seq Int
1617
s10000 = S.fromList [1..10000] :: S.Seq Int
17-
rnf [s10, s100, s1000, s10000] `seq` return ()
18+
evaluate $ rnf [s10, s100, s1000, s10000]
1819
let g = mkStdGen 1
1920
let rlist n = map (`mod` (n+1)) (take 10000 (randoms g)) :: [Int]
2021
r10 = rlist 10
2122
r100 = rlist 100
2223
r1000 = rlist 1000
2324
r10000 = rlist 10000
24-
rnf [r10, r100, r1000, r10000] `seq` return ()
25+
evaluate $ rnf [r10, r100, r1000, r10000]
2526
let u10 = S.replicate 10 () :: S.Seq ()
2627
u100 = S.replicate 100 () :: S.Seq ()
2728
u1000 = S.replicate 1000 () :: S.Seq ()
2829
u10000 = S.replicate 10000 () :: S.Seq ()
29-
rnf [u10, u100, u1000, u10000] `seq` return ()
30+
evaluate $ rnf [u10, u100, u1000, u10000]
3031
defaultMain
3132
[ bgroup "splitAt/append"
3233
[ bench "10" $ nf (shuffle r10) s10

benchmarks/Set.hs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ module Main where
66
import Control.DeepSeq
77
import Control.Exception (evaluate)
88
import Control.Monad.Trans (liftIO)
9-
import Criterion.Config
109
import Criterion.Main
1110
import Data.List (foldl')
1211
import qualified Data.Set as S
@@ -15,9 +14,8 @@ main = do
1514
let s = S.fromAscList elems :: S.Set Int
1615
s_even = S.fromAscList elems_even :: S.Set Int
1716
s_odd = S.fromAscList elems_odd :: S.Set Int
18-
defaultMainWith
19-
defaultConfig
20-
(liftIO . evaluate $ rnf [s, s_even, s_odd])
17+
evaluate $ rnf [s, s_even, s_odd]
18+
defaultMain
2119
[ bench "member" $ whnf (member elems) s
2220
, bench "insert" $ whnf (ins elems) S.empty
2321
, bench "map" $ whnf (S.map (+ 1)) s

0 commit comments

Comments
 (0)