-
Notifications
You must be signed in to change notification settings - Fork 28.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Git: Spawning git.exe takes over the event loop #71290
Comments
I'd put my money on spawn. In the profile it's called ~10 times, often costing 30ms. On windows spawning is much slower, esp on some setups. @joaomoreno did we do this different before moving into the extension host? Didn't we have a dedicated process that manages git processes? |
From |
We did! In Visual Studio Online "Monaco". 😆 @jrieken Bringing it back means we'll have yet another process in our tree structure, serving the single purpose of spawning |
No - before git became an extension, running in the UX process were these things aren't "accepted"
If you rather prefer to block any other extension from working than that's your decision. Those 24047 stalls, are stalls over 5 secs exclusively caused by git. That's almost one work day wasted plus all the time below the threshold that we don't report. |
Oh yeah, I guess we kept that going from Monaco.
@jrieken I don't dispute the severity, I 100% agree with you on that. I just find it hard to accept the tradeoff of having 50MB allocated for spawning processes. Instead of forking, we could actually write a lightweight process spawner (C++/Rust) and just use that instead. 🤓 |
Reference issue: nodejs/node#14917 |
I don't really care how you do it but it's kinda lame that we aggressively chase extensions that block the extension host (#70492) and on the other side ship a built-in extension that's almost the worst (git is second) |
and you aren't alone, emmet is 3rd (#71381) moving up the ranks fast |
Ahah check out this reply from that thread from @nathansobo back in 2017:
|
Well, I see that as a clear sign of moving things into a separate process. Sure, there is a memory drawback but it won't freeze the process anymore. One really bad thing and one less ideal thing |
OK thanks for the help. |
This does not seem to be an issue any more based on our recent telemetry data. |
Telemetry tells us that git is one of the extensions causes the extension host to freeze. I have capture the following, unsuspicious, profile. It only got reported to the log because the freeze was only for ~1sec. Anyways, we should see if there is something wrong with git or the cpu profile logic.
git-slow.cpuprofile.txt
The text was updated successfully, but these errors were encountered: