]> git.ipfire.org Git - thirdparty/git.git/commit - builtin/pack-objects.c
Don't try to delta if target is much smaller than source
authorBrian Downing <bdowning@lavos.net>
Thu, 12 Jul 2007 12:55:47 +0000 (07:55 -0500)
committerJunio C Hamano <gitster@pobox.com>
Thu, 12 Jul 2007 21:32:34 +0000 (14:32 -0700)
commita1dab41af4c575bb72231c73df26ecb2af4814d6
tree83098f4d7d2336ac9159024f1a6d0e27752d25c5
parentb492bbd8362840f9ac1e5389cdfaa8dd73ca793b
Don't try to delta if target is much smaller than source

Add a new try_delta heuristic.  Don't bother trying to make a delta if
the target object size is much smaller (currently 1/32) than the source,
as it's very likely not going to get a match.  Even if it does, you will
have to read at least 32x the size of the new file to reassemble it,
which isn't such a good deal.  This leads to a considerable performance
improvement when deltifying a mix of small and large files with a very
large window, because you don't have to wait for the large files to
percolate out of the window before things start going fast again.

Signed-off-by: Brian Downing <bdowning@lavos.net>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-pack-objects.c