Open
Description
Quite a number of the Query iterators allocate and populate a result array in the start
function call and essentially perform all the work of the iterator in the start
function. Many of these could be rewritten to not use such a result array, and instead get elements from their source iterator in calls to the next
function.
Such rewrites should be done for these iterators:
- EnumerableGroupJoin
- EnumerableGroupBy
- EnumerableSelectMany
- EnumerableJoin