Re: [PATCH 5/6] pack-bitmap: save "have" bitmap from walk
- From
Derrick Stolee <stolee@gmail.com>
- Date
- Aug 21, 2018, 19:47 UTC
- Message-ID
- <7dadd117-e7f4-4d15-b907-043718022494@gmail.com>
- In-Reply-To
- <20180821190701.GE30764@sigill.intra.peff.net>
On 8/21/2018 3:07 PM, Jeff King wrote:
Show 6 quoted lines
> When we do a bitmap walk, we save the result, which > represents (WANTs & ~HAVEs); i.e., every object we care > about visiting in our walk. However, we throw away the > haves bitmap, which can sometimes be useful, too. Save it > and provide an access function so code which has performed a > walk can query it.
This makes a lot of sense. Based on the amount of time the "Counting Objects" blog post [1] spent talking about delta bases, I would have assumed this "haves" bitmap was already part of it. But, I can also see how it could be dropped if you are focusing on performance for 'git clone'.
Show 10 quoted lines
> A few notes on the accessor interface: > > - the bitmap code calls these "haves" because it grew out > of the want/have negotiation for fetches. But really, > these are simply the objects that would be flagged > UNINTERESTING in a regular traversal. Let's use that > more universal nomenclature for the external module > interface. We may want to change the internal naming > inside the bitmap code, but that's outside the scope of > this patch.
I saw the uninteresting-vs-haves name confusion in the patch below, but I agree with your logic here.
Sorry that I'm late to the party, but I was interested in the topic.
Thanks,
-Stolee
[1] https://githubengineering.com/counting-objects/
"Counting Objects" by Vincent Martí