Skip to content

Latest commit

 

History

History
77 lines (71 loc) · 12 KB

Array.ValueType.ArrayValueTypeWhereSelect.md

File metadata and controls

77 lines (71 loc) · 12 KB

Array.ValueType.ArrayValueTypeWhereSelect

Source

ArrayValueTypeWhereSelect.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 Gen 1 Allocated
ForLoop .NET 6 Empty .NET 6.0 100 882.5 ns 0.49 ns 0.44 ns baseline - - -
ForeachLoop .NET 6 Empty .NET 6.0 100 959.0 ns 0.51 ns 0.48 ns 1.09x slower 0.00x - - -
Linq .NET 6 Empty .NET 6.0 100 1,688.5 ns 33.02 ns 36.70 ns 1.92x slower 0.05x 0.1030 - 216 B
LinqFaster .NET 6 Empty .NET 6.0 100 1,997.7 ns 3.43 ns 3.04 ns 2.26x slower 0.00x 4.7264 - 9,904 B
LinqFasterer .NET 6 Empty .NET 6.0 100 3,724.1 ns 4.31 ns 3.60 ns 4.22x slower 0.00x 6.0234 - 12,624 B
LinqAF .NET 6 Empty .NET 6.0 100 2,229.8 ns 14.90 ns 12.44 ns 2.53x slower 0.01x - - -
LinqOptimizer .NET 6 Empty .NET 6.0 100 9,638.2 ns 119.78 ns 112.05 ns 10.94x slower 0.11x 52.0782 10.4065 134,824 B
SpanLinq .NET 6 Empty .NET 6.0 100 1,661.5 ns 14.03 ns 13.12 ns 1.88x slower 0.01x - - -
Streams .NET 6 Empty .NET 6.0 100 3,104.9 ns 4.25 ns 3.77 ns 3.52x slower 0.00x 0.4654 - 976 B
StructLinq .NET 6 Empty .NET 6.0 100 1,306.4 ns 9.99 ns 8.86 ns 1.48x slower 0.01x 0.0305 - 64 B
StructLinq_ValueDelegate .NET 6 Empty .NET 6.0 100 1,077.6 ns 0.41 ns 0.34 ns 1.22x slower 0.00x - - -
Hyperlinq .NET 6 Empty .NET 6.0 100 1,627.4 ns 1.04 ns 0.92 ns 1.84x slower 0.00x - - -
Hyperlinq_ValueDelegate .NET 6 Empty .NET 6.0 100 1,238.4 ns 0.56 ns 0.44 ns 1.40x slower 0.00x - - -
Faslinq .NET 6 Empty .NET 6.0 100 2,111.8 ns 5.55 ns 4.64 ns 2.39x slower 0.01x 3.0670 - 6,424 B
ForLoop .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 850.7 ns 0.40 ns 0.33 ns baseline - - -
ForeachLoop .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 926.0 ns 0.50 ns 0.47 ns 1.09x slower 0.00x - - -
Linq .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 1,464.2 ns 1.53 ns 1.43 ns 1.72x slower 0.00x 0.1030 - 216 B
LinqFaster .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 1,996.4 ns 4.78 ns 3.99 ns 2.35x slower 0.00x 4.7264 - 9,904 B
LinqFasterer .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 3,639.5 ns 6.70 ns 5.23 ns 4.28x slower 0.01x 6.0234 - 12,624 B
LinqAF .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 2,065.9 ns 13.71 ns 12.15 ns 2.43x slower 0.01x - - -
LinqOptimizer .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 9,479.5 ns 101.78 ns 90.22 ns 11.15x slower 0.11x 52.0782 10.4065 134,824 B
SpanLinq .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 1,564.3 ns 0.92 ns 0.72 ns 1.84x slower 0.00x - - -
Streams .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 2,664.5 ns 5.97 ns 5.29 ns 3.13x slower 0.01x 0.4654 - 976 B
StructLinq .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 1,189.8 ns 0.66 ns 0.62 ns 1.40x slower 0.00x 0.0305 - 64 B
StructLinq_ValueDelegate .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 970.9 ns 1.18 ns 1.10 ns 1.14x slower 0.00x - - -
Hyperlinq .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 1,614.7 ns 2.98 ns 2.64 ns 1.90x slower 0.00x - - -
Hyperlinq_ValueDelegate .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 1,333.1 ns 19.61 ns 17.38 ns 1.57x slower 0.02x - - -
Faslinq .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 100 2,172.4 ns 27.59 ns 28.33 ns 2.56x slower 0.04x 3.0670 - 6,424 B
ForLoop .NET Core 3.1 Empty .NET Core 3.1 100 1,013.4 ns 0.73 ns 0.68 ns baseline - - -
ForeachLoop .NET Core 3.1 Empty .NET Core 3.1 100 1,115.6 ns 1.11 ns 0.93 ns 1.10x slower 0.00x - - -
Linq .NET Core 3.1 Empty .NET Core 3.1 100 2,119.4 ns 2.06 ns 1.93 ns 2.09x slower 0.00x 0.1030 - 216 B
LinqFaster .NET Core 3.1 Empty .NET Core 3.1 100 2,001.1 ns 7.85 ns 7.34 ns 1.97x slower 0.01x 4.7264 - 9,904 B
LinqFasterer .NET Core 3.1 Empty .NET Core 3.1 100 3,828.4 ns 14.36 ns 13.44 ns 3.78x slower 0.01x 6.0196 - 12,624 B
LinqAF .NET Core 3.1 Empty .NET Core 3.1 100 2,905.0 ns 4.15 ns 3.46 ns 2.87x slower 0.00x - - -
LinqOptimizer .NET Core 3.1 Empty .NET Core 3.1 100 9,644.7 ns 163.49 ns 200.78 ns 9.60x slower 0.19x 54.3213 8.1787 134,857 B
SpanLinq .NET Core 3.1 Empty .NET Core 3.1 100 2,017.2 ns 2.08 ns 1.84 ns 1.99x slower 0.00x - - -
Streams .NET Core 3.1 Empty .NET Core 3.1 100 3,379.0 ns 14.77 ns 13.82 ns 3.33x slower 0.01x 0.4654 - 976 B
StructLinq .NET Core 3.1 Empty .NET Core 3.1 100 1,427.0 ns 1.44 ns 1.27 ns 1.41x slower 0.00x 0.0305 - 64 B
StructLinq_ValueDelegate .NET Core 3.1 Empty .NET Core 3.1 100 1,227.2 ns 0.34 ns 0.30 ns 1.21x slower 0.00x - - -
Hyperlinq .NET Core 3.1 Empty .NET Core 3.1 100 1,973.9 ns 5.03 ns 4.46 ns 1.95x slower 0.00x - - -
Hyperlinq_ValueDelegate .NET Core 3.1 Empty .NET Core 3.1 100 1,397.2 ns 3.45 ns 3.06 ns 1.38x slower 0.00x - - -
Faslinq .NET Core 3.1 Empty .NET Core 3.1 100 2,248.1 ns 5.26 ns 4.66 ns 2.22x slower 0.00x 3.0670 - 6,424 B