Skip to content

Commit 37b57bb

Browse files
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 parents e7af4b9 + 00137c4 commit 37b57bb

2 files changed

Lines changed: 2 additions & 1 deletion

File tree

GVFS/GVFS.Build/GVFS.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
<PropertyGroup Label="Parameters">
55
<GVFSVersion>0.2.173.2</GVFSVersion>
6-
<GitPackageVersion>2.20181018.1</GitPackageVersion>
6+
<GitPackageVersion>2.20181107.1</GitPackageVersion>
77
</PropertyGroup>
88

99
<PropertyGroup Label="DefaultSettings">

GVFS/GVFS/CommandLine/GVFSVerb.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ public static bool TrySetRequiredGitConfigSettings(Enlistment enlistment)
100100
{ "index.version", "4" },
101101
{ "merge.stat", "false" },
102102
{ "merge.renames", "false" },
103+
{ "pack.useBitmaps", "false" },
103104
{ "receive.autogc", "false" },
104105
{ "status.deserializePath", gitStatusCachePath },
105106
};

0 commit comments

Comments
 (0)