Submitter | Pierre-Yves David |
---|---|
Date | May 21, 2017, 3:20 p.m. |
Message ID | <676f348ac34851c8abce.1495380043@nodosa.octopoid.net> |
Download | mbox | patch |
Permalink | /patch/20794/ |
State | Accepted |
Headers | show |
Comments
This combines well with my obscache series for computing the hidden set from an unloaded obsstore. In my mercurial repository (6K hidden changeset): Before: about 0.400s After: about 0.002m Speed-up: about 200x On some mozilla repository with few hidden changesets Before: about 0.085s After: about 0.001m Speed-up: about 100x I don't think we needs to worries about hidden computation time for a while after this. Especially since most of the loops are still in Python and C would speeds them greatly. On 05/21/2017 05:20 PM, Pierre-Yves David wrote: > # HG changeset patch > # User Pierre-Yves David <pierre-yves.david@octobus.net> > # Date 1495374962 -7200 > # Sun May 21 15:56:02 2017 +0200 > # Node ID 676f348ac34851c8abcee9f3fcb024286726c469 > # Parent 844dbf80b468e08649627d2ba66e7ea7950d72d4 > # EXP-Topic dynamicblocker > # Available At https://www.mercurial-scm.org/repo/users/marmoute/mercurial/ > # hg pull https://www.mercurial-scm.org/repo/users/marmoute/mercurial/ -r 676f348ac348 > hidden: drop outdated comment about "dynamic" performance > > This comment is now irrelevant since we have a faster algorithm and no cache. > > diff --git a/mercurial/repoview.py b/mercurial/repoview.py > --- a/mercurial/repoview.py > +++ b/mercurial/repoview.py > @@ -29,11 +29,8 @@ def hideablerevs(repo): > return obsolete.getrevs(repo, 'obsolete') > > def revealedrevs(repo): > - """Non-cacheable revisions blocking hidden changesets from being filtered. > - > - Get revisions that will block hidden changesets and are likely to change, > - but unlikely to create hidden blockers. They won't be cached, so be careful > - with adding additional computation.""" > + """non-cacheable revisions blocking hidden changesets from being filtered > + """ > > cl = repo.changelog > blockers = set() >
On Sun, May 21, 2017 at 06:08:36PM +0200, Pierre-Yves David wrote: > This combines well with my obscache series for computing the hidden set from > an unloaded obsstore. > > In my mercurial repository (6K hidden changeset): > Before: about 0.400s > After: about 0.002m > Speed-up: about 200x > > On some mozilla repository with few hidden changesets > Before: about 0.085s > After: about 0.001m > Speed-up: about 100x Do these numbers belong in a commit message here? or are they when combined with that other series? > > I don't think we needs to worries about hidden computation time for a while > after this. Especially since most of the loops are still in Python and C > would speeds them greatly. > > On 05/21/2017 05:20 PM, Pierre-Yves David wrote: > > # HG changeset patch > > # User Pierre-Yves David <pierre-yves.david@octobus.net> > > # Date 1495374962 -7200 > > # Sun May 21 15:56:02 2017 +0200 > > # Node ID 676f348ac34851c8abcee9f3fcb024286726c469 > > # Parent 844dbf80b468e08649627d2ba66e7ea7950d72d4 > > # EXP-Topic dynamicblocker > > # Available At https://www.mercurial-scm.org/repo/users/marmoute/mercurial/ > > # hg pull https://www.mercurial-scm.org/repo/users/marmoute/mercurial/ -r 676f348ac348 > > hidden: drop outdated comment about "dynamic" performance > > > > This comment is now irrelevant since we have a faster algorithm and no cache. > > > > diff --git a/mercurial/repoview.py b/mercurial/repoview.py > > --- a/mercurial/repoview.py > > +++ b/mercurial/repoview.py > > @@ -29,11 +29,8 @@ def hideablerevs(repo): > > return obsolete.getrevs(repo, 'obsolete') > > > > def revealedrevs(repo): > > - """Non-cacheable revisions blocking hidden changesets from being filtered. > > - > > - Get revisions that will block hidden changesets and are likely to change, > > - but unlikely to create hidden blockers. They won't be cached, so be careful > > - with adding additional computation.""" > > + """non-cacheable revisions blocking hidden changesets from being filtered > > + """ > > > > cl = repo.changelog > > blockers = set() > > > > -- > Pierre-Yves David > _______________________________________________ > Mercurial-devel mailing list > Mercurial-devel@mercurial-scm.org > https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
Patch
diff --git a/mercurial/repoview.py b/mercurial/repoview.py --- a/mercurial/repoview.py +++ b/mercurial/repoview.py @@ -29,11 +29,8 @@ def hideablerevs(repo): return obsolete.getrevs(repo, 'obsolete') def revealedrevs(repo): - """Non-cacheable revisions blocking hidden changesets from being filtered. - - Get revisions that will block hidden changesets and are likely to change, - but unlikely to create hidden blockers. They won't be cached, so be careful - with adding additional computation.""" + """non-cacheable revisions blocking hidden changesets from being filtered + """ cl = repo.changelog blockers = set()