Re: [PATCH v3] rev-list: exclude promisor objects at walk time
- From
Jeff King <peff@peff.net>
- Date
- Apr 9, 2019, 15:15 UTC
- Message-ID
- <20190409151559.GB12627@sigill.intra.peff.net>
- In-Reply-To
- <xmqqo95f43dq.fsf@gitster-ct.c.googlers.com>
On Wed, Apr 10, 2019 at 12:14:41AM +0900, Junio C Hamano wrote:
Show 28 quoted lines
> Josh Steadmon <steadmon@google.com> writes: > > > For large repositories, enumerating the list of all promisor objects (in > > order to exclude them from a rev-list walk) can take a significant > > amount of time). > > > > When --exclude-promisor-objects is passed to rev-list, don't enumerate > > the promisor objects. Instead, filter them (and any children objects) > > during the actual graph walk. > > > > Remove the mark_uninteresting() function as it's not used anywhere else. > > > > When testing against a large repo [1], this patch reduces the > > connectivity check runtime from 3 minutes to ~7 seconds. > > > > [1]: https://android.googlesource.com/platform/frameworks/base/ > > > > Helped-By: Jonathan Tan <jonathantanmy@google.com> > > Helped-By: Jeff King <peff@peff.net> > > Helped-By: Jonathan Nieder <jrnieder@gmail.com> > > Signed-off-by: Josh Steadmon <steadmon@google.com> > > > > Signed-off-by: Josh Steadmon <steadmon@google.com> > > I've dealt with the stray double-sign-off locally, but is there > anything else planned for v4 or later? Is this performance-only > change, or does it have an externally observable behaviour change > that we can easily add to our test suite?
I am OK if we do not include it, but even if this is "just" a performance-only change, we can always add to our perf regression suite.
-Peff