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()