This repository has been archived by the owner on Aug 31, 2023. It is now read-only.
🐛 46x performance regression in LSP server #4776
Labels
S-To triage
Status: user report of a possible bug that needs to be triaged
Environment information
What happened?
I have a suite of JS LSP server benchmarks (https://quick-lint-js.com/benchmarks/). About a year ago, Rome performed well. Recent versions of Rome perform about 46x worse! Rome is 5x as slow as ESLint in my benchmarks.
I bisected the Rome repo. There appear to be at least three big regressions:
For newer versions, my benchmarks stop the Rome server between samples. Each sample includes 1 warmup iteration and 10 timed iterations.
The benchmark basically lints this file 10 times: https://github.com/quick-lint/quick-lint-js/blob/1433b434f37c4dae212c35307a55849cfb633586/benchmark/benchmark-lsp/corpus/express-router.js
Benchmark framework: https://github.com/quick-lint/quick-lint-js/tree/1433b434f37c4dae212c35307a55849cfb633586/benchmark/benchmark-lsp
Here is performance data at various commits on my 5950X on Linux for
quick-lint-js-benchmark-lsp-servers Rome/full-change-wait/express-router.js --iterations 10 --samples 3
:Expected result
Rome's LSP server is fast 🚀
Code of Conduct
The text was updated successfully, but these errors were encountered: