Skip to content

Latest commit

 

History

History
68 lines (62 loc) · 10.3 KB

List.ValueType.ListValueTypeSkipTakeSelect.md

File metadata and controls

68 lines (62 loc) · 10.3 KB

List.ValueType.ListValueTypeSkipTakeSelect

Source

ListValueTypeSkipTakeSelect.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 Skip Count Mean Error StdDev Ratio RatioSD Gen 0 Gen 1 Allocated
ForLoop .NET 6 Empty .NET 6.0 1000 100 1.705 μs 0.0032 μs 0.0025 μs baseline - - -
Linq .NET 6 Empty .NET 6.0 1000 100 2.848 μs 0.0042 μs 0.0033 μs 1.67x slower 0.00x 0.1526 - 320 B
LinqFaster .NET 6 Empty .NET 6.0 1000 100 4.936 μs 0.0072 μs 0.0060 μs 2.90x slower 0.00x 9.2545 - 19,368 B
LinqFasterer .NET 6 Empty .NET 6.0 1000 100 8.692 μs 0.0776 μs 0.0726 μs 5.10x slower 0.05x 39.2151 - 83,304 B
LinqAF .NET 6 Empty .NET 6.0 1000 100 9.176 μs 0.0395 μs 0.0330 μs 5.38x slower 0.02x - - -
LinqOptimizer .NET 6 Empty .NET 6.0 1000 100 20.370 μs 0.2123 μs 0.1986 μs 11.98x slower 0.12x 49.9878 16.6626 137,863 B
Streams .NET 6 Empty .NET 6.0 1000 100 12.847 μs 0.0272 μs 0.0212 μs 7.54x slower 0.02x 0.5493 - 1,176 B
StructLinq .NET 6 Empty .NET 6.0 1000 100 1.970 μs 0.0016 μs 0.0015 μs 1.16x slower 0.00x 0.0572 - 120 B
StructLinq_ValueDelegate .NET 6 Empty .NET 6.0 1000 100 1.924 μs 0.0017 μs 0.0015 μs 1.13x slower 0.00x - - -
Hyperlinq .NET 6 Empty .NET 6.0 1000 100 1.947 μs 0.0017 μs 0.0014 μs 1.14x slower 0.00x - - -
Hyperlinq_ValueDelegate .NET 6 Empty .NET 6.0 1000 100 1.781 μs 0.0033 μs 0.0027 μs 1.04x slower 0.00x - - -
ForLoop .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 1000 100 1.648 μs 0.0016 μs 0.0014 μs baseline - - -
Linq .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 1000 100 2.327 μs 0.0017 μs 0.0014 μs 1.41x slower 0.00x 0.1526 - 320 B
LinqFaster .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 1000 100 4.945 μs 0.0092 μs 0.0072 μs 3.00x slower 0.00x 9.2545 - 19,368 B
LinqFasterer .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 1000 100 8.657 μs 0.0463 μs 0.0386 μs 5.25x slower 0.02x 39.2151 - 83,304 B
LinqAF .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 1000 100 9.515 μs 0.0719 μs 0.0673 μs 5.78x slower 0.04x - - -
LinqOptimizer .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 1000 100 21.607 μs 0.2323 μs 0.2173 μs 13.10x slower 0.13x 49.9878 16.6626 137,863 B
Streams .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 1000 100 11.603 μs 0.0335 μs 0.0313 μs 7.04x slower 0.02x 0.5493 - 1,176 B
StructLinq .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 1000 100 1.906 μs 0.0024 μs 0.0022 μs 1.16x slower 0.00x 0.0572 - 120 B
StructLinq_ValueDelegate .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 1000 100 1.616 μs 0.0006 μs 0.0005 μs 1.02x faster 0.00x - - -
Hyperlinq .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 1000 100 1.917 μs 0.0006 μs 0.0005 μs 1.16x slower 0.00x - - -
Hyperlinq_ValueDelegate .NET 6 PGO DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1 .NET 6.0 1000 100 1.723 μs 0.0021 μs 0.0019 μs 1.05x slower 0.00x - - -
ForLoop .NET Core 3.1 Empty .NET Core 3.1 1000 100 1.936 μs 0.0010 μs 0.0007 μs baseline - - -
Linq .NET Core 3.1 Empty .NET Core 3.1 1000 100 2.964 μs 0.0061 μs 0.0054 μs 1.53x slower 0.00x 0.1526 - 320 B
LinqFaster .NET Core 3.1 Empty .NET Core 3.1 1000 100 4.938 μs 0.0110 μs 0.0092 μs 2.55x slower 0.00x 9.2545 - 19,368 B
LinqFasterer .NET Core 3.1 Empty .NET Core 3.1 1000 100 8.410 μs 0.1639 μs 0.1683 μs 4.32x slower 0.06x 38.7573 - 83,304 B
LinqAF .NET Core 3.1 Empty .NET Core 3.1 1000 100 20.242 μs 0.0154 μs 0.0128 μs 10.45x slower 0.01x - - -
LinqOptimizer .NET Core 3.1 Empty .NET Core 3.1 1000 100 25.512 μs 0.3097 μs 0.3803 μs 13.17x slower 0.26x 60.5774 15.1367 137,900 B
Streams .NET Core 3.1 Empty .NET Core 3.1 1000 100 13.804 μs 0.0183 μs 0.0172 μs 7.13x slower 0.01x 0.5493 - 1,176 B
StructLinq .NET Core 3.1 Empty .NET Core 3.1 1000 100 2.220 μs 0.0019 μs 0.0017 μs 1.15x slower 0.00x 0.0572 - 120 B
StructLinq_ValueDelegate .NET Core 3.1 Empty .NET Core 3.1 1000 100 2.062 μs 0.0013 μs 0.0011 μs 1.06x slower 0.00x - - -
Hyperlinq .NET Core 3.1 Empty .NET Core 3.1 1000 100 2.267 μs 0.0023 μs 0.0021 μs 1.17x slower 0.00x - - -
Hyperlinq_ValueDelegate .NET Core 3.1 Empty .NET Core 3.1 1000 100 1.988 μs 0.0013 μs 0.0012 μs 1.03x slower 0.00x - - -