Re: [PATCH] pack-bitmap: avoid traversal of objects referenced by uninteresting tag
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Mar 22, 2021, 12:16 UTC
- Message-ID
- <YFiKqf8P0XVSca8L@ncase>
- In-Reply-To
- <xmqqk0q4ov95.fsf@gitster.g>
On Thu, Mar 18, 2021 at 05:13:58PM -0700, Junio C Hamano wrote:
Show 13 quoted lines
> Patrick Steinhardt <ps@pks.im> writes: > > > While most benchmarks are probably in the range of noise, the newly > > added 5310.8 benchmark shows a performance improvement of 25600%. > > which sounds impressive, but ... > > > +test_perf 'rev-list with negation (objects)' ' > > + git rev-list --not --all --use-bitmap-index --objects >/dev/null > > +' > > ... is this an interesting use case to begin with, without any > positive end?
Not at all, but it's easy enough to end up with something similar. E.g. `git rev-list $TAG --not --all` wouldn't typically show anything at all if `$TAG` is covered by a revision either, but it shows the same speedup.
I've changed the benchmark to be a bit more realistic here. I've also added a second benchmark which shows a modest 16-20% speedup when using `git rev-list HEAD --not $TAG`, where `HEAD` and `$TAG` point to the same commit. There's probably other cases that may show speedups, but I hope those are good enough for now.
Patrick