After using the suggested
Partition solution on a set of data that had calculations applied to each element before being enumerated (see scenarios below), I noticed the application took much longer. Investigated via
tests.cs and discovered that each item will be evaluated twice. See differences in
sideeffect in results.
var items = database.Fetch(filter).ToList(); var calculatedStuff = items.Select(item => new CalculatedItem(item)); // other stuff var file = new SomeFileHelperThing("filename");