On Mon, May 5, 2014 at 12:13 AM, David Kastrup <dak@xxxxxxx> wrote: > 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 ... > diff --git a/Documentation/config.txt b/Documentation/config.txt > index 1932e9b..21a3c86 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. So emacs.git falls exactly into the "except on the largest projects" part. Would it make more sense to advise git devs to set this per repo instead? The majority of (open source) repositories out there are small if I'm not mistaken. Of those few big repos, we could have a section listing all the tips and tricks to tune git. This is one of them. Index v4 and sparse checkout are some other. In future, maybe watchman support, split index and untracked cache as well. -- Duy -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html