On large repositories, SmartGit performs sluggishly compared to command-line git when doing refresh operations.
This makes the experience of working in SmartGit frustrating in large repos, because SmartGit performs refresh operations frequently (e.g. after pulls, after certain failed push operations, when the window comes to the foreground, etc).
As an example, we have a repo containing approximately 254,000 files. Here are the results comparing SmartGit ("17.1 preview 7 #11051, installed: #11019") versus Git for Windows ("2.12.2", 64-bit).
Initial refresh after startup ("cold cache" test):
- SmartGit: 24 seconds
- Command line: 2.5 seconds
Subsequent refreshes of same repo:
- SmartGit: 14 seconds
- Command line: 1.5 seconds
In these tests, SmartGit is consistently 9-10x slower than command-line git.
Perhaps this is because SmartGit is (last I checked with Syntevo) using the java-base jgit library for all read-only operations.
Significant work has been put into command-line git over the past year (especially by Microsoft itself, which now uses git as their own internal source control on major products like Windows itself).
It's a shame that SmartGit does not take advantage of these improvements to make the SmartGit experience as snappy as the command line one.
Customer support service by UserEcho