Safe Haskell | None |
---|---|
Language | GHC2021 |
Perf
Contents
Description
Introduction
perf
provides tools for measuring the runtime performance of Haskell functions. It includes:
- time measurement via the clock library.
- a polymorphic approach to what a
Measure
is so that a wide variety of measurements such as counting, space and time measurement can share the same API. PerfT
which is a monad transformer designed to add the collection of performance information to existing code. Running the code produces a tuple of the original computation results, and a Map of performance measurements that were specified.- functionality to determine performance order, in
BigO
- reporting functionality encapsulated in
Report
.perf
can be run via 'cabal bench' and will, for example, error on performance degradation; see the project's cabal file for an example.
Synopsis
- module Perf.Types
- module Perf.Measure
- module Perf.Time
- module Perf.Space
- module Perf.Count
- module Perf.Algos
- module Perf.BigO
- module Perf.Report
- module Perf.Stats
re-exports
module Perf.Types
Representation of what a Performance Measure
is.
module Perf.Measure
module Perf.Time
Low-level space performance Measure
s based on GHC's allocation statistics.
module Perf.Space
Simple loop counter
module Perf.Count
Various (fast loop) algorithms that have been used for testing perf functionality.
module Perf.Algos
Order of complexity computations
module Perf.BigO
Reporting
module Perf.Report
Statistical support
module Perf.Stats