Re: [WISH] Store also tag dereferences in packed-refs
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Nov 19, 2006, 01:11 UTC
- Message-ID
- <Pine.LNX.4.64.0611181706250.3692@woody.osdl.org>
- In-Reply-To
- <e5bfff550611181628o41e11652ycd17ddad5dd21225@mail.gmail.com>
On Sun, 19 Nov 2006, Marco Costalba wrote:
Show 7 quoted lines
> > Tested also with show-ref only, not useful to me, but just as a comparison. > > - git tree 1420ms > - linux tree 1021ms > > Better, but still slower then what I would expected.
MUCH slower than expected.
Can you do
strace -o tracefile -Ttt git show-ref
and send out the tracefile?
What I _suspect_ is going on is that when you packed your refs, you either didn't prune them (which means that packing didn't actually help you), or if you did prune them, since we don't seem to remove the refs _directories_ when packing, you still have an old and big directory for .git/refs/tags, and just reading that (empty, but non-shrunken) directory takes time.
The -Ttt thing should show quite clearly what takes time.
(This, btw, is one _huge_ reason why the old shell script things with piping sucked. Doing things like performance analysis is so much easier with a builtin thing and really shows what's going on).