#4776·tools

LSP 服务器性能下降 46 倍

作者: strager创建于 2023年8月22日更新于 2023年8月28日
标签S-To triage

环境信息

块 CLI: 爱丽丝. 版本: 0.0 (中文(简体) ). 颜色支持: 真

平台: CPU 架构 : x86 64 操作系统: linux

环境: ROME LOG DIR: 未设置 诺克: 未设置 TERM:"Xterm-256color"(Xterm-256color) (英语).

罗马配置 : 状态:已装入 已禁用格式: 假 禁用线条: 假

工作空间 : 打开文档: 0

发现运行罗马服务器...

运行的罗马服务器 : QQ

i 客户端没有连接到任何服务器,而是愤怒地发现了这个运行中的罗马服务器.

服务器 : 版本: 0.0 (中文(简体) ). 名称: rome lsp CPU 架构 : x86 64 操作系统: linux

工作空间 : 打开文档: 0

其他活动服务器工作空间 :

工作空间 : 打开文档:1

罗马服务器日志 :

请审查日志文件的内容, 然后再公开分享, 因为它可能包含敏感信息 :

  • 可能显示您姓名、项目名称或雇主名称的路径名称。
  • 源代码

[记录太长 对于GitHub]

不相容的罗马服务器: QQ

i Rage用不相容的罗马版本发现了这个运行中的服务器.

服务器 : 版本: <= 10.0.0

不相容的罗马服务器: QQ

i Rage用不相容的罗马版本发现了这个运行中的服务器.

服务器 : 版本: 12.1.3


发生了什么事?

我拥有一套JS LSP服务器基准(https://quick-lint-js.com/benchmarks/). 大约一年前,罗马的表现良好. 最近罗马的版本表现得更糟糕了! 罗马跟ESLint一样慢

我分了两块罗马回扣 看来至少有三个大倒退:

* 9x:在7d15325c2ca82bcc4b7b2c8efd29bfd7bd696(~2.22 ms)和6345f9703e9eab80b42e77d9037ecbe019770098(~19.82 ms)之间。
* 4x:执行5809d01193db33e3d21c88bcfdb0f252da00e5ec(~19.66 ms- >~84.35 ms)
* 30%:在c3fb1a8145417b4e9af7e97c6c1e7d08aa3708f5(~79.90 ms)和d31c9cf0ae4f825c3e4bbdc0f72e361fe33a474a(~103.85 ms)之间(似有多个更小的回归).

对于新版本,我的基准 停止罗马服务器在样本之间。 每个样本包括1个取暖重迭和10个取时重迭.

基准基本上为这个文件提供了10次:https://GitHub.com/quick-lint/quick-lint-js/blob/1433b434f37c4dae212c35307a55849cfb633586/benchmark-lsp/corpus/express-router.js.

基准框架:https://GitHub.com/quick-lint/quick-lint-js/tree/1433b434f37c4dae212c35307a55849cfb633586/benchmark-lsp

以下是我对Linux的5950X上“快闪-lint-js-benchmark-lsp-servers Rome/full-change-wait/express-router.js——perations 10-samples 3”的各种承诺的性能数据:

> 罗马
. . . . . . .