Skip to content

Latest commit

 

History

History
53 lines (47 loc) · 6.26 KB

Enumerable.FatReferenceType.EnumerableFatReferenceTypeFirstOrDefault.md

File metadata and controls

53 lines (47 loc) · 6.26 KB

Enumerable.FatReferenceType.EnumerableFatReferenceTypeFirstOrDefault

Source

EnumerableFatReferenceTypeFirstOrDefault.cs

References:

Results:

BenchmarkDotNet=v0.13.1, OS=macOS Catalina 10.15.7 (19H1519) [Darwin 19.6.0]
Intel Core i5-7360U CPU 2.30GHz (Kaby Lake), 1 CPU, 4 logical and 2 physical cores
.NET SDK=6.0.100
  [Host]        : .NET Core 3.1.20 (CoreCLR 4.700.21.47003, CoreFX 4.700.21.47101), X64 RyuJIT
  .NET 6        : .NET 6.0.0 (6.0.21.52210), X64 RyuJIT
  .NET 6 PGO    : .NET 6.0.0 (6.0.21.52210), X64 RyuJIT
  .NET Core 3.1 : .NET Core 3.1.20 (CoreCLR 4.700.21.47003, CoreFX 4.700.21.47101), X64 RyuJIT

Method Job EnvironmentVariables Runtime Count Mean Error StdDev Ratio RatioSD Gen 0 Allocated
ForeachLoop .NET 6 Empty .NET 6.0 100 18.21 ns 0.077 ns 0.068 ns baseline 0.0229 48 B
Linq .NET 6 Empty .NET 6.0 100 29.13 ns 0.139 ns 0.116 ns 1.60x slower 0.01x 0.0229 48 B
LinqAF .NET 6 Empty .NET 6.0 100 41.72 ns 0.106 ns 0.099 ns 2.29x slower 0.01x 0.0229 48 B
StructLinq .NET 6 Empty .NET 6.0 100 26.79 ns 0.029 ns 0.024 ns 1.47x slower 0.01x 0.0344 72 B
StructLinq_ValueDelegate .NET 6 Empty .NET 6.0 100 17.45 ns 0.086 ns 0.072 ns 1.04x faster 0.00x 0.0229 48 B
Hyperlinq .NET 6 Empty .NET 6.0 100 45.25 ns 0.066 ns 0.058 ns 2.48x slower 0.01x 0.0344 72 B
ForeachLoop .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 14.62 ns 0.100 ns 0.094 ns baseline 0.0229 48 B
Linq .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 22.87 ns 0.044 ns 0.039 ns 1.56x slower 0.01x 0.0229 48 B
LinqAF .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 40.04 ns 0.101 ns 0.084 ns 2.74x slower 0.02x 0.0229 48 B
StructLinq .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 24.94 ns 0.104 ns 0.097 ns 1.71x slower 0.01x 0.0344 72 B
StructLinq_ValueDelegate .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 14.39 ns 0.021 ns 0.019 ns 1.02x faster 0.01x 0.0229 48 B
Hyperlinq .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 36.22 ns 0.042 ns 0.037 ns 2.48x slower 0.02x 0.0344 72 B
ForeachLoop .NET Core 3.1 Empty .NET Core 3.1 100 24.54 ns 0.064 ns 0.060 ns baseline 0.0229 48 B
Linq .NET Core 3.1 Empty .NET Core 3.1 100 33.78 ns 0.078 ns 0.069 ns 1.38x slower 0.00x 0.0229 48 B
LinqAF .NET Core 3.1 Empty .NET Core 3.1 100 47.04 ns 0.080 ns 0.071 ns 1.92x slower 0.01x 0.0229 48 B
StructLinq .NET Core 3.1 Empty .NET Core 3.1 100 33.01 ns 0.121 ns 0.107 ns 1.35x slower 0.01x 0.0344 72 B
StructLinq_ValueDelegate .NET Core 3.1 Empty .NET Core 3.1 100 23.18 ns 0.046 ns 0.043 ns 1.06x faster 0.00x 0.0229 48 B
Hyperlinq .NET Core 3.1 Empty .NET Core 3.1 100 47.54 ns 0.156 ns 0.138 ns 1.94x slower 0.01x 0.0344 72 B