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

Re: 1.3.0 creating bigger packs than 1.2.3

From
Linus Torvalds <torvalds@osdl.org>
Date
Apr 20, 2006, 17:03 UTC
Message-ID
<Pine.LNX.4.64.0604200954440.3701@g5.osdl.org>
In-Reply-To
<20060420164351.GB31738@spearce.org>
On Thu, 20 Apr 2006, Shawn Pearce wrote:
> 
> Oddly enough repacking the v1.2.3 pack using 1.3.0.g56c1 created an
> even smaller pack ("git-repack -a -d"):

That's "normal". Repacking without -f will always pack _more_, never less. So a different packing algorithm can only improve (of course, usually not by a huge margin, and it quickly diminishes).

> but then adding -f definately gives us the 2x explosion again:
> 
>   Total 46391, written 46391 (delta 6649), reused 37894 (delta 0)
>   129M pack-7f766f5af5547554bacb28c0294bd562589dc5e7.pack

Right. Doing the -f will discard any old packing info, so if the new packing algorithm has problems (and it obviously does), then using -f will show them.

Show 7 quoted lines
> > You could try to revert that change:
> > 
> > 	git revert eeef7135fed9b8784627c4c96e125241c06c65e1
> 
> Whoa.  I did that revert and fixup on top of 'next'.  The pack
> from "git-repack -a -d -f" is now even larger due to even less
> delta reuse:
Ok, so that wasn't it, and the new sort order is superior.

That means that it probably _is_ the delta changes themselves (probably commit c13c6bf7 "diff-delta: bound hash list length to avoid O(m*n) behavior". You can try

	git revert c13c6bf7

to see if that's it. Although Nico already showed interest, and if you make the archive available to him, he's sure to figure it out.

> With --window=50 on 'next' (without the revert'):
> 
>   Total 46391, written 46391 (delta 6666), reused 39723 (delta 0)
>   129M pack-7f766f5af5547554bacb28c0294bd562589dc5e7.pack

Yeah, that didn't do much. Slightly more deltas than without, but not a lot, and it didn't matter much size-wise.

You can try "--depth=50" (slogan: more "hot delta on delta action"), but it's looking less and less like a delta selection issue, and more and more like the deltas themselves are deproved.

			Linus
Previous: Shawn PearceNext: Junio C Hamano
Message 6 of 30 in “1.3.0 creating bigger packs than 1.2.3”
  1. Shawn PearceApr 20, 2006
  2. Linus TorvaldsApr 20, 2006
  3. Shawn PearceApr 20, 2006
  4. Linus TorvaldsApr 20, 2006
  5. Shawn PearceApr 20, 2006
  6. Linus TorvaldsApr 20, 2006
  7. Junio C HamanoApr 20, 2006
  8. Shawn PearceApr 20, 2006
  9. Nicolas PitreApr 20, 2006
  10. Junio C HamanoApr 20, 2006
  11. Shawn PearceApr 20, 2006
  12. Jakub NarebskiApr 20, 2006
  13. Nicolas PitreApr 20, 2006
  14. Shawn PearceApr 20, 2006
  15. Nicolas PitreApr 20, 2006
  16. Junio C HamanoApr 20, 2006
  17. Nicolas PitreApr 20, 2006
  18. Junio C HamanoApr 20, 2006
  19. Shawn PearceApr 20, 2006
  20. Junio C HamanoApr 20, 2006
  21. Shawn PearceApr 21, 2006
  22. Linus TorvaldsApr 20, 2006
  23. Nicolas PitreApr 21, 2006
  24. Shawn PearceApr 21, 2006
  25. Nicolas PitreApr 21, 2006
  26. Shawn PearceApr 21, 2006
  27. Nicolas PitreApr 21, 2006
  28. Shawn PearceApr 21, 2006
  29. Junio C HamanoApr 20, 2006
  30. Nicolas PitreApr 20, 2006

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.