BenchmarkHistory: benchmark programs and compare with historical runs.


(included from project) Christian Höner zu Siederdissen - BenchmarkHistory

Build Status


The library provides tools for keeping a log of running time and memory allocation of functions to be benchmarked. I use this library together with buildbot to be alerted when one of my programs or libraries performs much worse due to recent changes. The system uses the history of benchmark runs to adapt to changes.


Christian Hoener zu Siederdissen
Leipzig University, Leipzig, Germany

Build Status
Stable Sources git Bugtracker Build Status

Installation from sources via stack:

This software can be compiled and installed using stack in a small number of steps. Note that some packages only provide a library and no executable.
  1. Prepare a directory for the software:
    mkdir ~/haskell/
    cd ~/haskell

    (If you choose another name, replace accordingly below)
  2. Install stack itself. Binaries are available here. Copy the binaries into the ~/haskell directory.
  3. Download the BenchmarkHistory software:
    ~/haskell/stack unpack BenchmarkHistory

    This unpacks the newest version of BenchmarkHistory, the version itself being referred to as -VERSION, which you should see via ls.
  4. Compile:
    cd ~/haskell/BenchmarkHistory-VERSION
    ~/haskell/stack build
  5. Execute (you can find the executable names, if any, in the cabal as executable build targets):
    ~/haskell/stack exec EXECUTABLE
  6. Optionally, install any executables into ~/haskell/bin/
    . This simplifies actually running the programs later on. mkdir -p ~/haskell/bin
    ~/haskell/stack install --local-bin-path ~/haskell/bin