Re: thin packs ending up fat
- From
Jeff King <peff@peff.net>
- Date
- Jan 13, 2012, 01:59 UTC
- Message-ID
- <20120113015920.GB8245@sigill.intra.peff.net>
- In-Reply-To
- <20120113015117.GA8245@sigill.intra.peff.net>
On Thu, Jan 12, 2012 at 08:51:17PM -0500, Jeff King wrote:
Show 8 quoted lines
> > Tweak the recomputation avoidance logic, so that we do not punt on > > computing delta against a preferred base object. > > > > Signed-off-by: Junio C Hamano <gitster@pobox.com> > > Other than that, it looks good to me. > > Signed-off-by: Jeff King <peff@peff.net>
Actually, Nicolas asked for the numbers to go into the commit message (and gave his acked-by). So maybe append:
The effect of this patch can be seen on two simulated upload-pack workloads. The first is based on 44 reflog entries from my git.git origin/master reflog, and represents the packs that kernel.org produced to send me git updates for the past month or two. The second workload represents much larger fetches, going from git's v1.0.0 tag to v1.1.0, then v1.1.0 to v1.2.0, and so on.
The table below shows the average generated pack size and the average CPU time consumed for each dataset, both before and after the patch:
dataset
| reflog | tags
---------------------------------
before | 53358 | 2750977
size after | 32398 | 2668479
change | -39% | -3%
---------------------------------
before | 0.18 | 1.12
CPU after | 0.18 | 1.15
change | +0% | +3%This patch makes a much bigger difference for packs with a shorter slice of history (since its effect is seen at the boundaries of the pack) though it has some benefit even for larger packs.
Acked-by: Nicolas Pitre <nico@fluxnic.net>