IO package:criterion
Input and output actions.
Robust, reliable performance measurement and analysis
This library provides a powerful but simple way to measure software
performance. It provides both a framework for executing and analysing
benchmarks and a set of driver functions that makes it easy to build
and run benchmarks, and to analyse their results.
The fastest way to get started is to read the
online tutorial,
followed by the documentation and examples in the
Criterion.Main module.
For examples of the kinds of reports that criterion generates, see
the home page.
Apply an argument to a function which performs an action, then
evaluate its result to normal form (NF). This function constructs the
'IO b' value on each iteration, similar to
nf. This is
particularly useful for
IO actions where the bulk of the work
is not bound by IO, but by pure computations that may optimize away if
the argument is known statically, as in
nfIO.
Perform an action, then evaluate its result to normal form (NF). This
is particularly useful for forcing a lazy
IO action to be
completely performed.
If the construction of the 'IO a' value is an important factor in the
benchmark, it is best to use
nfAppIO instead.
Perform an action, then evaluate its result to weak head normal form
(WHNF). This function constructs the 'IO b' value on each iteration,
similar to
whnf. This is particularly useful for
IO
actions where the bulk of the work is not bound by IO, but by pure
computations that may optimize away if the argument is known
statically, as in
nfIO.
Perform an action, then evaluate its result to weak head normal form
(WHNF). This is useful for forcing an
IO action whose result is
an expression to be evaluated down to a more useful value.
If the construction of the 'IO a' value is an important factor in the
benchmark, it is best to use
whnfAppIO instead.
Quantitative description of effect (a fraction between 0 and 1).
The current version of criterion, encoded into a string that is used
in files.
Benchmarking command-line configuration.
A string describing the version of this benchmark (really, the version
of criterion that was used to build it).
The monad in which most criterion code executes.
A problem arose with a template.
Results of a linear regression.