| Safe Haskell | Safe-Inferred |
|---|---|
| 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
Measureis so that a wide variety of measurements such as counting, space and time measurement can share the same API. PerfTwhich 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.perfcan 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 Measures 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