ghcide/bench
Pepe Iborra 7dc6e2678a
Completions need not depend on typecheck of the current file (#670)
* Faster completions

* optimize withProgressVar

We never remove elements from the map so alter is unnecesary

* [ghcide-bench] accept ghcide options

* Expand completion tests suite

* hlints

* completions for local foreign decls

* Minor improvements for local completions

* Restore completion docs in legacy code path

* Compatibility with GHC < 8.8

* fix merge issue

* address review feedback
2020-07-06 15:06:10 +02:00
..
exe Make BenchHist non buildable by default and save logs (#666) 2020-06-29 11:00:53 +02:00
hist Completions need not depend on typecheck of the current file (#670) 2020-07-06 15:06:10 +02:00
lib Completions need not depend on typecheck of the current file (#670) 2020-07-06 15:06:10 +02:00
hist.yaml Make BenchHist non buildable by default and save logs (#666) 2020-06-29 11:00:53 +02:00
README.md Send WorkDoneProgressEnd only when work is done (#649) 2020-06-22 12:47:45 +02:00

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.