ghcide/bench/README.md
Pepe Iborra 0e96f61d1b
Performance analysis over time (#629)
* benchmark history script

* if HEAD no need to rebuild worktree

* add bench/README.md

* Enable all experiments

* Fix dependency tracking for git branches

* hlints

* Add stack84 extra-deps

* Identify failed experiments in graphs

* Filter our failed benchmarks from aggregate graphs

Otherwise they tend to distort the axis

* Improve graphs (more and easier to see colors)

* update cradles

* customizable output folder

* Cache the config for the duration of the script

Otherwise the script is vulnerable to config edits

* Allow omitting the git: field

* Ignore bench-hist intermediate artifacts

Handy for including bench-hist results in a branch while avoiding the
intermediate artifacts
2020-06-15 13:56:24 +02:00

569 B

Benchmarks

This folder contains two Haskell programs that work together to simplify the performance analysis of ghcide:

  • Main.hs - a standalone benchmark suite. Run with stack bench
  • hist/Main.hs - a Shake script for running the benchmark suite over a set of commits.
    • Run with stack exec benchHist,
    • Requires a ghcide-bench binary in the PATH,
    • Calls stack internally to build the project,
    • Driven by the hist.yaml configuration file. By default it compares HEAD with upstream

Further details available in the module header comments.