On Thu, Jan 12, 2012 at 08:51:17PM -0500, Jeff King wrote: > > 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@xxxxxxxxx> > > Other than that, it looks good to me. > > Signed-off-by: Jeff King <peff@xxxxxxxx> 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@xxxxxxxxxxx> -- 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