Commit Graph

4 Commits

Author SHA1 Message Date
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
Pepe Iborra
0d7cae9846
Improve hist benchmarks driver and add to CI (#770)
* Remove hardcoded --stack-yaml and upstream/master assumption

* support Cabal in bench suite

* add benchmark run to CI

Even if the time measurements are unreliable in a shared CI environment, the
memory usage will be an accurate indicator of space leaks

* Update bench/README

* use origin/master

* default to stack in benchmarks (for CI)

* ignore ghcide-bench and ghcide-preprocessor binaries too

* Review feedbacks

* Add the v0.3.0 tag in bench/hist.yaml

commented out to keep the CI time as tight as possible

* Add .artifactignore file to avoid publishing binaries in azure bench pipeline

* use default stack.yaml
2020-09-06 21:54:45 +01:00
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
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