git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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>
Previous: Jeff KingNext: Junio C Hamano
Message 7 of 12 in “thin packs ending up fat”
  1. Jeff KingJan 12, 2012
  2. Jeff KingJan 12, 2012
  3. Nicolas PitreJan 12, 2012
  4. Junio C HamanoJan 13, 2012
  5. Junio C HamanoJan 13, 2012
  6. Jeff KingJan 13, 2012
  7. Jeff KingJan 13, 2012
  8. Junio C HamanoJan 13, 2012
  9. Jeff KingJan 13, 2012
  10. Nicolas PitreJan 13, 2012
  11. Ævar Arnfjörð BjarmasonJan 13, 2012
  12. Jeff KingJan 13, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.