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

Re: [PATCH 0/5] Suggested for PU: revision caching system to significantly speed up packing/walking

From
Sam Vilain <sam@vilain.net>
Date
Aug 8, 2009, 23:54 UTC
Message-ID
<1249775658.7114.66.camel@maia.lan>
In-Reply-To
<alpine.DEB.1.00.0908081709380.8306@pacific.mpi-cbg.de>
On Sat, 2009-08-08 at 17:18 +0200, Johannes Schindelin wrote:
Show 18 quoted lines
> > Speeding up rev-list with a rev cache is completely orthogonal to 
> > whether the repository is packed or not.
> 
> No, it is not.
> 
> For both technical and practical reasons, caching revision walker data is
> very closely related to packing.
> [...]
> ... the rev cache has a certain target audience, 
> and that the regular user is not part of that audience, and that it just 
> so happens that the _technical_ similarities with the pack index can be 
> exploited in those scenarios?
> 
> IOW we can be pretty certain that a heavy-load server has a fully (or 
> next-to-fully) packed object database.  The pack indices already contain a 
> SHA-1 table that we can simply reuse.  And it should not be hard (or 
> fragile) at all to put the "cached" information about parents, 
> referenced tree and blob objects into that file, into a different section.

I think your argument would work better if packs and bundles were the same thing, and we always stored bundles in the objects/packs directory, but they're not and we don't. You can't assume that a pack has any particular properties, such as representing the objects returned from a single rev-cache walk. And I will say that *especially* on a busy git server, serving active projects you can't expect people to repack their repository for every single update. Repacking daily or so by a batch job, sure. Expecting the repository to always be fully packed? No. Too much churn, or inefficient packing. You can't just pretend that the mixed packed/loose case doesn't exist.

The 10% size seems a very good bang for your buck to me and a good start.

Sam
Previous: Junio C HamanoNext: Nicolas Pitre
Message 21 of 34 in “Suggested for PU: revision caching system to significantly speed up packing/walking”
  1. 0/5 Suggested for PU: revision caching system to significantly speed up packing/walkingNick Edelen, Aug 6, 2009
  2. Johannes SchindelinAug 6, 2009
  3. Michael J GruberAug 6, 2009
  4. Nick EdelenAug 6, 2009
  5. Johannes SchindelinAug 6, 2009
  6. Nick EdelenAug 6, 2009
  7. Nick EdelenAug 6, 2009
  8. Shawn O. PearceAug 6, 2009
  9. A Large Angry SCMAug 6, 2009
  10. Shawn O. PearceAug 6, 2009
  11. A Large Angry SCMAug 6, 2009
  12. Nick EdelenAug 7, 2009
  13. Johannes SchindelinAug 7, 2009
  14. Nicolas PitreAug 7, 2009
  15. Sam VilainAug 7, 2009
  16. Nicolas PitreAug 7, 2009
  17. Johannes SchindelinAug 7, 2009
  18. Nicolas PitreAug 7, 2009
  19. Johannes SchindelinAug 8, 2009
  20. Junio C HamanoAug 8, 2009
  21. Sam VilainAug 8, 2009
  22. Nicolas PitreAug 9, 2009
  23. Nick EdelenAug 9, 2009
  24. Johannes SchindelinAug 7, 2009
  25. Nicolas PitreAug 7, 2009
  26. Nick EdelenAug 7, 2009
  27. Junio C HamanoAug 7, 2009
  28. Nick EdelenAug 7, 2009
  29. Junio C HamanoAug 8, 2009
  30. Nick EdelenAug 8, 2009
  31. Jeff KingAug 8, 2009
  32. Nick EdelenAug 8, 2009
  33. Jeff KingAug 8, 2009
  34. Junio C HamanoAug 8, 2009

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.