aboutsummaryrefslogtreecommitdiffstats
path: root/test/Benchmark.hs
blob: 9c8104958f1a30a0bc437860d534eef1120ef6ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
        ]
    ]