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 ] ]