On Wed 22.Jul'09 at 21:40:36 -0700, Junio C Hamano wrote:
Is the cold cache performance of "git branch" to list your
local branches that important?
I simply felt like something not optimal was going on, and in
some sense I still feel it even with Linus' patch applied...
Don't get me wrong, I am super happy that Linus fixed it
so quickly and I am grateful for that, but I am surely missing
some git internal reason why 'git branch' is not instantaneous
as I _naively_ expected.
Having learned about .git/packed-refs last night, today I tried
this (with cold cache),
[mafra@Pilar:linux-2.6]$ time awk '{print $2}' .git/packed-refs |grep heads| awk -F "/" '{print $3}'
0.00user 0.00system 0:00.12elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (3major+311minor)pagefaults 0swaps
27-stable
28-stable
29-stable
30-stable
dev-private
master
option
sparse
stern
and notice how that makes my pitiful harddisc look like Linus' SSD! And the
result is the same.
[ If some branches are not inside .git/packed-refs but are listed in .git/refs/heads
(like some of them were last night), it would require some modification to the
script, but it would still be faster ]
However, I know that I am missing something here and I would be happy to
learn what.
Thanks in advance,
Carlos