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