Skip to content
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 - The integrated source control (Git) is very very slow in the latest version (1.78.x) #183199

Open
Tracked by #227290
gh-egs-vividcloud opened this issue May 23, 2023 · 53 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug git GIT issues perf
Milestone

Comments

@gh-egs-vividcloud
Copy link

Type: Performance Issue

Before, the integrated source control (Git) in VSC is very fast but now it is very very slow. I'm not sure but this seems to happen after I update my VSC to the latest version (1.78.x). I thought that the problem is at my installed "git for Windows" (it worked well before I updated VSC) and updated it to the latest version but nothing changed, I think this is a problem of the latest version of VSC, or maybe at 1 of git extensions I installed but I'm not sure.

Note: If I use git through Git Bash, everything is still fine (fast as it should be)

Here are some log in the git output inside VSC:
2023-05-23 16:46:35.054 [info] > git add -A -- D:\src\zero\main\ASPdotNET-Web-BE-Zero\CompanyEmployees\appsettings.json [27846ms]

2023-05-23 16:48:39.228 [info] > git ls-files --stage -- D:\src\zero\main\ASPdotNET-Web-BE-Zero\CompanyEmployees\appsettings.json [2601ms]
2023-05-23 16:48:39.231 [info] > git ls-tree -l HEAD -- D:\src\zero\main\ASPdotNET-Web-BE-Zero\CompanyEmployees\appsettings.json [2608ms]
2023-05-23 16:48:39.239 [info] > git ls-files --stage -- D:\src\zero\main\ASPdotNET-Web-BE-Zero\CompanyEmployees\appsettings.json [2529ms]

2023-05-23 16:50:24.957 [info] > git ls-tree -l HEAD -- D:\src\zero\main\ASPdotNET-Web-BE-Zero\CompanyEmployees\appsettings.json [105697ms]
2023-05-23 16:50:24.958 [info] > git ls-tree -l HEAD -- D:\src\zero\main\ASPdotNET-Web-BE-Zero\CompanyEmployees\appsettings.json [105701ms]

2023-05-23 16:50:27.984 [info] > git ls-files --stage -- D:\src\zero\main\ASPdotNET-Web-BE-Zero\CompanyEmployees\appsettings.json [65005ms]
2023-05-23 16:50:27.987 [info] > git ls-files --stage -- D:\src\zero\main\ASPdotNET-Web-BE-Zero\CompanyEmployees\appsettings.json [65011ms]

2023-05-23 16:52:58.511 [info] > git add -A -- D:\src\zero\main\ASPdotNET-Web-BE-Zero\CompanyEmployees\appsettings.Development.json [29306ms]

2023-05-23 16:53:44.880 [info] > git fetch [16761ms]

2023-05-23 16:55:37.421 [info] > git -c user.useConfigOnly=true commit --quiet --allow-empty-message --file - [100953ms]

2023-05-23 16:55:43.820 [info] > git show --textconv :CompanyEmployees/appsettings.json [2493ms]
2023-05-23 16:55:43.820 [info] > git show --textconv :CompanyEmployees/appsettings.Development.json [2479ms]

2023-05-23 16:56:12.377 [info] > git pull --tags origin main [31072ms]

2023-05-23 16:56:35.825 [info] > git push origin main:main [23445ms]

Do not know why it took so much time for the basic operations (files in my repo are quite small, nothing big/huge at all)

VS Code version: Code 1.78.2 (b3e4e68, 2023-05-10T14:39:26.248Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Sandboxed: Yes

System Info
Item Value
CPUs 12th Gen Intel(R) Core(TM) i5-12400F (12 x 2496)
GPU Status 2d_canvas: enabled
canvas_oop_rasterization: disabled_off
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled
Load (avg) undefined
Memory (System) 31.84GB (13.95GB free)
Process Argv --crash-reporter-id e283a491-24a6-4982-a709-f965337f0fd8
Screen Reader no
VM 0%
Process Info
CPU %	Mem MB	   PID	Process
    0	    96	 25844	code main
    0	    91	  4200	shared-process
    0	    71	 14160	     ptyHost
    0	     7	 23176	       console-window-host (Windows internal process)
    0	     5	 25972	       "C:\Program Files\Git\bin\bash.exe"
    0	    11	 33292	         "C:\Program Files\Git\bin\..\usr\bin\bash.exe"
    0	   382	 18912	extensionHost [1]
    0	    76	  1904	     electron-nodejs ("D:\Program Files\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node "d:\Program Files\Microsoft VS Code\resources\app\extensions\markdown-language-features\server\dist\node\workerMain" --node-ipc --clientProcessId=18912)
    0	    78	  4436	     electron-nodejs ("D:\Program Files\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node "d:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\server\dist\node\jsonServerMain" --node-ipc --clientProcessId=18912)
    0	    78	  9060	     electron-nodejs ("D:\Program Files\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node "c:\Users\Luat Nguyen\.vscode\extensions\formulahendry.auto-rename-tag-0.1.10\packages\server\dist\serverMain.js" --node-ipc --clientProcessId=18912)
    0	   125	 28156	     electron-nodejs ("D:\Program Files\Microsoft VS Code\Code.exe" --ms-enable-electron-run-as-node "c:\Users\Luat Nguyen\.vscode\extensions\streetsidesoftware.code-spell-checker-2.20.4\packages\_server\dist\main.js" --node-ipc --clientProcessId=18912)
    0	    25	 31636	     "C:\Program Files\Microsoft\jdk-17.0.7.7-hotspot\bin\java" -DwatchParentProcess=false -XX:+ExitOnOutOfMemoryError -XX:+HeapDumpOnOutOfMemoryError "-XX:HeapDumpPath=c:\Users\Luat Nguyen\AppData\Roaming\Code\User\globalStorage\redhat.vscode-xml" -Xmx64M -cp "c:\Users\Luat Nguyen\.vscode\extensions\redhat.vscode-xml-0.25.0-win32-x64\server\org.eclipse.lemminx-0.25.0-uber.jar" org.eclipse.lemminx.XMLServerLauncher
    0	     6	 31916	       console-window-host (Windows internal process)
    0	   556	 33392	     dotnet.exe "c:\Users\Luat Nguyen\.vscode\extensions\ms-dotnettools.csharp-1.25.7-win32-x64\.omnisharp\1.39.6-net6.0\OmniSharp.dll" -z -s d:\src\zero\main\ASPdotNET-Web-BE-Zero\CompanyEmployees.sln --hostPID 18912 DotNet:enablePackageRestore=false --encoding utf-8 --loglevel information --plugin "c:\Users\Luat Nguyen\.vscode\extensions\ms-dotnettools.csharp-1.25.7-win32-x64\.razor\OmniSharpPlugin\Microsoft.AspNetCore.Razor.OmniSharpPlugin.dll" FileOptions:SystemExcludeSearchPatterns:0=**/.git FileOptions:SystemExcludeSearchPatterns:1=**/.svn FileOptions:SystemExcludeSearchPatterns:2=**/.hg FileOptions:SystemExcludeSearchPatterns:3=**/CVS FileOptions:SystemExcludeSearchPatterns:4=**/.DS_Store FileOptions:SystemExcludeSearchPatterns:5=**/Thumbs.db FileOptions:SystemExcludeSearchPatterns:6=**/.classpath FileOptions:SystemExcludeSearchPatterns:7=**/.project FileOptions:SystemExcludeSearchPatterns:8=**/.settings FileOptions:SystemExcludeSearchPatterns:9=**/.factorypath FormattingOptions:EnableEditorConfigSupport=true Sdk:IncludePrereleases=true formattingOptions:useTabs=false formattingOptions:tabSize=2 formattingOptions:indentationSize=2
    0	     6	  4804	       console-window-host (Windows internal process)
    0	    40	 24088	   utility-network-service
    0	   293	 24300	window [1] (MAIN-ZERO-ASPdotNET-Web-BE (Workspace))
    0	   114	 24460	   gpu-process
    0	    80	 26432	fileWatcher [1]
    0	    25	 26516	   crashpad-handler
    0	   100	 30084	window [2] (Issue Reporter)
Workspace Info
|  Window (MAIN-ZERO-ASPdotNET-Web-BE (Workspace))
|    Folder (ASPdotNET-Web-BE-Zero): 355 files
|      File types: cs(129) cache(36) json(22) csproj(9) props(9) targets(9)
|                  txt(9) editorconfig(9) v2(2) vsidx(2)
|      Conf files: csproj(9) sln(1);
Extensions (52)
Extension Author (truncated) Version
better-comments aar 3.0.2
Bookmarks ale 13.3.1
copy-relative-path ale 0.0.2
All-Autocomplete Ati 0.0.26
compare-view che 0.13.0
vscode-better-align cho 1.4.2
path-intellisense chr 2.8.4
bracket-select chu 2.0.2
vscode-structurizr cia 0.0.9
gitignore cod 0.9.0
csharp-grammar-extended dan 1.1.1
githistory don 0.6.20
xml Dot 2.5.1
gitlens eam 13.6.0
LogFileHighlighter emi 2.16.0
json-tools eri 1.0.2
auto-close-tag for 0.5.14
auto-rename-tag for 0.1.10
auto-using Fud 0.7.15
copilot Git 1.86.82
todo-tree Gru 0.0.226
output-colorizer IBM 0.1.2
open-file-from-path jac 1.3.4
vscode-text-pastry jkj 1.3.1
vscode-peacock joh 4.2.2
workspace-cacheclean Mam 0.0.2
render-crlf med 1.6.1
vscode-filesize mkx 3.1.0
csharp ms- 1.25.7
vscode-dotnet-pack ms- 1.0.12
remote-explorer ms- 0.4.0
indent-rainbow ode 8.3.1
material-icon-theme PKi 4.27.0
vscode-thunder-client ran 2.7.1
vscode-xml red 0.25.0
partial-diff ryu 1.4.3
bracket-jumper sas 1.1.8
trailing-spaces sha 0.4.1
svg-preview Sim 2.8.3
cucumber ste 0.14.0
code-spell-checker str 2.20.4
ASPNETCore-VSCode-Extensions Syn 21.2.3
Blazor-VSCode-Extensions Syn 21.2.3
c4-dsl-extension sys 3.4.1
bracket-padder via 0.3.0
highlight-matching-tag vin 0.11.0
intellicode-api-usage-examples Vis 0.2.7
vscodeintellicode Vis 1.2.30
vscodeintellicode-completions Vis 1.0.22
vscode-todo-highlight way 1.0.5
markdown-all-in-one yzh 3.5.1
json Zai 2.0.2
A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30256860
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
vscorecescf:30445987
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593:30376534
pythonvs932:30410667
cppdebug:30492333
vsclangdf:30486550
c4g48928:30535728
dsvsc012cf:30540253
pynewext54:30695312
azure-dev_surveyone:30548225
vsccc:30610678
2e4cg342:30602488
pyind779:30671433
f6dab269:30613381
pythonsymbol12:30671437
showlangstatbar:30737416
vsctsb:30748421
pythonms35:30701012
j16hj152:30706079
ecj1e332:30736112
pythonfmttext:30731395
fixshowwlkth:30730052
pythongtdpathcf:30739705

@gjsjohnmurray
Copy link
Contributor

Are you using Mcafee antivirus?

@lszomoru lszomoru added the info-needed Issue requires more information from poster label May 23, 2023
@gh-egs-vividcloud
Copy link
Author

@gjsjohnmurray , no, I don't use it.

@gh-egs-vividcloud
Copy link
Author

Additional info: I downgraded VSC to v1.77.3 ("GitLens" extension is downgraded to 13.5.0 also because its latest version is not compatible with VSC v1.77.3) and everything is much better. Sometimes staging and un-staging files are still slow a little bit but acceptable.

@chriscarreau
Copy link

Same thing happened to me, a simple git diff was taking ~10 seconds with the new version. I downgraded to v1.77.3 and it also fixed my issue

@ChristianCiach
Copy link

ChristianCiach commented May 25, 2023

I pulled some Ansible galaxy collections into my workspace (which updated a few hundred files) and the whole computer froze for several minutes. Never had this issue with previous versions of VSCode.

Using Fedora Linux 38.

@rafidka
Copy link

rafidka commented May 27, 2023

I am not sure whether this is related, but GitLens started taking %100 CPU recently. I tracked the issue down to GitLens after removing all plugins and reinstalling them. Finally, I was able to discover that simply disabling/enabling GitLens was removing/reintroducing the CPU spike issue. My installation clean (since I tried to do a clean uninstall while trying to fix the issue). I am on Linux (Fedora) and I don't have Mcafee anti-virus. If it helps here is the offending process on my machine:

rafid      98244  4.3  0.1 1176530436 174984 ?   Sl   12:56   0:13 /usr/share/code/code --type=utility --utility-sub-type=node.mojom.NodeService --lang=en-US --service-sandbox-type=none --enable-crash-reporter=8e552b7c-bb79-42bc-a9b4-fb0b1b3eefec,no_channel --user-data-dir=/home/rafid/.config/Code --standard-schemes=vscode-webview,vscode-file --secure-schemes=vscode-webview,vscode-file --bypasscsp-schemes --cors-schemes=vscode-webview,vscode-file --fetch-schemes=vscode-webview,vscode-file --service-worker-schemes=vscode-webview --streaming-schemes --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,i,11251309795413797203,11639842389012394509,131072 --disable-features=CalculateNativeWinOcclusion,SpareRendererForSitePerProcess

@gh-egs-vividcloud
Copy link
Author

gh-egs-vividcloud commented Jun 9, 2023

I'm not sure what the root cause of this is but this is what I observed in the last time:

  1. After I switched back to 1.77.3, everything is much better (compare to v1.78.x, but not as fast as I experienced in the past)
  2. After several days, things related to the source control are slow again, even when I disable GitLens extension and update git (for windows) to the latest version
  3. I updated VSC to 1.78.x again, not enable GitLens -> not consistent, in some workspaces it's fast, in some others, it's slow
  4. I enabled GitLens again (in VSC 1.78.x) -> still the same (not consistent)
  5. I updated VSC to 1.79, with GitLens enabled -> everything is fast again (as it should be and as I experienced before), now using source control in VSC is a joy (again) to me :)

Note: in VSC 1.79, staging multiple modified files is still slow a little bit (but still good enough and acceptable, just as before) -> it would be nice if it can be as fast as when I use git bash :)

@gh-egs-vividcloud
Copy link
Author

gh-egs-vividcloud commented Jun 9, 2023

@chriscarreau, @ChristianCiach and @rafidka , maybe you should try updating VSC to the latest version (1.79) to see/check if the issue was resolved or not. If all of us are okay with the latest update of VSC, I think we can close this ticket :)

@milindgoel15
Copy link

I have just updated to 1.80 and source control takes a minute or two to load up. Whenever we open vs code before, it used to be almost instant. Although it's still better than the previous 1.78 and/or 1.79.

@meotimdihia
Copy link

The source Control tab is very slow for me. When I click to view the changed file in the tab. Happen with both MacOS and Windows. I doubt it is related to the network, but why if I use in command line it is very fast.

Screen.Recording.2023-07-22.at.22.24.56.mov

@michmerr
Copy link

michmerr commented Jul 31, 2023

I'm trying to figure this out, too. I think (at least in my case) that it might relate to the number of open files. It's running a "git ls-files --stage -- " and a "git show --textconv " for each file, along with a bunch of "git cat-file -s ". After each of these operations, it's displaying millisecond counts in the 10000 range.

Cutting and pasting these commands into a terminal window results in fairly quick execution, so there must be something else going on (processing the output?). The commands might make sense after a sync, though why it would go through all the files that were not touched in the pull/fetch is not clear.

edit: On a commit and sync of a one line change, it's running all of these commands before pushing, and then again after. The commit is taking ~3:15, and the pull/push another ~2:30.

edit the second: Closed the buttload of open files, and all those time-consuming commands were not executed during subsequent commits, pushes, and pulls. So, I'm blaming GitLens for my particular woes.

@milindgoel15
Copy link

milindgoel15 commented Aug 1, 2023

I noticed if the folder opened in vscode consists of a bunch of sub git folders, the git version control will be much slower than a folder with only 1 git repository/folder.

It's not the case with the number of files in my case. It's slower even if there's 1 change in a git folder. But the same is faster in the case of a single git folder.

@vscodenpa
Copy link

Hey @lszomoru, this issue might need further attention.

@gh-egs-vividcloud, you can help us out by closing this issue if the problem no longer exists, or adding more information.

@OmarShawky1
Copy link

OmarShawky1 commented Oct 22, 2023

I confirm that this issue is still occurring.
Info:

$ code --version
1.83.1
f1b07bd25dfad64b0167beb15359ae573aecd2cc
x64

$ uname -r
5.15.0-86-generic

I have performed diff using the last 4 code versions on the following code and it seems like an insidious bug perpetuating from other versions.

Track this code, try to change it or anything:

package string;

import java.util.HashMap;
import java.util.Iterator;
import java.util.TreeSet;

/**
 * Return if string s has characters of the same order & count as t despite not containing all its letters
 * Problem Link: <a href="https://leetcode.com/problems/is-subsequence/">...</a>
 */
public class IsSubsequence {

    // Accepted but slow
    public boolean isSubsequence1(String s, String t) {
        HashMap<Character, TreeSet<Integer>> dic = new HashMap<>();

        for (int i = 0; i < t.length(); i++) {
            char c = t.charAt(i);
            if (dic.get(c) != null) dic.get(c).add(i);
            else {
                TreeSet<Integer> set = new TreeSet<>();
                set.add(i);
                dic.put(c, set);
            }
        }
        int currentPosition = 0;
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (dic.get(c) == null)
                return false;
            Iterator<Integer> iterator = dic.get(c).iterator();
            boolean found = false;
            while (iterator.hasNext() && !found) {
                int next = iterator.next();
                if (currentPosition <= next) {
                    currentPosition = next;
                    found = true;
                }
                iterator.remove();
            }
            if (!found)
                return false;
        }
        return true;
    }

    // Accepted, 91.32%
    public boolean isSubsequence2(String s, String t) {
        if (s.isEmpty()) return true;
        int sInd = 0, tInd = 0, sL = s.length(), tL = t.length();
        if (tL < sL) return false;
        while (sInd < sL && tInd < tL) if (s.charAt(sInd) == t.charAt(tInd++)) sInd++;
        return sInd == s.length();
    }

    // 100% on LC
    public boolean isSubsequence(String s, String t) {
        if (s.isEmpty()) return true;
        int sInd = 0, tInd = 0;
        char[] ss = s.toCharArray(), tt = t.toCharArray();
        if (tt.length < ss.length) return false;
        while (sInd < ss.length && tInd < tt.length) if (ss[sInd] == tt[tInd++]) sInd++;
        return sInd == ss.length;
    }

    public static void test() {
        IsSubsequence s = new IsSubsequence();
        assert s.isSubsequence("abc", "ahbgdc");
        assert !s.isSubsequence("axc", "ahbgdc");
        assert !s.isSubsequence("aaaaaa", "bbaaaa");
        assert s.isSubsequence("leeeeetcode", "yyyyylyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeyyyyyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyytyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyycyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyoyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyydyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy");
    }
}

@marzojr
Copy link

marzojr commented Oct 28, 2023

I am also seeing this issue on Windows 11 Home 22H2 (build 22621.2283).

$ code --version
1.83.1
f1b07bd25dfad64b0167beb15359ae573aecd2cc
x64

@ThorinEk
Copy link

I have the same problem

Version: 1.83.1 (user setup)
Commit: f1b07bd25dfad64b0167beb15359ae573aecd2cc
Date: 2023-10-10T23:48:05.904Z
Electron: 25.8.4
ElectronBuildId: 24154031
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: 11.4.183.29-electron.0
OS: Windows_NT x64 10.0.22621

This is an example from my Git output, certain commands are taking a very long time.
git push origin master:master [69043ms]

@pedrohgmacedo
Copy link

I'm having these problems as well in 1.84.0

@ZhenshengLee
Copy link

I'm having this issue in win10 pro 19045.3696, with feature experience pack 1000.19053.1000.0

$ code --version
1.82.3
fdb9883
x64

@IrrerPolterer
Copy link

IrrerPolterer commented Nov 22, 2023

Running VSCode 1.84.2 on Ubuntu and seeing the same thing - source control features are ridiculously slow recently. This includes the built-in git features (staging, unstaging, committing, pushing, etc. As well as extensions that tie into the git environment, like gitlens.

Version: 1.84.2
Commit: 1a5daa3a0231a0fbba4f14db7ec463cf99d7768e
Date: 2023-11-09T10:50:47.800Z
Electron: 25.9.2
ElectronBuildId: 24603566
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: 11.4.183.29-electron.0
OS: Linux x64 6.2.0-36-generic snap

As suggested by @gh-egs-vividcloud above, downgrading to 1.77.3 does bring back git performance to normal. Unfortunately though it does require downgrading a lot of extensions with it.

@dancherb
Copy link

I'm also experiencing this - terminal windows are very slow to open since the last update, though they appear to work nicely enough once they've loaded.

@mawelsh
Copy link

mawelsh commented Nov 30, 2023

code --version
1.84.2
1a5daa3
x64

it's unusably slow for me. CLI is nice and speedy but anything through the UI is worthless.

@xlamb1412
Copy link

xlamb1412 commented Dec 6, 2023

code --version 1.84.2 1a5daa3 x64

it's unusably slow for me. CLI is nice and speedy but anything through the UI is worthless.

I have a same issue on Macbook M1 when using dev-container.

@vtellez
Copy link

vtellez commented Dec 7, 2023

Same issue here on Mac Sonoma with M1 Pro. Did you find any solution?

@mugilanm7
Copy link

mugilanm7 commented Dec 26, 2023

I have the same issue on Windows 11
Is there any solution?

code --version
1.85.1
x64

git version 2.43.0.windows.1

Edition Windows 11 Pro
Version 23H2
OS build 22631.2861
Experience Windows Feature Experience Pack 1000.22681.1000.0

@calebjcox
Copy link

I've been running into the same thing on Windows 11.
1.85.1
0ee08df
x64

Since a couple of people mentioned that they saw issues connected to GitLens I tried disabling it and things work much faster. It's a shame because the GitLens adds some useful features but that seems to be what's slowing everything down. Seems like that's the place to look for the performance issues.

@bradleyGamiMarques
Copy link

I am noticing a similar issue. I am running WSL2 on Windows 10 Enterprise Version 21H2

$ lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy
$ code --version
1.86.2
903b1
x64

I have uninstalled GitLens v14.8.2.

When I change a file in the editor and save it the integrated Git doesn't track the file unless I click the refresh button.

@bradleyGamiMarques
Copy link

I am noticing a similar issue. I am running WSL2 on Windows 10 Enterprise Version 21H2

$ lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy
$ code --version
1.86.2
903b1
x64

I have uninstalled GitLens v14.8.2.

When I change a file in the editor and save it the integrated Git doesn't track the file unless I click the refresh button.

Sorry! After uninstalling GitLens I forgot to restart VSCode. This fixed my similar issue.

@maltaesousa
Copy link

Hi,
Still experiencing this problem on Code 1.87 and git 2.44.0. Reverting Code to 1.77.3 makes integrated version control fast again.
If there's anything I can do to help, let me know.

@ThorinEk
Copy link

ThorinEk commented Mar 24, 2024

I solved this by disabling IPv6 in the network adapter settings on Windows 10 & 11. This also fixed npm which was also really slow/not working.

Control Panel -> Network and Internet -> Network and Sharing Centre -> Change adapter settings -> Right click on the network adapter (Ethernet in my case) -> Properties -> Uncheck the box for Internet Protocol Version 6 (TCP/IPv6).

@andrian-vangelov
Copy link

Same issue here:

Visual Studio Code

  • Version: 1.87.2 (Universal)
  • Commit: 863d258
    Date: 2024-03-08T15:21:31.043Z (2 wks ago)
  • Electron: 27.3.2
  • ElectronBuildId: 26836302
  • Chromium: 118.0.5993.159
  • Node.js: 18.17.1
  • V8: 11.8.172.18-electron.0
  • OS: Darwin arm64 23.3.0

MacBook Air

  • M2, 2022
  • 16 GB
  • 14.3.1 (23D60) (Sonoma)

Git

  • git version 2.39.3 (Apple Git-145)
    OR
  • git version 2.44.0 (Homebrew)

@DDorch
Copy link

DDorch commented Mar 27, 2024

Same for me since over a week:

Some git operations lasts above 10 seconds:


2024-03-27 17:06:15.593 [info] > git status -z -uall [45ms]
2024-03-27 17:06:42.206 [info] > git config --get commit.template [10106ms]
2024-03-27 17:06:42.209 [info] > git ls-tree -l HEAD -- C:\DocDD\Inrae\airGR_galaxy\02-Sources\airGRiwrm\tests\testthat\test-RunModel_Ungauged.R [10111ms]
2024-03-27 17:06:42.212 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) --ignore-case refs/heads/130-ungauged-node-diversion-to-reservoir-crashes-calibration refs/remotes/130-ungauged-node-diversion-to-reservoir-crashes-calibration [10108ms]
2024-03-27 17:06:42.258 [info] > git status -z -uall [43ms]

Version: 1.87.2 (user setup)
Commit: 863d258
Date: 2024-03-08T15:20:17.278Z
Electron: 27.3.2
ElectronBuildId: 26836302
Chromium: 118.0.5993.159
Node.js: 18.17.1
V8: 11.8.172.18-electron.0
OS: Windows_NT x64 10.0.19045

@andrian-vangelov
Copy link

Same issue here:

Visual Studio Code

  • Version: 1.87.2 (Universal)
  • Commit: 863d258
    Date: 2024-03-08T15:21:31.043Z (2 wks ago)
  • Electron: 27.3.2
  • ElectronBuildId: 26836302
  • Chromium: 118.0.5993.159
  • Node.js: 18.17.1
  • V8: 11.8.172.18-electron.0
  • OS: Darwin arm64 23.3.0

MacBook Air

  • M2, 2022
  • 16 GB
  • 14.3.1 (23D60) (Sonoma)

Git

  • git version 2.39.3 (Apple Git-145)
    OR
  • git version 2.44.0 (Homebrew)

It seems this issue has been fixed with:

Version: 1.88.0 (Universal)
Commit: 5c3e652
Date: 2024-04-03T13:28:18.899Z
Electron: 28.2.8
ElectronBuildId: 27744544
Chromium: 120.0.6099.291
Node.js: 18.18.2
V8: 12.0.267.19-electron.0
OS: Darwin arm64 23.3.0

I do not experience the sluggishness like in the previous comment.

@svenlowrybjss
Copy link

Been experiencing the same issue for a while, currently running 1.88.1 and still experience it.
Remove the GitLens extension last Friday and source control view went back to being near instant - but today it's very very slow again, so suspect the extension isn't the cause but might exacerbate it.

Running VSCode in Win11 connected to Ubuntu 22.04 instance in WSL.

@rutpshah
Copy link

For me, uninstalling GitLens made things faster.

@asaddev1011
Copy link

same issue after upgrade. I had to switch to web storm for smooth workflow. Waiting for the fix 🤞🏻

@hreeday-forYe
Copy link

I am also facing this same issue in:
Version: 1.90.0
Commit: 89de5a8
OS: Windows_NT x64
I switched about 4 days ago
other terminal like PowerShell are working smoothly on the integrated environment however, git bash is slow. However, only running the git bash (not on vs code ) seems to be working smoothly

@white-tomato
Copy link

white-tomato commented Jun 9, 2024

I reinstalled Git Bash from Git site on Windows (https://www.git-scm.com/). Opening the terminal via the context menu in the folder opens normally. But in VS Code, it runs for 3-5 seconds. And after each command, after they are executed, you have to wait for 5 seconds. Yesterday I was working on a project, and the terminal was open for several hours. After these few hours of work, the waiting time increased to 10-15 seconds. I also deleted it .bash_profile and .bash_history, nothing helped. How can I use Git bash terminal in VS Code without delays, as it was before? Just the other day, the waiting time began to exceed 3 seconds, which makes it impossible to continue development. (((

@gjsjohnmurray
Copy link
Contributor

There is a known performance issue with git bash in 1.90. See the currently pinned issue. A fix is expected in 1.90.1.

@pietk4
Copy link

pietk4 commented Jun 10, 2024

Additionally to above:

I just saw that settings "terminal.integrated.shellIntegration.enabled" to false fix the issue. This settings seem to impact other issue related to other terminal too

#214386

In my case it fixed performance issues mentioned in this topic. Also with source control tab.

@awaluwalakhiru
Copy link

just disabled shell integration terminal may fix the issued it work for me

@Sujit-Ingenio
Copy link

Setting terminal.integrated.shellIntegration.enabled to false fixes this issue as mentioned in #212090 and #214407 .

@Bro3x
Copy link

Bro3x commented Jul 8, 2024

Same here. Impossible to work with. We're getting 33426 ms and more response times.
It is only during initialisation. After waiting approximately 15 minutes all is fine.
During that period there is a lot of network traffic on the interface. Around 2.5 Gbit (3Mbit/second).
Native git-client in Windows 11 acts fine.

git count-objects -vH
count: 391
size: 611.57 KiB
in-pack: 13883
packs: 1
size-pack: 3.22 MiB
prune-packable: 0
garbage: 0
size-garbage: 0 bytes
2024-07-08 17:35:58.410 [info] > git symbolic-ref --short refs/remotes/origin/HEAD [417ms]
2024-07-08 17:35:58.410 [info] fatal: ref refs/remotes/origin/HEAD is not a symbolic ref
2024-07-08 17:35:58.410 [info] GitHistoryProvider:resolveHistoryItemGroupBase - Failed to resolve history item group base for 'refs/heads/develop'
2024-07-08 17:35:58.410 [info] GitHistoryProvider:resolveHistoryItemGroupCommonAncestor - Failed to resolve history item group base for 'refs/heads/develop'
2024-07-08 17:35:58.676 [info] > git cat-file -s 16f10ef654440266051f93847f83b08c6d67cc71 [1350ms]
2024-07-08 17:35:59.547 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) --ignore-case refs/heads/develop [1110ms]
2024-07-08 17:36:00.475 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) --ignore-case refs/heads/develop [925ms]
2024-07-08 17:36:02.606 [info] > git config --local branch.develop.vscode-merge-base [2064ms]
2024-07-08 17:36:02.606 [warning] git config failed: Failed to execute git
2024-07-08 17:36:03.402 [info] > git status -z -uall [33426ms]
2024-07-08 17:36:05.519 [info] > git reflog refs/heads/develop --grep-reflog=branch: Created from *. [2766ms]
2024-07-08 17:36:08.803 [info] > git reflog HEAD --grep-reflog=checkout: moving from .* to develop [3136ms]
Version: 1.90.2 (user setup)
Commit: 5437499feb04f7a586f677b155b039bc2b3669eb
Date: 2024-06-18T22:34:26.404Z
Electron: 29.4.0
ElectronBuildId: 9728852
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Windows_NT x64 10.0.22631

@avengerx
Copy link

I was having a similar issue here. VSCode's called git.exe process was eating up all system resources and taking ages to complete -- only to then be called again.

In my case I could notice only the git reflog command was taking long time and resources (and memory) to run.

VSCode Git Console log
2024-08-21 19:41:02.457 [info] > git status -z -uall [98ms]
2024-08-21 19:41:02.540 [info] > git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track)%00%(upstream:remotename)%00%(upstream:remoteref) --ignore-case refs/heads/master refs/remotes/master [72ms]
2024-08-21 19:41:02.628 [info] > git config --local branch.master.vscode-merge-base [80ms]
2024-08-21 19:41:02.628 [warning] [Git][config] git config failed: Failed to execute git
2024-08-21 19:43:35.516 [info] > git reflog master --grep-reflog=branch: Created from *. [166808ms]
2024-08-21 19:43:35.547 [info] > git reflog master --grep-reflog=branch: Created from *. [167047ms]
2024-08-21 19:43:35.621 [info] > git symbolic-ref --short refs/remotes/origin/HEAD [96ms]
2024-08-21 19:43:35.621 [info] fatal: ref refs/remotes/origin/HEAD is not a symbolic ref
2024-08-21 19:43:35.649 [info] > git symbolic-ref --short refs/remotes/origin/HEAD [93ms]
2024-08-21 19:43:35.649 [info] fatal: ref refs/remotes/origin/HEAD is not a symbolic ref
2024-08-21 19:43:35.726 [info] > git merge-base refs/heads/master refs/remotes/origin/master [96ms]
2024-08-21 19:43:35.810 [info] > git -c core.longpaths=true rev-list --count --left-right refs/heads/master...refs/remotes/origin/master [74ms]
2024-08-21 19:43:35.882 [info] > git diff --name-status -z --diff-filter=ADMR c39d29fb60ea50d5dfe4ec65fd99cc6ab47d394b...refs/remotes/origin/master [64ms]
2024-08-21 19:43:48.197 [info] > git reflog master --grep-reflog=branch: Created from *. [165559ms]
2024-08-21 19:43:48.277 [info] > git symbolic-ref --short refs/remotes/origin/HEAD [71ms]
2024-08-21 19:43:48.277 [info] fatal: ref refs/remotes/origin/HEAD is not a symbolic ref
2024-08-21 19:49:50.672 [info] > git config --get commit.template [90ms]

Turns out my repo's .git/logs/refs/heads/master file was 2GB big, such like

$ du -sh .git
2.1G    .git
# (...) dig thru the directory structure (...)
$ du -sh logs/refs/heads/*
2.1G    logs/refs/heads/master

That was a brand new repository, 2MB worth of data, 3 commits total to its single master branch, no big bloat-cleaning commits. So, there was no reason the repo had a 2GB big log. I then found this issue and tried to disable git. Of course it fixed the CPU load. terminal.integrated.shellIntegration.enabled=false didn't help, as I still saw git reflog commands run.

Then I realized, as all that log was bloat, all I needed to do was

git gc

And voila

$ du -sh .git
618K    .git

And VSCode was back to speed. In case anybody else face this issue and, like me, ends up in this GitHub Issue, git-gc was the solution. I still have no idea why the repo log grew up so much in so little time (repo created today).

My VSCode version info:

VS Code version: Code 1.92.2 (fee1edb8d6d72a0ddff41e5f71a671c23ed924b9, 2024-08-14T17:29:30.058Z)
OS version: Windows_NT x64 10.0.19045

@sascharo
Copy link

sascharo commented Aug 31, 2024

I'm on 1.93.0 and just started to experience these slowdowns for the past two days when working with Rust and Burn. git gc did not solve the issue for me, but removing the Trunk extension. The extension locks up certain aspects of my VSC like git when the project directory contains a few dozen of training and validation logs from Burn. Amending the Burn artifact directory to the default .gitignore in the .trunk folder within the project didn't solve the issue.

@bysnet bysnet mentioned this issue Aug 31, 2024
@Soily
Copy link

Soily commented Oct 9, 2024

I'm still experiencing the issue with the latest version 1.94.1.
Beside what was already mentioned here, I'm also not able to see the difference of my changed files for ages. Sometimes after 20 Minutes or so, it will suddenly show me the differences, but in such a state it's very much unusable for productive work.

I also think that the main problem is the 1ms polling of git rev-parse --show-toplevel command. Is there a way to slow this command down, so it only executes for example each 1s?

@ananth-iyer
Copy link

I am having same issue in latest version 1.94 and Insider version 1.95.
if you open multiple files from diff then it reproducible.

@SomeRandomUsern4m3
Copy link

I'm experiencing this issue on the latest release version of vscode(1.95), it has taken upwards of 20 minutes to commit to the main branch and is still committing.

@sysmat
Copy link

sysmat commented Nov 13, 2024

the same 1.95.2

@Anoerak
Copy link

Anoerak commented Nov 18, 2024

Same for me:
Version: 1.95.3 (Universal)

It happens every time I compile (webpack.mix). Closing VS Code is the only solution to release CPU and allow the task to pursue.
Quite annoying in prod.

@aknaian
Copy link

aknaian commented Nov 18, 2024

When I run du -sh .git, I get 6 GB, before and after running git gc. However, after running git gc, this problem is 100% fixed for me, and git is fast again from the lastest version (1.95.3) of vscode in WSL2 on Windows 11.

@lszomoru lszomoru added git GIT issues perf and removed info-needed Issue requires more information from poster labels Dec 9, 2024
@lszomoru lszomoru added this to the Backlog milestone Dec 12, 2024
@rzhao271 rzhao271 added the bug Issue identified by VS Code Team member as probable bug label Dec 16, 2024
@lszomoru lszomoru changed the title The integrated source control (Git) is very very slow in the latest version (1.78.x) Git - The integrated source control (Git) is very very slow in the latest version (1.78.x) Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issue identified by VS Code Team member as probable bug git GIT issues perf
Projects
None yet
Development

No branches or pull requests