タイトルと↑のリンクでFAなのだけれど、EmacsのLSPクライアントであるlsp-modeで補完などの動作が遅いなと感じたときは M-x lsp-doctor
とやると遅い原因を列挙してくれる。
Emacsのデフォルト設定値ではlsp-modeの利用に最適ではない場合があるのは、言われてみればその通りなのだけど完全に失念していた。 lsp-mode側でよしなに書き換えてしまってもいいのに……と思ったけど、それをやるのは流石に思想の違いがありそう。
自分の場合はGCが発生するメモリの閾値の gc-cons-threshold
と、一度の読み取り操作でサブプロセスから何バイト読み取るかの read-process-output-max
の値を調節すると、補完候補が出る速度が体感でわかるほど早くなった。
元々候補が出るのに一瞬ひっかかるなと感じる程だったので、明らかに体験が良くなった。
lsp-mode 遅いなと感じている時は試してみるとよさそう。
※ 追記
v7.0 までは lsp-diagnose
って名前だったらしい