-
-
Notifications
You must be signed in to change notification settings - Fork 126
Description
I work on a large repo, and I wanted to see if this tool could help my team. It seems like it would, but it is prohibitively slow to use.
Is this level of performance expected, or have I maybe set something up incorrectly?
Large repo
git-sim log -n 2: 24m 5s 7ms
git-sizer output
Processing blobs: 121739
Processing trees: 149846
Processing commits: 17891
Matching commits to trees: 17891
Processing annotated tags: 1491
Processing references: 12914
| Name | Value | Level of concern |
|---|---|---|
| Biggest objects | ||
| * Trees | ||
| * Maximum entries [1] | 15.9 k | *************** |
| * Blobs | ||
| * Maximum size [2] | 75.1 MiB | ******* |
| Biggest checkouts | ||
| * Maximum path depth [3] | 17 | * |
| * Maximum path length [4] | 173 B | * |
Medium repo
I ran it on a medium-ish size repo as another reference point.
git-sim log: 1m 17s 949ms
git-sim log -n 2: 24s 134ms
These times are more acceptable, although still slower than I'd like.
git-sizer output
Processing blobs: 5497
Processing trees: 3449
Processing commits: 977
Matching commits to trees: 977
Processing annotated tags: 0
Processing references: 4399
| Name | Value | Level of concern |
|---|---|---|
| Biggest objects | ||
| * Trees | ||
| * Maximum entries [1] | 3.84 k | *** |
| * Blobs | ||
| * Maximum size [2] | 68.1 MiB | ******* |
Dummy repo
As a control I ran it on the dummy repo generated from
git-dummy --name="dummy-repo" --branches=3 --commits=10
git-sim log: 5s 305ms
Then for funsies I created a few more dummy repos, running log on them:
git-dummy --name="dummy-repo" --branches=5 --commits=100: 5s 331ms
git-dummy --name="dummy-repo" --branches=50 --commits=100: 12s 852ms
git-dummy --name="dummy-repo" --branches=10 --commits=500: 5s 388ms
It's interesting, it looks like number of commits doesn't terribly affect the results, but the number of branches does.
Environment
Windows 10.0.19044 Build 19044
git-sim version 0.3.0
Python 3.10.5
manimce 0.17.3
git version 2.40.1.windows.1
Windows Terminal Version: 1.16.10261.0