diff options
author | David Kastrup <dak@gnu.org> | 2014-05-04 19:13:57 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-05-06 15:32:21 -0700 |
commit | 4874f544f1574a55d787339a6455f524768c1b5d (patch) | |
tree | 9301b5fcab51044eba6f9cf7bf02b92125cef445 /Documentation | |
parent | b4f86a4ce85e4e370a67455de6586a02f158a789 (diff) | |
download | git-4874f544f1574a55d787339a6455f524768c1b5d.tar.gz |
Bump core.deltaBaseCacheLimit to 96mdk/raise-core-deltabasecachelimit
The default of 16m causes serious thrashing for large delta chains
combined with large files.
Here are some benchmarks (pu variant of git blame):
time git blame -C src/xdisp.c >/dev/null
for a repository of Emacs repacked with git gc --aggressive (v1.9,
resulting in a window size of 250) located on an SSD drive. The file in
question has about 30000 lines, 1Mb of size, and a history with about
2500 commits.
16m (previous default):
real 3m33.936s
user 2m15.396s
sys 1m17.352s
32m:
real 3m1.319s
user 2m8.660s
sys 0m51.904s
64m:
real 2m20.636s
user 1m55.780s
sys 0m23.964s
96m:
real 2m5.668s
user 1m50.784s
sys 0m14.288s
128m:
real 2m4.337s
user 1m50.764s
sys 0m12.832s
192m:
real 2m3.567s
user 1m49.508s
sys 0m13.312s
Signed-off-by: David Kastrup <dak@gnu.org>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/config.txt | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt index 1932e9b9a2..21a3c86fa0 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -489,7 +489,7 @@ core.deltaBaseCacheLimit:: to avoid unpacking and decompressing frequently used base objects multiple times. + -Default is 16 MiB on all platforms. This should be reasonable +Default is 96 MiB on all platforms. This should be reasonable for all users/operating systems, except on the largest projects. You probably do not need to adjust this value. + |