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]