diff --git a/MultiDimensionalVsJaggedArray/Benchmark.cs b/MultiDimensionalVsJaggedArray/Benchmark.cs index 3dc4c35e..ef2793ef 100644 --- a/MultiDimensionalVsJaggedArray/Benchmark.cs +++ b/MultiDimensionalVsJaggedArray/Benchmark.cs @@ -1,4 +1,6 @@ -namespace Test +using CommunityToolkit.HighPerformance; + +namespace Test { using BenchmarkDotNet.Attributes; using BenchmarkDotNet.Jobs; @@ -235,5 +237,36 @@ public long SumMultiDimensionalLinq() return result; } + + [Benchmark] + public long SumSpan2DLocalVariableForEach() + { + var mdspan = _mdim.AsSpan2D(); + long result = 0; + + foreach (var v in mdspan) + { + result += v; + } + + return result; + } + + [Benchmark] + public long SumSpan2DLocalVariableIndex() + { + var mdspan = _mdim.AsSpan2D(); + var size = Size; + + long result = 0; + for (int i = 0; i < size; i++) + { + for (int j = 0; j < size; j++) + { + result += mdspan[i, j]; + } + } + return result; + } } } diff --git a/MultiDimensionalVsJaggedArray/Benchmark.csproj b/MultiDimensionalVsJaggedArray/Benchmark.csproj index f7cabd9d..3682d4c5 100644 --- a/MultiDimensionalVsJaggedArray/Benchmark.csproj +++ b/MultiDimensionalVsJaggedArray/Benchmark.csproj @@ -8,6 +8,7 @@ +