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

Re: gc --aggressive

From
Nicolas Pitre <nico@fluxnic.net>
Date
May 1, 2012, 17:47 UTC
Message-ID
<alpine.LFD.2.02.1205011342160.21030@xanadu.home>
In-Reply-To
<20120501172201.GA23527@sigill.intra.peff.net>
On Tue, 1 May 2012, Jeff King wrote:
Show 15 quoted lines
> On Tue, May 01, 2012 at 01:17:03PM -0400, Nicolas Pitre wrote:
> 
> > However, this is possibly a good baseline to determine a default value 
> > for window-memory though.  Given your number, we clearly see that good 
> > packing can be achieved with relatively little memory and therefore it 
> > might be a good idea not to leave this parameter unbounded by default in 
> > order to catch potential pathological cases.  Maybe 64M would be a good 
> > default value?  Having a repack process eating up more than 16GB of RAM 
> > because its RAM usage is unbounded is certainly not nice.
> 
> Would that preclude a 65M object from being delta'd at all? If you are
> putting a limit of 64M and it means we look at 50 delta candidates
> instead of 60, then that is probably not going to hurt our size too
> much. But if you have large objects that do happen to delta, the
> difference between looking at 0 and 1 objects could have a big impact.

If I remember correctly (long time ago since I wrote that code) there is always a minimum of one object in the search window. So with 32M objects you'd have only 2 candidates, with 33M objects and bigger there would be only one candidate. Obviously the window could still be filled with smaller objects if the total object size is less than 64M.

Nicolas
Previous: Jeff KingNext: Nicolas Pitre
Message 19 of 26 in “gc --aggressive”
  1. Jay SoffianApr 17, 2012
  2. Jay SoffianApr 17, 2012
  3. Matthieu MoyApr 17, 2012
  4. Jeff KingApr 17, 2012
  5. Jeff KingApr 28, 2012
  6. Nicolas PitreApr 28, 2012
  7. Jeff KingApr 29, 2012
  8. Nicolas PitreApr 29, 2012
  9. Jeff KingMay 1, 2012
  10. Jeff KingMay 1, 2012
  11. Nicolas PitreMay 1, 2012
  12. Junio C HamanoMay 1, 2012
  13. Nicolas PitreMay 1, 2012
  14. Jeff KingMay 1, 2012
  15. Jeff KingMay 1, 2012
  16. Nicolas PitreMay 1, 2012
  17. Nicolas PitreMay 1, 2012
  18. Jeff KingMay 1, 2012
  19. Nicolas PitreMay 1, 2012
  20. Nicolas PitreApr 28, 2012
  21. Jeff KingApr 17, 2012
  22. Junio C HamanoApr 17, 2012
  23. Jeff KingApr 17, 2012
  24. Junio C HamanoApr 17, 2012
  25. Nicolas PitreApr 28, 2012
  26. Andreas EricssonApr 18, 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.