Range.RangeSelect.md

February 14, 2024 ยท View on GitHub

Range.RangeSelect

Source

RangeSelect.cs

References:

Results:


BenchmarkDotNet v0.13.12, Windows 10 (10.0.19045.3996/22H2/2022Update)
Intel Core i7-7567U CPU 3.50GHz (Kaby Lake), 1 CPU, 4 logical and 2 physical cores
.NET SDK 9.0.100-preview.1.24101.2
  [Host]     : .NET 6.0.26 (6.0.2623.60508), X64 RyuJIT AVX2
  Job-THTHEP : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX2
  Job-OQLBIM : .NET 9.0.0 (9.0.24.8009), X64 RyuJIT AVX2


MethodRuntimeStartCountMeanErrorStdDevRatioRatioSDGen0AllocatedAlloc Ratio
ForLoop.NET 8.0010043.51 ns0.312 ns0.243 nsbaseline--NA
Linq.NET 8.00100240.89 ns1.955 ns1.526 ns5.54x slower0.04x0.042088 BNA
LinqFaster.NET 8.00100269.97 ns5.288 ns4.688 ns6.20x slower0.13x0.4053848 BNA
LinqFaster_SIMD.NET 8.00100136.03 ns2.499 ns2.878 ns3.14x slower0.09x0.4053848 BNA
LinqAF.NET 8.00100115.95 ns2.235 ns2.484 ns2.67x slower0.07x--NA
StructLinq.NET 8.0010089.15 ns1.824 ns3.146 ns2.09x slower0.09x0.011424 BNA
StructLinq_ValueDelegate.NET 8.0010047.27 ns0.964 ns0.902 ns1.09x slower0.02x--NA
Hyperlinq.NET 8.0010064.18 ns1.266 ns1.057 ns1.48x slower0.03x--NA
Hyperlinq_ValueDelegate.NET 8.0010049.45 ns0.593 ns0.463 ns1.14x slower0.01x--NA
ForLoop.NET 9.0010045.69 ns0.941 ns0.924 nsbaseline--NA
Linq.NET 9.00100204.61 ns4.059 ns6.669 ns4.47x slower0.13x0.042088 BNA
LinqFaster.NET 9.00100237.25 ns1.432 ns1.270 ns5.19x slower0.12x0.4053848 BNA
LinqFaster_SIMD.NET 9.00100140.64 ns2.307 ns1.926 ns3.07x slower0.08x0.4053848 BNA
LinqAF.NET 9.00100133.40 ns0.647 ns0.505 ns2.91x slower0.07x--NA
StructLinq.NET 9.0010084.80 ns0.762 ns0.748 ns1.86x slower0.04x0.011424 BNA
StructLinq_ValueDelegate.NET 9.0010058.86 ns1.118 ns0.933 ns1.29x slower0.03x--NA
Hyperlinq.NET 9.00100111.64 ns0.728 ns0.809 ns2.45x slower0.05x--NA
Hyperlinq_ValueDelegate.NET 9.0010084.03 ns0.627 ns0.523 ns1.84x slower0.04x--NA