Skip to content

Latest commit

 

History

History
20 lines (17 loc) · 731 Bytes

EnumerableIteration.md

File metadata and controls

20 lines (17 loc) · 731 Bytes

Iterating enumerable

When enumerating IEnumerable, performance can actually differ based on implementation:

  • yielded enumerable
  • Enumerable.Range enumerable
  • array iteration
BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1889 (21H2)
Intel Core i7-7820HQ CPU 2.90GHz (Kaby Lake), 1 CPU, 8 logical and 4 physical cores
.NET SDK=6.0.303
  [Host]     : .NET 6.0.8 (6.0.822.36306), X64 RyuJIT
  DefaultJob : .NET 6.0.8 (6.0.822.36306), X64 RyuJIT
Method Mean Error StdDev
YieldEnumerable 459.2 μs 7.00 μs 6.20 μs
RangeEnumerable 432.0 μs 8.37 μs 9.96 μs
ArrayEnumerable 438.2 μs 8.35 μs 8.94 μs