Mercurial > public > mercurial-scm > hg
diff tests/test-ancestor.py.out @ 39536:bdb177923291
ancestor: optimize _lazyancestorsiter() for contiguous chains
If there's no revision between p1 and current, p1 must be the next revision
to visit. In this case, we can get around the overhead of heappop/push
operations. Note that this is faster than using heapreplace().
'current - p1 == 1' could be generalized as 'all(r not in seen for r in
xrange(p1, current)', but Python is too slow to do such thing.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Mon, 10 Sep 2018 21:58:59 +0900 |
parents | 7eadc9407867 |
children | d097dd0afc19 |
line wrap: on
line diff
--- a/tests/test-ancestor.py.out Mon Sep 10 21:54:40 2018 +0900 +++ b/tests/test-ancestor.py.out Mon Sep 10 21:58:59 2018 +0900 @@ -22,3 +22,6 @@ % lazy ancestor set for [11, 13], stoprev = 12, inclusive = True membership: [13] iteration: [13] +% lazy ancestor set for [10, 1], stoprev = 0, inclusive = True +membership: [2, 10, 4, 5, 0, 1] +iteration: [10, 5, 4, 2, 1, 0]