don't let the delta cache grow unbounded in 'git repack'
I have 4GB of RAM on my system which should, in theory, be quite enough to repack a 600 MB repository. However the unbounded delta cache size always pushes it into swap, at which point everything virtually comes to a halt. So unbounded caches are never a good idea. A default of 256MB should be a good compromize between memory usage and speed where medium sized repositories are still likely to fit in the cache with a reasonable memory usage, and larger repositories are going to take quite some time to repack already anyway. While at it, clarify the associated config variable documentation entries a bit. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
f0df1293ac
commit
5749b0b2f9
@ -1218,12 +1218,20 @@ pack.compression::
|
||||
|
||||
pack.deltaCacheSize::
|
||||
The maximum memory in bytes used for caching deltas in
|
||||
linkgit:git-pack-objects[1].
|
||||
A value of 0 means no limit. Defaults to 0.
|
||||
linkgit:git-pack-objects[1] before writing them out to a pack.
|
||||
This cache is used to speed up the writing object phase by not
|
||||
having to recompute the final delta result once the best match
|
||||
for all objects is found. Repacking large repositories on machines
|
||||
which are tight with memory might be badly impacted by this though,
|
||||
especially if this cache pushes the system into swapping.
|
||||
A value of 0 means no limit. The smallest size of 1 byte may be
|
||||
used to virtually disable this cache. Defaults to 256 MiB.
|
||||
|
||||
pack.deltaCacheLimit::
|
||||
The maximum size of a delta, that is cached in
|
||||
linkgit:git-pack-objects[1]. Defaults to 1000.
|
||||
linkgit:git-pack-objects[1]. This cache is used to speed up the
|
||||
writing object phase by not having to recompute the final delta
|
||||
result once the best match for all objects is found. Defaults to 1000.
|
||||
|
||||
pack.threads::
|
||||
Specifies the number of threads to spawn when searching for best
|
||||
|
@ -86,7 +86,7 @@ static int pack_compression_level = Z_DEFAULT_COMPRESSION;
|
||||
static int pack_compression_seen;
|
||||
|
||||
static unsigned long delta_cache_size = 0;
|
||||
static unsigned long max_delta_cache_size = 0;
|
||||
static unsigned long max_delta_cache_size = 256 * 1024 * 1024;
|
||||
static unsigned long cache_max_small_delta_size = 1000;
|
||||
|
||||
static unsigned long window_memory_limit = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user