Re: [WISH] Store also tag dereferences in packed-refs
- From
- Marco Costalba <mcostalba@gmail.com>
- Date
- Nov 19, 2006, 00:28 UTC
- Message-ID
- <e5bfff550611181628o41e11652ycd17ddad5dd21225@mail.gmail.com>
- In-Reply-To
- <7vac2oefuz.fsf@assigned-by-dhcp.cox.net>
Show 5 quoted lines
> > A quick one that is to the point to solve "your" problem. > > show-ref -d >
I was out for dinner, just come back home.
Some quick tests with show-ref -d instead of peek-remote:
- git tree 2374ms - linux tree 2225ms
Not a big change. I reboot before each test to have a guaranteed cold cache.
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.
In both case CPU load is low, processes are heavily I/O bound, so avoiding some fork does not save the day.
Please, tell me if you want me to run some kind of additional test.
Show 28 quoted lines
> I wonder how fast update-server-info is under the same condition
> with your earlier timing.
>
> I am not suggesting you to use update-server-info. The reason I
> am wondering about it are:
>
> (1) traditionally, "peek-remote ." has been the only way to get
> to that information, so you have every right to keep doing
> so;
>
> (2) however, even with presense of packed-refs, upload-pack
> that is invoked by peek-remote needs to consult unpacked
> refs first and then fall back to packed-refs, and only
> using the ^{} information "cached" in packed-refs file and
> computing ^{} itself when dealing with unpacked refs means
> more code, which we need to assess the pros-and-cons.
>
> (3) another inefficiency of using "peek-remote ." is that it
> spawns another process in the "remote" repo and talks with
> it.
>
> So storing this information making upload-pack to reuse it when
> it can might make things go faster for other applications but
> first I wanted to know how much overhead is incurred in the
> extra upload-pack process, and time update-server-info needs to
> prepare the info in .git/info/refs would be a way to get a rough
> estimate for that (you subtract that from "peek-remote ." time).
>It's to late to understand this part of your e-mail ;-) I will read better tomorrow.
Thanks