From 2e3de2e49002d69cb38bfdf3d521f676022e4b3e Mon Sep 17 00:00:00 2001 From: Vladimir Pecanac Date: Sun, 23 Aug 2026 23:52:24 +0200 Subject: [PATCH] DifferencesBetweenSpanAndMemoryInCSharp: retarget net10.0, return the slice from both benchmarks Both benchmark methods returned void and discarded their slice, so the published means (0.2760 ns / 0.0239 ns) measured an empty method rather than the operation. Returning the slice makes BenchmarkDotNet consume the result and produces real figures. --- .../DifferencesBetweenSpanAndMemoryInCSharp.csproj | 2 +- .../SpanMemoryBenchmark.cs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dotnet-performance/DifferencesBetweenSpanAndMemoryInCSharp/DifferencesBetweenSpanAndMemoryInCSharp/DifferencesBetweenSpanAndMemoryInCSharp.csproj b/dotnet-performance/DifferencesBetweenSpanAndMemoryInCSharp/DifferencesBetweenSpanAndMemoryInCSharp/DifferencesBetweenSpanAndMemoryInCSharp.csproj index 848f901f4f..af4ee328cd 100644 --- a/dotnet-performance/DifferencesBetweenSpanAndMemoryInCSharp/DifferencesBetweenSpanAndMemoryInCSharp/DifferencesBetweenSpanAndMemoryInCSharp.csproj +++ b/dotnet-performance/DifferencesBetweenSpanAndMemoryInCSharp/DifferencesBetweenSpanAndMemoryInCSharp/DifferencesBetweenSpanAndMemoryInCSharp.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable diff --git a/dotnet-performance/DifferencesBetweenSpanAndMemoryInCSharp/DifferencesBetweenSpanAndMemoryInCSharp/SpanMemoryBenchmark.cs b/dotnet-performance/DifferencesBetweenSpanAndMemoryInCSharp/DifferencesBetweenSpanAndMemoryInCSharp/SpanMemoryBenchmark.cs index 4976f7472b..a193842a2b 100644 --- a/dotnet-performance/DifferencesBetweenSpanAndMemoryInCSharp/DifferencesBetweenSpanAndMemoryInCSharp/SpanMemoryBenchmark.cs +++ b/dotnet-performance/DifferencesBetweenSpanAndMemoryInCSharp/DifferencesBetweenSpanAndMemoryInCSharp/SpanMemoryBenchmark.cs @@ -8,14 +8,14 @@ public class SpanMemoryBenchmark private readonly int[] data = [1, 2, 3, 4, 5, 6]; [Benchmark] - public void SliceAsMemory() + public Memory SliceAsMemory() { - data.AsMemory().Slice(2, 1); + return data.AsMemory().Slice(2, 1); } [Benchmark] - public void SliceAsSpan() + public Span SliceAsSpan() { - data.AsSpan().Slice(2, 1); + return data.AsSpan().Slice(2, 1); } }