[PATCH 2 of 2] push: restrict common discovery to the pushed set

Augie Fackler raf at durin42.com
Thu Dec 7 17:35:49 EST 2017


On Thu, Dec 07, 2017 at 01:32:13PM +0100, Boris Feld wrote:
> # HG changeset patch
> # User Boris Feld <boris.feld at octobus.net>
> # Date 1512599581 -3600
> #      Wed Dec 06 23:33:01 2017 +0100
> # Node ID eeed65db2847b39998c8a08cfa4e44ec8381b2e9
> # Parent  f2fcdbfa1475d055caaa44c9cc23a58284c97e4b
> # EXP-Topic discovery
> # Available At https://bitbucket.org/octobus/mercurial-devel/
> #              hg pull https://bitbucket.org/octobus/mercurial-devel/ -r eeed65db2847
> push: restrict common discovery to the pushed set
>
> This changeset make use of the ability of the set discovery to only search
> common changeset for a subset of the repository. Restricting that search to the
> pushed set avoid potential waste of time finding out the status of many
> unrelated related revision.
>
> Repository with many heads were especially badly affected by this. Here is an
> example of findcommonhead discovery for pushing 11 outgoing changeset on a
> repository with tens of thousand of unrelated heads. (discovery run over a ssh
> link to localhost).
>
> Before:
>     queries: 92
>     time:    44.1996s
>
> After:
>     queries: 3
>     time:    0.6938s
>
> A x63 speedup even with a network link without latency.

Wow. Queued.


More information about the Mercurial-devel mailing list