[PATCH 6 of 6 V2] obscache: use the obscache to compute the obsolete set

Pierre-Yves David pierre-yves.david at ens-lyon.org
Sun May 21 07:46:49 EDT 2017



On 05/20/2017 05:30 PM, Pierre-Yves David wrote:
> # HG changeset patch
> # User Pierre-Yves David <pierre-yves.david at octobus.net>
> # Date 1495198021 -7200
> #      Fri May 19 14:47:01 2017 +0200
> # Node ID eb7674b12d5a15fc53f10b075dcac7bee91379d2
> # Parent  3c2a082a590aa8b57693c24b8461c2afdb8d5556
> # EXP-Topic obscache
> # Available At https://www.mercurial-scm.org/repo/users/marmoute/mercurial/
> #              hg pull https://www.mercurial-scm.org/repo/users/marmoute/mercurial/ -r eb7674b12d5a
> obscache: use the obscache to compute the obsolete set
>
> Now that we have a cache and that the cache is kept up to date, we can use it to
> speeds up the obsolete set computation. This way, we no longer need to load the
> obsstore for most operation.
>
> On the mercurial-core repository, this provide a significant speed up:

More raw data from the perf extension (including obsstore loading):

Before:
! obsolete:
! wall 0.477085 comb 0.470000 user 0.460000 sys 0.010000 (best of 20)
! visible
! wall 0.474748 comb 0.480000 user 0.470000 sys 0.010000 (best of 20)

After:
! obsolete
! wall 0.001269 comb 0.010000 user 0.010000 sys 0.000000 (best of 2111)
! visible
! wall 0.003150 comb 0.000000 user 0.000000 sys 0.000000 (best of 869)

-- 
Pierre-Yves David


More information about the Mercurial-devel mailing list