haskell / haskell/haskell-language-server

Run ghcide benchmark suite on HLS

Open
#1,201 7 comments 0 reactions 1 assignee Claimed by @pepeiborra View on GitHub
performance type: enhancement
Dominant language
Haskell
Stars
3k
Forks
455
Avg merge
2d 19h
Merged PRs (30d)
11

Description

Ghcide has an excellent benchmark suite that tracks time and space usage across multiple revisions, experiments and examples. But by running it only on `exe:ghcide`, we are missing crucial data on the impact of HLS plugins on performance.

What are the steps required to run the ghcide benchmark suite on HLS plugins? And on HLS?

There' more than one option:

## :heavy_check_mark: 1. Port the benchmark suite to HLS

We just move the Cabal stanzas (`ghcide-bench` and `bench-hist`) and the code across, add new experiments to exercise the relevant plugins, and run it on the whole of HLS + all the plugins.

## 2. Extract the benchmark suite to a package lsp-bench

As things stand right now, its' not even possible to package integration tests for plugins. All the integration tests live in HLS (func-test). We probably want to avoid ending up in the same situation with benchmarks.

A standalone package would be a way to allow each plugin to define its own benchmark suite.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.