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

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

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 (>=0.8 && <1.6), ansi-wl-pprint (>=0.6.7.2), base (>=4.5 && <5), base-compat-batteries (>=0.10 && <0.11), binary (>=0.5.1.0), bytestring (>=0.9 && <1.0), cassava (>=0.3.0.0), code-page, containers, criterion, criterion-measurement (>=0.1.1.0 && <0.2), deepseq (>=1.1.0.0), directory, exceptions (>=0.8.2 && <0.11), fail (>=4.9 && <4.10), filepath, ghc-prim, Glob (>=0.7.2), js-flot, js-jquery, microstache (>=1.0.1 && <1.1), mtl (>=2), mwc-random (>=0.8.0.3), optparse-applicative (>=0.13 && <0.17), parsec (>=3.1.0), semigroups, statistics (>=0.14 && <0.15), text (>=0.11), time, transformers, transformers-compat (>=0.4), vector (>=0.7.1), vector-algorithms (>=0.4) [details]
Tested with ghc ==7.4.2, ghc ==7.6.3, ghc ==7.8.4, ghc ==7.10.3, ghc ==8.0.2, ghc ==8.2.2, ghc ==8.4.3, ghc ==8.6.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>
Revised Revision 2 made by ryanglscott at 2022-02-01T12:08:28Z
Category Development, Performance, Testing, Benchmarking
Home page http://www.serpentine.com/criterion
Bug tracker https://github.com/bos/criterion/issues
Source repo head: git clone https://github.com/bos/criterion.git(criterion-measurement)
Uploaded by ryanglscott at 2018-08-01T15:27:55Z
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, 3613 indirect [details]
Executables criterion-report
Downloads 123139 total (734 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 2018-08-01 [all 1 reports]

Readme for criterion-1.5.1.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.

Building and installing

To build and install criterion, just run

cabal install criterion

Get involved!

Please report bugs via the github issue tracker.

Master github repository:

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

There's also a Mercurial mirror:

  • hg clone https://bitbucket.org/bos/criterion

(You can create and contribute changes using either Mercurial or git.)

Authors

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