ghcide/bench/README.md
Pepe Iborra ba4bdb2def
Send WorkDoneProgressEnd only when work is done (#649)
* send WorkDoneProgressEnd only when work done

* Progress reporting now spans over multiple overlapping kicks

* Repurpose benchmark experiments as tests

Fixes #650

* use stack to fetch from Hackage

* benchmark tests run with the same lsp-test config as other tests

* Fix stack cradle in benchmark

* Make stack unpack --silent

* Fix issues in "code actions after edit" experiment

- Repeated breaking edits make ghc run out of suggestions

- Diagnostics seem to come and go in-between edits, which leads to a timing
  issue when asking for code actions. The fix is to wait for diagnostics to be
  present before asking for code actions

* Fix stack.yaml generation in example project

* Fix getDefinition in GHC 8.4

Did it break before 0.2.0 or after?

* better naming for the progress event TVar

* stop progress reporting in shakeShut

https://github.com/digital-asset/ghcide/pull/649#discussion_r443408884

* hlint
2020-06-22 12:47:45 +02:00

15 lines
573 B
Markdown

# Benchmarks
This folder contains two Haskell programs that work together to simplify the
performance analysis of ghcide:
- `exe/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.