Re: [PATCH 0/7] speeding up cat-file by reordering object access
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 16, 2018, 18:52 UTC
- Message-ID
- <xmqqmutmdu02.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <20180816173934.GC882@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
> I think that makes sense. We already see duplicates from > for_each_packed_object() when they're in multiple packs, and callers > just need to be ready to deal with it (and depending on what you're > doing, you may actually _want_ the duplicates).
You of course would also see dups between loose and packed until prune-packed is run.
I also was thinking about the same thing after Derrick's response, but unless you are very specialized caller, it does not allow you do very much to learn that object X exists as a loose object locally, also as a loose object in our alternate, and also in pack A, but not in other packs. You need a way to say "Read the contents of object X from that place, not from any other place", "Remove that copy of object X at that place, but not at any other place" etc. to make effective use of that kind of information.
The codepath that implements runtime access has "I found a copy here, but it is unusable, so let's go on to look for another usable copy" fallback. This is a tangent but it is something we should not lose in the midx-enabled world.