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 consists of 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.
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.