Skip to content

Commit 8fb5d17

Browse files
committed
Use bangs in benchmarks.
This is: a) Much more readable b) harder to forget to force something
1 parent 26b57e2 commit 8fb5d17

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

vector/benchmarks/Main.hs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{-# LANGUAGE BangPatterns #-}
12
module Main where
23

34
import Bench.Vector.Algo.MutableSet (mutableSet)
@@ -39,18 +40,15 @@ main = do
3940

4041
gen <- newIOGenM (mkStdGen useSeed)
4142

42-
let (lparens, rparens) = parenTree useSize
43-
(nodes, edges1, edges2) <- randomGraph gen useSize
44-
lparens `seq` rparens `seq` nodes `seq` edges1 `seq` edges2 `seq` return ()
43+
let (!lparens, !rparens) = parenTree useSize
44+
(!nodes, !edges1, !edges2) <- randomGraph gen useSize
4545

4646
let randomVector l = U.replicateM l (uniformDoublePositive01M gen)
47-
as <- randomVector useSize
48-
bs <- randomVector useSize
49-
cs <- randomVector useSize
50-
ds <- randomVector useSize
51-
sp <- randomVector (floor $ sqrt $ fromIntegral useSize)
52-
as `seq` bs `seq` cs `seq` ds `seq` sp `seq` return ()
53-
47+
!as <- randomVector useSize
48+
!bs <- randomVector useSize
49+
!cs <- randomVector useSize
50+
!ds <- randomVector useSize
51+
!sp <- randomVector (floor $ sqrt $ fromIntegral useSize)
5452
vi <- MV.new useSize
5553

5654
defaultMainWithIngredients ingredients $ bgroup "All"

0 commit comments

Comments
 (0)