using BenchmarkDotNet.Attributes; using MoreLinq.Extensions; namespace Recyclable.Collections.Benchmarks { [MemoryDiagnoser] public partial class RecyclableCollectionsBenchmarks : BenchmarkBase { [Benchmark(Baseline = true)] public void Array_Create_WithCapacity() { var data = new object[TestObjectCount]; DoNothing(data); } [Benchmark(Baseline = false)] public void Array_SetItem() { var data = TestObjects; var dataCount = TestObjectCount; long index = 0; for(var i = 0; i < dataCount; i++) { data[index] = TestObjects[index++]; } } [Benchmark(Baseline = false)] public void Array_GetItem() { var data = TestObjects; var dataCount = TestObjectCount; for (var i = 0; i < dataCount; i++) { DoNothing(data[i]); } } [Benchmark(Baseline = false)] public void Array_Count() { var data = _testArray; DoNothing(data.Length); } [Benchmark(Baseline = false)] public void Array_LongCount() { var data = _testArray; DoNothing(data.LongLength); } } }