29 lines
650 B
C#
29 lines
650 B
C#
|
|
using System.Collections.Generic;
|
|||
|
|
using BenchmarkDotNet.Attributes;
|
|||
|
|
|
|||
|
|
namespace Umbraco.Tests.Benchmarks
|
|||
|
|
{
|
|||
|
|
[MemoryDiagnoser]
|
|||
|
|
public class EnumeratorBenchmarks
|
|||
|
|
{
|
|||
|
|
[Benchmark(Baseline = true)]
|
|||
|
|
public void WithArray()
|
|||
|
|
{
|
|||
|
|
foreach (var t in EnumerateOneWithArray(1)) ;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[Benchmark]
|
|||
|
|
public void WithYield()
|
|||
|
|
{
|
|||
|
|
foreach (var t in EnumerateOneWithYield(1)) ;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private IEnumerable<T> EnumerateOneWithArray<T>(T o) => new [] { o };
|
|||
|
|
|
|||
|
|
private IEnumerable<T> EnumerateOneWithYield<T>(T o)
|
|||
|
|
{
|
|||
|
|
yield return o;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|