Mercurial > public > mercurial-scm > hg
comparison mercurial/revset.py @ 23003:62d19ce9d7b6
revset-_ancestor: use & instead of filter
The & operation is more likely optimised.
::10
before) wall 0.028189 comb 0.030000 user 0.030000 sys 0.000000 (best of 100)
after) wall 0.001050 comb 0.000000 user 0.000000 sys 0.000000 (best of 2326)
::tip
before) wall 0.081132 comb 0.080000 user 0.080000 sys 0.000000 (best of 100)
after) wall 0.055418 comb 0.050000 user 0.050000 sys 0.000000 (best of 100)
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Tue, 30 Sep 2014 15:03:54 -0500 |
parents | 88ac1be3f767 |
children | 30b602b2c340 |
comparison
equal
deleted
inserted
replaced
23002:2920a96f5839 | 23003:62d19ce9d7b6 |
---|---|
345 def _ancestors(repo, subset, x, followfirst=False): | 345 def _ancestors(repo, subset, x, followfirst=False): |
346 heads = getset(repo, spanset(repo), x) | 346 heads = getset(repo, spanset(repo), x) |
347 if not heads: | 347 if not heads: |
348 return baseset() | 348 return baseset() |
349 s = _revancestors(repo, heads, followfirst) | 349 s = _revancestors(repo, heads, followfirst) |
350 return subset.filter(s.__contains__) | 350 return subset & s |
351 | 351 |
352 def ancestors(repo, subset, x): | 352 def ancestors(repo, subset, x): |
353 """``ancestors(set)`` | 353 """``ancestors(set)`` |
354 Changesets that are ancestors of a changeset in set. | 354 Changesets that are ancestors of a changeset in set. |
355 """ | 355 """ |