Web lists-archives.com

Re: [PATCH v3] rev-list: exclude promisor objects at walk time




On Wed, Apr 10, 2019 at 12:14:41AM +0900, Junio C Hamano wrote:

> Josh Steadmon <steadmon@xxxxxxxxxx> 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@xxxxxxxxxx>
> > Helped-By: Jeff King <peff@xxxxxxxx>
> > Helped-By: Jonathan Nieder <jrnieder@xxxxxxxxx>
> > Signed-off-by: Josh Steadmon <steadmon@xxxxxxxxxx>
> >
> > Signed-off-by: Josh Steadmon <steadmon@xxxxxxxxxx>
> 
> 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