criterion: Robust, reliable performance measurement and analysis

[ benchmarking, bsd3, development, library, performance, program, testing ] [ Propose Tags ] [ Report a vulnerability ]

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.


[Skip to Readme]

Flags

Manual Flags

NameDescriptionDefault
fast

compile without optimizations

Disabled
embed-data-files

Embed the data files in the binary for a relocatable executable. (Warning: This will increase the executable size significantly.)

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.1.2, 0.1.3, 0.1.4, 0.2.0, 0.3.0, 0.4.0, 0.4.1.0, 0.5.0.0, 0.5.0.1, 0.5.0.2, 0.5.0.3, 0.5.0.4, 0.5.0.5, 0.5.0.7, 0.5.0.8, 0.5.0.9, 0.5.0.10, 0.5.1.0, 0.5.1.1, 0.6.0.0, 0.6.0.1, 0.6.1.1, 0.6.2.0, 0.6.2.1, 0.8.0.0, 0.8.0.1, 0.8.0.2, 0.8.1.0, 1.0.0.0, 1.0.0.1, 1.0.0.2, 1.0.1.0, 1.0.2.0, 1.1.0.0, 1.1.1.0, 1.1.4.0, 1.2.0.0, 1.2.1.0, 1.2.2.0, 1.2.3.0, 1.2.4.0, 1.2.5.0, 1.2.6.0, 1.3.0.0, 1.4.0.0, 1.4.1.0, 1.5.0.0, 1.5.1.0, 1.5.2.0, 1.5.3.0, 1.5.4.0, 1.5.5.0, 1.5.6.0, 1.5.6.1, 1.5.6.2, 1.5.7.0, 1.5.8.0, 1.5.9.0, 1.5.10.0, 1.5.11.0, 1.5.12.0, 1.5.13.0, 1.6.0.0, 1.6.1.0, 1.6.2.0, 1.6.3.0, 1.6.4.0 (info)
Change log changelog.md
Dependencies aeson (>=2 && <2.3), base (>=4.9 && <5), base-compat-batteries (>=0.10 && <0.15), binary (>=0.8.3.0), binary-orphans (>=1.0.1 && <1.1), bytestring (>=0.10.8.1 && <1.0), cassava (>=0.3.0.0), code-page, containers, criterion, criterion-measurement (>=0.2 && <0.3), deepseq (>=1.1.0.0), directory, exceptions (>=0.8.2 && <0.11), filepath, Glob (>=0.7.2), js-chart (>=2.9.4 && <3), microstache (>=1.0.1 && <1.1), mtl (>=2), mwc-random (>=0.8.0.3), optparse-applicative (>=0.18 && <0.19), parsec (>=3.1.0), prettyprinter (>=1.7 && <1.8), prettyprinter-ansi-terminal (>=1.1 && <1.2), statistics (>=0.14 && <0.17), text (>=0.11), time, transformers, transformers-compat (>=0.6.4), vector (>=0.7.1), vector-algorithms (>=0.4) [details]
Tested with ghc ==8.0.2, ghc ==8.2.2, ghc ==8.4.4, ghc ==8.6.5, ghc ==8.8.4, ghc ==8.10.7, ghc ==9.0.2, ghc ==9.2.8, ghc ==9.4.8, ghc ==9.6.6, ghc ==9.8.2, ghc ==9.10.1
License BSD-3-Clause
Copyright 2009-2016 Bryan O'Sullivan and others
Author Bryan O'Sullivan <bos@serpentine.com>
Maintainer Ryan Scott <ryan.gl.scott@gmail.com>
Category Development, Performance, Testing, Benchmarking
Home page http://www.serpentine.com/criterion
Bug tracker https://github.com/haskell/criterion/issues
Source repo head: git clone https://github.com/haskell/criterion.git
Uploaded by ryanglscott at 2024-10-27T00:12:34Z
Distributions Arch:1.6.1.0, Debian:1.5.6.2, Fedora:1.6.1.0, FreeBSD:1.1.0.0, LTSHaskell:1.6.4.0, NixOS:1.6.3.0, Stackage:1.6.4.0, openSUSE:1.6.3.0
Reverse Dependencies 28 direct, 3615 indirect [details]
Executables criterion-report
Downloads 123681 total (548 in the last 30 days)
Rating 2.75 (votes: 8) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2024-10-27 [all 1 reports]

Readme for criterion-1.6.4.0

[back to package description]

Criterion: robust, reliable performance measurement

Hackage Build Status

This package provides the Criterion module, a Haskell library for measuring and analysing software performance.

To get started, read the online tutorial, and take a look at the programs in the examples directory.

Get involved!

Please report bugs via the github issue tracker.

Master github repository:

  • git clone https://github.com/haskell/criterion.git

Authors

This library is written and maintained by Bryan O'Sullivan, bos@serpentine.com.