verismith-0.4.0.0: test/Benchmark.hs
module Main where
import Control.Lens ((&), (.~))
import Criterion.Main (bench, bgroup, defaultMain, nfAppIO)
import Verismith (configProperty, defaultConfig, proceduralIO,
propSize, propStmntDepth)
main :: IO ()
main = defaultMain
[ bgroup "generation"
[ bench "default" $ nfAppIO (proceduralIO "top") defaultConfig
, bench "depth" . nfAppIO (proceduralIO "top") $ defaultConfig & configProperty . propStmntDepth .~ 10
, bench "size" . nfAppIO (proceduralIO "top") $ defaultConfig & configProperty . propSize .~ 40
]
]