Based on Linus' comment I changed your patch to just the following. It still produced the 46M pack file, so the first hunk apears to not have had much of an affect with this data. From a running time perspective it appears as though this patch is making things slightly better, not worse. I ran it a few times for each case always using the 46M pack as input for "git-repack -a -d -f". 'next' 137.13 real 95.82 user 25.24 sys 'next'+patch 131.62 real 89.35 user 28.56 sys but even if the running time was an extra 6 seconds I'd still rather spend 4% more running time to use 1/2 the storage space. diff --git a/pack-objects.c b/pack-objects.c index 09f4f2c..f7d6217 100644 --- a/pack-objects.c +++ b/pack-objects.c @@ -1052,7 +1052,7 @@ static int try_delta(struct unpacked *cu if (cur_entry->delta) max_size = cur_entry->delta_size-1; if (sizediff >= max_size) - return -1; + return 0; delta_buf = diff_delta(old->data, oldsize, cur->data, size, &delta_size, max_size); if (!delta_buf) - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Thu, 20 Apr 2006 21:20:29 -0400
This archive was generated by hypermail 2.1.8 : 2006-04-21 11:21:36 EST