Skip to content

Commit 999851e

Browse files
committed
Use pre-evaluated sequences in benchmarks.
1 parent 7e42d81 commit 999851e

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

benchmarks/Sequence.hs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,30 @@ main = do
1212
let s10 = S.fromList [1..10] :: S.Seq Int
1313
s100 = S.fromList [1..100] :: S.Seq Int
1414
s1000 = S.fromList [1..1000] :: S.Seq Int
15-
rnf [s10, s100, s1000] `seq` return ()
15+
s10000 = S.fromList [1..10000] :: S.Seq Int
16+
rnf [s10, s100, s1000, s10000] `seq` return ()
1617
let g = mkStdGen 1
1718
let rlist n = map (`mod` (n+1)) (take 10000 (randoms g)) :: [Int]
1819
r10 = rlist 10
1920
r100 = rlist 100
2021
r1000 = rlist 1000
21-
rnf [r10, r100, r1000] `seq` return ()
22+
r10000 = rlist 10000
23+
rnf [r10, r100, r1000, r10000] `seq` return ()
24+
let u10 = S.replicate 10 () :: S.Seq ()
25+
u100 = S.replicate 100 () :: S.Seq ()
26+
u1000 = S.replicate 1000 () :: S.Seq ()
27+
u10000 = S.replicate 10000 () :: S.Seq ()
28+
rnf [u10, u100, u1000, u10000] `seq` return ()
2229
defaultMain
2330
[ bgroup "splitAt/append"
2431
[ bench "10" $ nf (shuffle r10) s10
2532
, bench "100" $ nf (shuffle r100) s100
2633
, bench "1000" $ nf (shuffle r1000) s1000
2734
]
2835
, bgroup "zip"
29-
[ bench "ix10000/5000" $ nf (\(xs,ys) -> S.zip xs ys `S.index` 5000) (S.replicate 10000 (), S.fromList [1..10000::Int])
30-
, bench "nf150" $ nf (uncurry S.zip) (S.fromList [1..150::Int], S.replicate 150 ())
31-
, bench "nf10000" $ nf (uncurry S.zip) (S.fromList [1..10000::Int], S.replicate 10000 ())
36+
[ bench "ix10000/5000" $ nf (\(xs,ys) -> S.zip xs ys `S.index` 5000) (s10000, u10000)
37+
, bench "nf100" $ nf (uncurry S.zip) (s100, u100)
38+
, bench "nf10000" $ nf (uncurry S.zip) (s10000, u10000)
3239
] ]
3340

3441
-- splitAt+append: repeatedly cut the sequence at a random point

0 commit comments

Comments
 (0)