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 /environment.c | |
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 'environment.c')
-rw-r--r-- | environment.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/environment.c b/environment.c index 5c4815dbe1..37354c8d05 100644 --- a/environment.c +++ b/environment.c @@ -37,7 +37,7 @@ int core_compression_seen; int fsync_object_files; size_t packed_git_window_size = DEFAULT_PACKED_GIT_WINDOW_SIZE; size_t packed_git_limit = DEFAULT_PACKED_GIT_LIMIT; -size_t delta_base_cache_limit = 16 * 1024 * 1024; +size_t delta_base_cache_limit = 96 * 1024 * 1024; unsigned long big_file_threshold = 512 * 1024 * 1024; const char *pager_program; int pager_use_color = 1; |