* [benchmark] command line config argument
* [benchmark] Add a phony target for every example
* [benchmark] add config to toggle heap profiling
* [shake-bench] Phony rules for binaries
* [CI] benchmark jobs tree
* update mergify conditions
The -eventlog runtime is not reliable when combined with +RTS -h
leading to undiagnosed crashes and infinite loops.
The crashes are sporadic and seem to arise more frequently in the lsp-types
example, although we have not investigated deeply since there is a simple
alternative that doesn't crash: the vanilla runtime.
* Parallelize benchmarks
* [benchmarks] Collect heap profiles
* [benchmarks] pass RTS options to the real thing!
We were passing RTS options to the wrong thing
* Drop the 8.6.5 benchmark since the vanilla rts doesn't support +RTS -h
* Tone down timeout
* Review feedbacks
* [test-ci] fix wibble
* [ghcide-bench] fix scrambled output
* [ghcide-bench] add a new experiment: getDefinition after edit
* [ghcide-bench] refine the position used for identifiers
* [ghcide-bench] Support examples with multiple FOIs
* [ghcide-bench] Allow identifierP to be optional
* [ghcide-bench] experiments: do all edits first, then query
* [ghcide-bench] Add examples with multiple FOIs
* [ghcide-bench] add a completions (without edit) experiment
* [ghcide-bench] Fix indentation
* [ghcide-bench] Fix incomplete pattern match
* [ghcide-bench] Include the documentContents setup in the "startup" metric
* [ghcide-bench] fix wibble
* [ghcide-bench] add more verbose output
* [shake-bench] Consolidate -s code
* [bench-hist] Fix: depend on # samples
* [ghcide-bench] cache searchSymbol
* [cabal-bench] --no-clean
* [bench-hist] break down in rule functions
* Extract the benchmarking Shake rules to a shake-bench package
There's some room for reusing the rules used in the historic benchmarking suite
in other projects. This change makes that a bit easier and improves the
documentation and code structure.
The new structure is:
- lib:shake-bench - a Cabal library with functions to generate Shake rules
- ghcide:bench:benchHist - the ghcide instantiation of the above Shake rules
That's not to say that shake-bench is completely decoupled from ghcide -
there are still plenty of assumptions on how the benchmarks are organized, their
outputs, etc. But with a little bit of effort, it should be easy to make
these rules more reusable
* Fix nix build
* Fix license
* hlints and redundant imports
* more hlints
* Exclude shake-bench from the stack build