ghcide/bench
Pepe Iborra a52741838b
Allow to easily customise the example used for benchmarks (#838)
* [ghcide-bench] allow custom example

* [bench] allow custom example

* Add v0.4.0 entry for completeness

* Rename benchmark artifacts

bench/hist.yaml --> bench/config.yaml

bench-hist --> bench-results

* Fix Cabal file

* Fix tests

* No need for hardcoded experiment positions
2020-09-29 07:47:09 +01:00
..
exe Allow to easily customise the example used for benchmarks (#838) 2020-09-29 07:47:09 +01:00
hist Allow to easily customise the example used for benchmarks (#838) 2020-09-29 07:47:09 +01:00
lib Allow to easily customise the example used for benchmarks (#838) 2020-09-29 07:47:09 +01:00
config.yaml Allow to easily customise the example used for benchmarks (#838) 2020-09-29 07:47:09 +01:00
README.md Allow to easily customise the example used for benchmarks (#838) 2020-09-29 07:47:09 +01:00

Benchmarks

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

  • exe/Main.hs - a standalone benchmark runner. Run with stack run ghcide-bench
  • hist/Main.hs - a Shake script for running the benchmark suite over a set of commits.
    • Run with stack bench or cabal bench,
    • Requires a ghcide-bench binary in the PATH (usually provided by stack/cabal),
    • Calls cabal (or stack, configurable) internally to build the project,
    • Driven by the config.yaml configuration file. By default it compares HEAD with "master"

Further details available in the config file and the module header comments.