dom-lt-0.2.0: benchmarks/Main.hs
module Main(main) where
import Data.Graph.Dom
import Control.DeepSeq
import Criterion.Main
g0 :: Rooted
g0 = (1,
fromAdj
[(1,[2,3])
,(2,[3])
,(3,[4])
,(4,[3,5,6])
,(5,[7])
,(6,[7])
,(7,[4,8])
,(8,[3,9,10])
,(9,[1])
,(10,[7])]
)
g1 :: Rooted
g1 = (0,
fromAdj
[(0,[1])
,(1,[2,3])
,(2,[7])
,(3,[4])
,(4,[5,6])
,(5,[7])
,(6,[4])
,(7,[])]
)
-- Our benchmark harness.
main :: IO ()
main = g0 `deepseq` g1 `deepseq`
defaultMain [
bgroup "g0" [ bench "dom" $ nf dom g0
, bench "pdom" $ nf pdom g0
, bench "idom" $ nf idom g0
, bench "ipdom" $ nf ipdom g0
, bench "domTree" $ nf domTree g0
, bench "pdomTree" $ nf pdomTree g0
],
bgroup "g1" [ bench "dom" $ nf dom g1
, bench "pdom" $ nf pdom g1
, bench "idom" $ nf idom g1
, bench "ipdom" $ nf ipdom g1
, bench "domTree" $ nf domTree g1
, bench "pdomTree" $ nf pdomTree g1
]
]