Re: [PATCH 2 of 2] log: drop outdated optimization to walk revisions in reverse order

2016-09-23 Thread Pierre-Yves David



On 09/22/2016 04:24 PM, Yuya Nishihara wrote:

# HG changeset patch
# User Yuya Nishihara 
# Date 1474545564 -32400
#  Thu Sep 22 20:59:24 2016 +0900
# Node ID ffd93984937821bf449e2596acdb15a2c4ee88af
# Parent  63cfb37603c39abe9e7ef58462c39dd1bb83c2df
log: drop outdated optimization to walk revisions in reverse order

Since revset is computed lazily, there would be no (or little) benefit to
reverse 'revs' temporarily.


I've pushed these two. Thanks.

--
Pierre-Yves David
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[PATCH 2 of 2] log: drop outdated optimization to walk revisions in reverse order

2016-09-22 Thread Yuya Nishihara
# HG changeset patch
# User Yuya Nishihara 
# Date 1474545564 -32400
#  Thu Sep 22 20:59:24 2016 +0900
# Node ID ffd93984937821bf449e2596acdb15a2c4ee88af
# Parent  63cfb37603c39abe9e7ef58462c39dd1bb83c2df
log: drop outdated optimization to walk revisions in reverse order

Since revset is computed lazily, there would be no (or little) benefit to
reverse 'revs' temporarily.

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -2152,12 +2152,8 @@ def getgraphlogrevs(repo, pats, opts):
 if not (revs.isdescending() or revs.istopo()):
 revs.sort(reverse=True)
 if expr:
-# Revset matchers often operate faster on revisions in changelog
-# order, because most filters deal with the changelog.
-revs.reverse()
 matcher = revset.match(repo.ui, expr, order=revset.followorder)
 revs = matcher(repo, revs)
-revs.reverse()
 if limit is not None:
 limitedrevs = []
 for idx, rev in enumerate(revs):
@@ -2182,14 +2178,8 @@ def getlogrevs(repo, pats, opts):
 return revset.baseset([]), None, None
 expr, filematcher = _makelogrevset(repo, pats, opts, revs)
 if expr:
-# Revset matchers often operate faster on revisions in changelog
-# order, because most filters deal with the changelog.
-if not opts.get('rev'):
-revs.reverse()
 matcher = revset.match(repo.ui, expr, order=revset.followorder)
 revs = matcher(repo, revs)
-if not opts.get('rev'):
-revs.reverse()
 if limit is not None:
 limitedrevs = []
 for idx, r in enumerate(revs):
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel