Mercurial > hg-stable
annotate tests/test-ancestor.py.out @ 39553: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 |
rev | line source |
---|---|
18091
f7f8159caad3
ancestor: add lazy membership testing to lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents:
18079
diff
changeset
|
1 % lazy ancestor set for [], stoprev = 0, inclusive = False |
23329
c6cd4b8b76f8
test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents:
22355
diff
changeset
|
2 membership: [] |
c6cd4b8b76f8
test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents:
22355
diff
changeset
|
3 iteration: [] |
18091
f7f8159caad3
ancestor: add lazy membership testing to lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents:
18079
diff
changeset
|
4 % lazy ancestor set for [11, 13], stoprev = 0, inclusive = False |
23329
c6cd4b8b76f8
test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents:
22355
diff
changeset
|
5 membership: [7, 8, 3, 4, 1, 0] |
39490
b6db2e80a9ce
ancestors: actually iterate over ancestors in topological order (issue5979)
Boris Feld <boris.feld@octobus.net>
parents:
23331
diff
changeset
|
6 iteration: [8, 7, 4, 3, 2, 1, 0] |
22355
731b2a90983b
test-ancestor: add a test for `ancestor` with ancestry within the initset
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
18091
diff
changeset
|
7 % lazy ancestor set for [1, 3], stoprev = 0, inclusive = False |
23329
c6cd4b8b76f8
test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents:
22355
diff
changeset
|
8 membership: [1, 0] |
39490
b6db2e80a9ce
ancestors: actually iterate over ancestors in topological order (issue5979)
Boris Feld <boris.feld@octobus.net>
parents:
23331
diff
changeset
|
9 iteration: [1, 0] |
18091
f7f8159caad3
ancestor: add lazy membership testing to lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents:
18079
diff
changeset
|
10 % lazy ancestor set for [11, 13], stoprev = 0, inclusive = True |
23329
c6cd4b8b76f8
test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents:
22355
diff
changeset
|
11 membership: [11, 13, 7, 8, 3, 4, 1, 0] |
39491
a60dae060bc8
ancestors: ensure a consistent order even in the "inclusive" case
Boris Feld <boris.feld@octobus.net>
parents:
39490
diff
changeset
|
12 iteration: [13, 11, 8, 7, 4, 3, 2, 1, 0] |
18091
f7f8159caad3
ancestor: add lazy membership testing to lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents:
18079
diff
changeset
|
13 % lazy ancestor set for [11, 13], stoprev = 6, inclusive = False |
23329
c6cd4b8b76f8
test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents:
22355
diff
changeset
|
14 membership: [7, 8] |
39490
b6db2e80a9ce
ancestors: actually iterate over ancestors in topological order (issue5979)
Boris Feld <boris.feld@octobus.net>
parents:
23331
diff
changeset
|
15 iteration: [8, 7] |
18091
f7f8159caad3
ancestor: add lazy membership testing to lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents:
18079
diff
changeset
|
16 % lazy ancestor set for [11, 13], stoprev = 6, inclusive = True |
23329
c6cd4b8b76f8
test-ancestor: test iteration for lazyancestors
Siddharth Agarwal <sid0@fb.com>
parents:
22355
diff
changeset
|
17 membership: [11, 13, 7, 8] |
39491
a60dae060bc8
ancestors: ensure a consistent order even in the "inclusive" case
Boris Feld <boris.feld@octobus.net>
parents:
39490
diff
changeset
|
18 iteration: [13, 11, 8, 7] |
39492
431068d7e9db
ancestor: add test showing inconsistency between __iter__ and __contains__
Yuya Nishihara <yuya@tcha.org>
parents:
39491
diff
changeset
|
19 % lazy ancestor set for [11, 13], stoprev = 11, inclusive = True |
431068d7e9db
ancestor: add test showing inconsistency between __iter__ and __contains__
Yuya Nishihara <yuya@tcha.org>
parents:
39491
diff
changeset
|
20 membership: [11, 13] |
431068d7e9db
ancestor: add test showing inconsistency between __iter__ and __contains__
Yuya Nishihara <yuya@tcha.org>
parents:
39491
diff
changeset
|
21 iteration: [13, 11] |
431068d7e9db
ancestor: add test showing inconsistency between __iter__ and __contains__
Yuya Nishihara <yuya@tcha.org>
parents:
39491
diff
changeset
|
22 % lazy ancestor set for [11, 13], stoprev = 12, inclusive = True |
39493
7eadc9407867
ancestor: filter out initial revisions lower than stoprev
Yuya Nishihara <yuya@tcha.org>
parents:
39492
diff
changeset
|
23 membership: [13] |
39492
431068d7e9db
ancestor: add test showing inconsistency between __iter__ and __contains__
Yuya Nishihara <yuya@tcha.org>
parents:
39491
diff
changeset
|
24 iteration: [13] |
39553
bdb177923291
ancestor: optimize _lazyancestorsiter() for contiguous chains
Yuya Nishihara <yuya@tcha.org>
parents:
39493
diff
changeset
|
25 % lazy ancestor set for [10, 1], stoprev = 0, inclusive = True |
bdb177923291
ancestor: optimize _lazyancestorsiter() for contiguous chains
Yuya Nishihara <yuya@tcha.org>
parents:
39493
diff
changeset
|
26 membership: [2, 10, 4, 5, 0, 1] |
bdb177923291
ancestor: optimize _lazyancestorsiter() for contiguous chains
Yuya Nishihara <yuya@tcha.org>
parents:
39493
diff
changeset
|
27 iteration: [10, 5, 4, 2, 1, 0] |