# HG changeset patch # User Yuya Nishihara # Date 1489420411 25200 # Node ID 9a94239e4f12f4fccad5d914361fd32d892ac80a # Parent 83e080144faf56869ca246301ce56cf4bd6aef55 py3: use next() to obtain next item from inner generator of generatorset .next attribute does not exist on Python 3. As this function seems to really care about the overhead of the Python interpreter, I follow the way of micro optimization. diff -r 83e080144faf -r 9a94239e4f12 mercurial/smartset.py --- a/mercurial/smartset.py Mon Mar 13 08:44:57 2017 -0700 +++ b/mercurial/smartset.py Mon Mar 13 08:53:31 2017 -0700 @@ -818,15 +818,15 @@ # Getting rid of it would provide an about 15% speed up on this # iteration. genlist = self._genlist - nextrev = self._consumegen().next - _len = len # cache global lookup + nextgen = self._consumegen() + _len, _next = len, next # cache global lookup def gen(): i = 0 while True: if i < _len(genlist): yield genlist[i] else: - yield nextrev() + yield _next(nextgen) i += 1 return gen()