Mercurial > hg
diff hgweb.cgi @ 24936:2aa94b6fe51c
revset: make generatorset.__nonzero__ lazy
The 'for r in self:' call could trigger full consumption of the generator while
we only need a single value. We also fast path if a single value got already
computed. See inline comment for more details.
This provide massive speedup for lazy operation using boolean testing.
max(::tip)
e5b507efb36e) wall 0.055609 comb 0.060000 user 0.060000 sys 0.000000 (best of 100)
after change) wall 0.000109 comb 0.000000 user 0.000000 sys 0.000000 (best of 19146)
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Mon, 04 May 2015 12:36:48 -0700 |
parents | 85cba926cb59 |
children | 4b0fc75f9403 |