nextflow-io / nextflow-io/language-server
Performance benchmark
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 31
- Forks
- 8
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 2
Description
We should have a benchmark that simulates typical language server operations (e.g. open a workspace, open some files, edit, rename, navigate, etc). It will serve as an integration test, a performance health check, and as a way to evaluate potential performance optimizations.
See also:
- Deno LS blog post: https://deno.com/blog/optimizing-our-lsp
- benchmark: https://github.com/denoland/deno/blob/03a76f33ad0808c659116721a757958ad054dd25/cli/bench/lsp.rs#L77-L141
- flamegraphs to identify performance bottlenecks
- rust-analyzer syntax: https://github.com/rust-lang/rust-analyzer/blob/master/docs/dev/syntax.md
- alternate syntax representations could reduce memory usage, but need to test
- https://code.visualstudio.com/api/language-extensions/language-server-extension-guide#testing-the-language-server
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the Deno LSP benchmark linked in the issue, the rust-analyzer syntax notes, and the VS Code language-server testing guide. Define representative workspace, file, edit, rename, and navigation operations, then establish how the benchmark will serve as an integration test and performance health check. Done means the benchmark runs reproducibly and can expose performance changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- devtools, performance, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100