Thread (25 messages) flat view 25 messages, 7 authors, 2016-06-15

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

From: Nicolas Pitre <hidden>
Date: 2016-06-15 22:47:12

On Fri, 7 Aug 2009, Johannes Schindelin wrote:
Hi,

On Fri, 7 Aug 2009, Nicolas Pitre wrote:
quoted
On Fri, 7 Aug 2009, Sam Vilain wrote:
quoted
Johannes Schindelin wrote:
quoted
quoted
the short answer is that cache slices are totally independant of 
pack files.
    
My idea with that was that you already have a SHA-1 map in the pack 
index, and if all you want to be able to accelerate the revision 
walker, you'd probably need something that adds yet another mapping, 
from commit to parents and tree, and from tree to sub-tree and blob 
(so you can avoid unpacking commit and tree objects).
  
Tying indexes together like that is not a good idea in the database 
world. Especially as in this case as Nick mentions, the domain is 
subtly different (ie pack vs dag). Unfortunately you just can't try to 
pretend that they will always be the same; you can't force a full 
repack on every ref change!
Right.  And the rev cache must work even if the repository is not 
packed.
Umm, why?  AFAICT the principal purpose of the rev cache is to help work 
loads on, say, www.kernel.org.
So what?

Speeding up rev-list with a rev cache is completely orthogonal to 
whether the repository is packed or not.  It is like having a "git diff" 
result cache: no one would think of stuffing that in the pack index.

If we want to improve on the repository packing format, that must be 
doable without bothering with an independent concept such as a rev 
cache.
I am unlikely to notice the improvements in my regular "git log" calls 
that only show a couple of pages before I quit the pager.
Indeed.  But what is your point again?


Nicolas
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help