teardown-0.4.0.0: benchmark/Main.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
module Main where
import RIO
import Criterion
import Criterion.Main
import Control.Teardown (newTeardown, runTeardown_)
main :: IO ()
main = defaultMain
[ bgroup
"simple IO unit return"
[ bench "without teardown" (whnfIO $ return ())
, env
(newTeardown "benchmark" (return () :: IO ()))
(\unitTeardown ->
bench "with teardown" (whnfIO $ runTeardown_ unitTeardown)
)
]
]