Benchmarking is the process of analyzing the performance of a program at runtime. This can include execution time, resource consumption, and many other factors.
criterion is the de-facto standard for analyzing performance of Haskell programs.
Haskell's de-facto standard benchmarking library.
- Detailed statistical analysis of timing data
- Beautiful graph output (example)
- High-resolution analysis (accurate down to nanoseconds)
- Customizable HTML/CSV/JSON output
- Garbage collection insensitivity
Criterion's in-depth tutorial walks through many of the major features.
Benchmarks actions and produces statistics such as min, mean, median, standard deviation, and max execution time. Also computes execution time percentiles. Comes with functions to pretty-print the results.
The interface is simpler and it has fewer depdencies than criterion.