# HG changeset patch # User Yuya Nishihara # Date 1428154259 -32400 # Node ID b5cd8c2f6e65a8cdfba59b480c72d786efcec658 # Parent 8cf70c97a6e1295c536737d4a6c751b0666acac2 changelog: inline revlog.__contains__ in case it is used in hot loop Currently __contains__ is called only by "rev()" revset, but "x in cl" is a function that is likely to be used in hot loop. revlog.__contains__ is simple enough to duplicate to changelog, so just inline it. diff -r 8cf70c97a6e1 -r b5cd8c2f6e65 mercurial/changelog.py --- a/mercurial/changelog.py Wed Apr 08 02:56:19 2015 +0900 +++ b/mercurial/changelog.py Sat Apr 04 22:30:59 2015 +0900 @@ -145,7 +145,7 @@ def __contains__(self, rev): """filtered version of revlog.__contains__""" - return (revlog.revlog.__contains__(self, rev) + return (0 <= rev < len(self) and rev not in self.filteredrevs) def __iter__(self):