criterion-measurement

Criterion measurement functionality and associated types

https://github.com/bos/criterion

Version on this page:0.1.1.0
LTS Haskell 22.14:0.2.1.0
Stackage Nightly 2024-03-28:0.2.1.0
Latest on Hackage:0.2.1.0

See all snapshots criterion-measurement appears in

BSD-3-Clause licensed by Bryan O'Sullivan
Maintained by Marco Zocca <zocca.marco gmail>, Ryan Scott
This version can be pinned in stack with:criterion-measurement-0.1.1.0@sha256:0da66385db923fee5265ad9c42d1deb3d58d2d7b5a36ab40308007380f8d51b5,2056

Module documentation for 0.1.1.0

Used by 1 package in nightly-2019-05-07(full list with versions):

criterion-measurement

Build Status

Measurement-related functionality extracted from Criterion, with minimal dependencies. The rationale for this is to enable alternative analysis front-ends.

Changes

0.1.1.0

  • Add nfAppIO and whnfAppIO functions, which take a function and its argument separately like nf/whnf, but whose function returns IO like nfIO/whnfIO. This is useful for benchmarking functions in which the bulk of the work is not bound by IO, but by pure computations that might otherwise be optimized away if the argument is known statically.

0.1.0.0

  • This is the first release of criterion-measurement. The changelog notes below are copied from the notes for the corresponding criterion release, criterion-1.5.0.0.

  • Move the measurement functionality of criterion into a standalone package, criterion-measurement. In particular, cbits/ and Criterion.Measurement are now in criterion-measurement, along with the relevant definitions of Criterion.Types and Criterion.Types.Internal (both of which are now under the Criterion.Measurement.* namespace). Consequently, criterion now depends on criterion-measurement.

    This will let other libraries (e.g. alternative statistical analysis front-ends) to import the measurement functionality alone as a lightweight dependency.

  • Fix a bug on macOS and Windows where using runAndAnalyse and other lower-level benchmarking functions would result in an infinite loop.