[PATCH 4 of 4] checkheads: use a "lazyancestors" object for allfuturecommon

Yuya Nishihara yuya at tcha.org
Mon Jun 12 10:30:48 EDT 2017


On Sat, 10 Jun 2017 02:32:21 +0100, Pierre-Yves David wrote:
> # HG changeset patch
> # User Pierre-Yves David <pierre-yves.david at octobus.net>
> # Date 1496666655 -3600
> #      Mon Jun 05 13:44:15 2017 +0100
> # Node ID 51e07bde42f5205650d0c372b361bda78726e9db
> # Parent  4f1a47b8fdacbb3f757ac7f92d783770dcf8215d
> # EXP-Topic skipctx
> # Available At https://www.mercurial-scm.org/repo/users/marmoute/mercurial/
> #              hg pull https://www.mercurial-scm.org/repo/users/marmoute/mercurial/ -r 51e07bde42f5
> checkheads: use a "lazyancestors" object for allfuturecommon
> 
> Instead of walking all ancestors to compute the full set we now check membership
> lazily. This massively speed.
> 
> On a million-ish revision repository, this remove 14 seconds from the push logic,
> making the checkheads function disappear from profile.

Nice. Queued these, thanks.


More information about the Mercurial-devel mailing list