Open dbaeumer opened 3 days ago
Doing a comparable cache in getNormalizedPathComponents
brings the time down to 75ms.
vscode-profile-2024-11-28-09-36-24.cpuprofile vscode-profile-2024-11-28-12-42-42.cpuprofile vscode-profile-2024-11-28-15-29-10.cpuprofile
Here are also some of the CPU profiles I captured.
🔎 Search Terms
UpdateProjectIfDirty language server slow
🕗 Version & Regression Information
⏯ Playground Link
No response
💻 Code
Steps to reproduce:
_ignoreEventForUpdateRunningTasksCount
Observe:
updateGraphWorker
takes roughly 300ms on my machineI took a performance trace and a lot of time is spent in GC and
getNormalizedAbsolutePath
. I added a simply unbound cache to the method likewhich cuts the time for
updateGraphWorker
in half. However there are still some GCs going on and a lot of time is now spent inverifyCompilerOptions
/getNormalizedPathComponents
.🙁 Actual behavior
Takes 300ms to update on key stroke
🙂 Expected behavior
Adding a new line should be even in large project only cost a couple of ms :-)
Additional information about the issue
No response