aboutsummaryrefslogtreecommitdiffstats
path: root/test/Benchmark.hs
blob: d0ea9cd93b10869d129aaad21f411f1f7e2fb6fa (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           VeriFuzz       (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
        ]
    ]