criterion-1.6.3.0: Robust, reliable performance measurement and analysis
Copyright(c) 2009-2014 Bryan O'Sullivan
LicenseBSD-style
Maintainerbos@serpentine.com
Stabilityexperimental
PortabilityGHC
Safe HaskellSafe-Inferred
LanguageHaskell2010

Criterion

Description

Core benchmarking code.

Synopsis

Benchmarkable code

Creating a benchmark suite

data Benchmark #

Instances

Instances details
Show Benchmark 
Instance details

Defined in Criterion.Measurement.Types

Methods

showsPrec :: Int -> Benchmark -> ShowS

show :: Benchmark -> String

showList :: [Benchmark] -> ShowS

env :: NFData env => IO env -> (env -> Benchmark) -> Benchmark #

envWithCleanup :: NFData env => IO env -> (env -> IO a) -> (env -> Benchmark) -> Benchmark #

perBatchEnv :: (NFData env, NFData b) => (Int64 -> IO env) -> (env -> IO b) -> Benchmarkable #

perBatchEnvWithCleanup :: (NFData env, NFData b) => (Int64 -> IO env) -> (Int64 -> env -> IO ()) -> (env -> IO b) -> Benchmarkable #

perRunEnv :: (NFData env, NFData b) => IO env -> (env -> IO b) -> Benchmarkable #

perRunEnvWithCleanup :: (NFData env, NFData b) => IO env -> (env -> IO ()) -> (env -> IO b) -> Benchmarkable #

toBenchmarkable :: (Int64 -> IO ()) -> Benchmarkable #

bench :: String -> Benchmarkable -> Benchmark #

bgroup :: String -> [Benchmark] -> Benchmark #

Running a benchmark

nf :: NFData b => (a -> b) -> a -> Benchmarkable #

whnf :: (a -> b) -> a -> Benchmarkable #

nfIO :: NFData a => IO a -> Benchmarkable #

nfAppIO :: NFData b => (a -> IO b) -> a -> Benchmarkable #

whnfAppIO :: (a -> IO b) -> a -> Benchmarkable #

For interactive use

benchmark :: Benchmarkable -> IO () Source #

Run a benchmark interactively, and analyse its performance.

benchmarkWith :: Config -> Benchmarkable -> IO () Source #

Run a benchmark interactively, and analyse its performance.

benchmark' :: Benchmarkable -> IO Report Source #

Run a benchmark interactively, analyse its performance, and return the analysis.

benchmarkWith' :: Config -> Benchmarkable -> IO Report Source #

Run a benchmark interactively, analyse its performance, and return the analysis.