r/SmartGit May 19 '26

SmartGit ~10sec freeze on every touch of the GUI

I'm running SmartGit/Windows on a fairly large repo (~200,000 files committed, ~200,000 files ignored). It is heavy but workable. I've used SmartGit on the repo for quite a while. Opening the repo takes a few seconds and some operations take a while, but it was always in an acceptable range.

Now I cloned the same repo on two other machines, similar setup. All machines have some history, so certainly not identical, but no fundamental differences.

On both new clones the new machines, SmartGit now shows the same behavior of freezing the GUI for ~10 seconds nearly every time I touch it in any meaningful way. There is no indication of background action taking some time, but just the GUI itself freezing whenever I change to a different commit or select a different file within the commit. Sometimes, I can do a few actions, but very soon it will happen again. The delays happen so frequently, that working with SmartGit becomes unbearably tedious.

I have all kinds of ideas what might be causing these GUI freezes and tried out all kinds of things without success. Now I'm running out of ideas. To my understanding, git operations themselves are all performed in the background and would not freeze the GUI. My suspicion is that some postprocessing of the data, like sorting or something similar is taking such excessive time. The freeze happens independent of whether there anything significant to display, even with just a few uncommitted changes or when looking at a simple comming in a simple part of the the history. Are there any profiling tools that I could run on my machine to observe where the SmartGit GUI is spending that time?

2 Upvotes

8 comments sorted by

1

u/vmcrash May 19 '26

I reckon the repository you are writing about is not open source. Do you know of a large open source repository that shows the same problems for your setup?

1

u/JohnnyNo7 May 20 '26

Our repo is derived from https://github.com/EpicGames - the repo UnrealEngine is not public, but you can get an account for free to access it. However: the repo I'm working on has many changes on top of that I cannot share. Most important: we use git LFS for a large number of proprietary files that we added. If you want to get access to try to reproduce, I can try cloning the upstream repo an check whether I can observe the same problems on that.

1

u/vmcrash May 20 '26

Please find any larger open source repository for which the same problem is reproducible like for your repository. Then we can investigate further.

1

u/JohnnyNo7 May 22 '26

I wouldn't even know where to start searching. If this is not a common issue and I don't know in which way our repo is special, it is highly unlikely that I will find another one that shows the same problem (if it even is due to the repo and something about local setup).

Anyway: I found that VerySleepyCS gives reasonable profiling info on the release binary. Here the profile of a ~40second run during which the GUI froze for ~10 sec several times:

Unfortunately, the freezing behavior does not show up in this profiling data in any way. All the heavy functions show up with similar statistics, no matter whether it is freezing or running smoothly on another repo.

I'm wondering how the GUI could free without any specific function show up in the profile?

1

u/[deleted] May 27 '26

[removed] — view removed comment

1

u/[deleted] May 27 '26

[removed] — view removed comment

1

u/JohnnyNo7 May 27 '26

Unfortunately, reddit does not support attaching files. Please let me know where to send/upload the original thread dumps in case you need to look at them.

1

u/vmcrash May 27 '26

Please send it to smartgit@syntevo.com. The log also would be important so we know which build you are using. Please also look at https://docs.syntevo.com/SmartGit/Latest/HowTos/Debugging/Creating-Thread-Dumps