Commit 37b57bb
authored
Merge pull request #477 Easy fixes for 'git push' performance
This PR does two things that are super-easy fixes for improving 'git push' performance.
1. Set `pack.useBitmaps` to `false` on mount time.
2. Update Git to Git-2.19.1.gvfs.1.3.ge56ee8b, which includes a change to stop checking ambiguous refs during 'git pack-objects'. This reduces possibly thousands of file reads of the form:
```
.git/<oid>
.git/refs/<oid>
.git/refs/tags/<oid>
.git/refs/heads/<oid>
.git/refs/remotes/<oid>
.git/refs/remotes/<oid>/HEAD
```
By setting the config value, we don't perform these file checks for the object ids that are passed into stdin.
For (1), this PR sets `pack.useBitmaps` to false for VFS for Git enlistments. This config value defaults to true, and during `git pack-objects` we check for the existence of a `.bitmap` file for _every packfile_, even those covered by the multi-pack-index.
Each of these checks took 2-3 seconds on my small test. I hope to get better numbers before merging, but want to see our scale tests.2 files changed
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| 103 | + | |
103 | 104 | | |
104 | 105 | | |
105 | 106 | | |
| |||
0 commit comments