aboutsummaryrefslogtreecommitdiffstats
path: root/test/Benchmark.hs
blob: 3454ca271b346088c12f96875cd888e1797b8e3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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
        ]
    ]