criterion-1.1.4.0: Robust, reliable performance measurement and analysis

Copyright(c) 2009 Neil Brown
LicenseBSD-style
Maintainerbos@serpentine.com
Stabilityexperimental
PortabilityGHC
Safe HaskellTrustworthy
LanguageHaskell98

Criterion.Monad

Description

The environment in which most criterion code executes.

Synopsis

Documentation

data Criterion a #

The monad in which most criterion code executes.

Instances

Monad Criterion # 

Methods

(>>=) :: Criterion a -> (a -> Criterion b) -> Criterion b #

(>>) :: Criterion a -> Criterion b -> Criterion b #

return :: a -> Criterion a #

fail :: String -> Criterion a #

Functor Criterion # 

Methods

fmap :: (a -> b) -> Criterion a -> Criterion b #

(<$) :: a -> Criterion b -> Criterion a #

Applicative Criterion # 

Methods

pure :: a -> Criterion a #

(<*>) :: Criterion (a -> b) -> Criterion a -> Criterion b #

(*>) :: Criterion a -> Criterion b -> Criterion b #

(<*) :: Criterion a -> Criterion b -> Criterion a #

MonadIO Criterion # 

Methods

liftIO :: IO a -> Criterion a #

MonadReader Config Criterion # 

Methods

ask :: Criterion Config #

local :: (Config -> Config) -> Criterion a -> Criterion a #

reader :: (Config -> a) -> Criterion a #

CritHPrintfType (Criterion a) # 

Methods

chPrintfImpl :: (Config -> Bool) -> PrintfCont -> Criterion a

withConfig :: Config -> Criterion a -> IO a #

Run a Criterion action with the given Config.

getGen :: Criterion GenIO #

Return a random number generator, creating one if necessary.

This is not currently thread-safe, but in a harmless way (we might call createSystemRandom more than once if multiple threads race).

getOverhead :: Criterion Double #

Return an estimate of the measurement overhead.