List.ValueType.ListValueTypeSkipTakeWhere
ListValueTypeSkipTakeWhere.cs
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
541.7 ns
0.49 ns
0.44 ns
baseline
-
-
-
Linq
.NET 6
Empty
.NET 6.0
1000
100
2,116.3 ns
3.02 ns
2.52 ns
3.91x slower
0.00x
0.1526
-
320 B
LinqFaster
.NET 6
Empty
.NET 6.0
1000
100
3,679.2 ns
17.23 ns
14.39 ns
6.79x slower
0.03x
10.0327
-
21,000 B
LinqFasterer
.NET 6
Empty
.NET 6.0
1000
100
7,329.9 ns
65.32 ns
61.10 ns
13.53x slower
0.11x
37.0331
-
80,168 B
LinqAF
.NET 6
Empty
.NET 6.0
1000
100
11,531.1 ns
27.79 ns
24.63 ns
21.29x slower
0.05x
-
-
-
LinqOptimizer
.NET 6
Empty
.NET 6.0
1000
100
18,415.3 ns
263.53 ns
246.51 ns
34.05x slower
0.43x
49.9878
12.4817
134,727 B
Streams
.NET 6
Empty
.NET 6.0
1000
100
11,816.1 ns
108.83 ns
101.80 ns
21.82x slower
0.19x
0.5493
-
1,176 B
StructLinq
.NET 6
Empty
.NET 6.0
1000
100
683.7 ns
1.36 ns
1.21 ns
1.26x slower
0.00x
0.0572
-
120 B
StructLinq_ValueDelegate
.NET 6
Empty
.NET 6.0
1000
100
563.4 ns
0.19 ns
0.18 ns
1.04x slower
0.00x
-
-
-
Hyperlinq
.NET 6
Empty
.NET 6.0
1000
100
973.3 ns
0.55 ns
0.46 ns
1.80x slower
0.00x
-
-
-
Hyperlinq_ValueDelegate
.NET 6
Empty
.NET 6.0
1000
100
789.5 ns
0.32 ns
0.27 ns
1.46x slower
0.00x
-
-
-
ForLoop
.NET 6 PGO
DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1
.NET 6.0
1000
100
528.0 ns
0.48 ns
0.40 ns
baseline
-
-
-
Linq
.NET 6 PGO
DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1
.NET 6.0
1000
100
1,264.5 ns
2.59 ns
2.29 ns
2.40x 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
3,669.0 ns
15.64 ns
14.63 ns
6.95x slower
0.03x
10.0327
-
21,000 B
LinqFasterer
.NET 6 PGO
DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1
.NET 6.0
1000
100
7,300.4 ns
64.85 ns
54.15 ns
13.83x slower
0.10x
37.0331
-
80,168 B
LinqAF
.NET 6 PGO
DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1
.NET 6.0
1000
100
9,049.9 ns
45.58 ns
38.06 ns
17.14x slower
0.08x
-
-
-
LinqOptimizer
.NET 6 PGO
DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1
.NET 6.0
1000
100
19,891.5 ns
160.26 ns
142.07 ns
37.65x slower
0.26x
62.4695
-
134,733 B
Streams
.NET 6 PGO
DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1
.NET 6.0
1000
100
10,419.1 ns
36.11 ns
32.01 ns
19.73x slower
0.07x
0.5493
-
1,176 B
StructLinq
.NET 6 PGO
DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1
.NET 6.0
1000
100
642.1 ns
1.89 ns
1.77 ns
1.22x 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
562.6 ns
0.21 ns
0.18 ns
1.07x slower
0.00x
-
-
-
Hyperlinq
.NET 6 PGO
DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1
.NET 6.0
1000
100
978.3 ns
1.61 ns
1.34 ns
1.85x slower
0.00x
-
-
-
Hyperlinq_ValueDelegate
.NET 6 PGO
DOTNET_ReadyToRun=0,DOTNET_TC_QuickJitForLoops=1,DOTNET_TieredPGO=1
.NET 6.0
1000
100
790.5 ns
1.37 ns
1.21 ns
1.50x slower
0.00x
-
-
-
ForLoop
.NET Core 3.1
Empty
.NET Core 3.1
1000
100
618.4 ns
0.42 ns
0.35 ns
baseline
-
-
-
Linq
.NET Core 3.1
Empty
.NET Core 3.1
1000
100
2,938.4 ns
3.91 ns
3.27 ns
4.75x slower
0.00x
0.1526
-
320 B
LinqFaster
.NET Core 3.1
Empty
.NET Core 3.1
1000
100
3,659.6 ns
24.87 ns
23.26 ns
5.91x slower
0.04x
10.0441
-
21,000 B
LinqFasterer
.NET Core 3.1
Empty
.NET Core 3.1
1000
100
7,118.4 ns
90.77 ns
84.91 ns
11.52x slower
0.15x
37.0560
-
80,168 B
LinqAF
.NET Core 3.1
Empty
.NET Core 3.1
1000
100
19,872.8 ns
63.41 ns
49.51 ns
32.14x slower
0.08x
-
-
-
LinqOptimizer
.NET Core 3.1
Empty
.NET Core 3.1
1000
100
18,548.8 ns
129.64 ns
101.22 ns
30.00x slower
0.16x
54.5654
7.9956
134,761 B
Streams
.NET Core 3.1
Empty
.NET Core 3.1
1000
100
12,795.9 ns
28.13 ns
21.96 ns
20.69x slower
0.04x
0.5493
-
1,176 B
StructLinq
.NET Core 3.1
Empty
.NET Core 3.1
1000
100
909.2 ns
1.98 ns
1.75 ns
1.47x slower
0.00x
0.0572
-
120 B
StructLinq_ValueDelegate
.NET Core 3.1
Empty
.NET Core 3.1
1000
100
654.3 ns
0.43 ns
0.38 ns
1.06x slower
0.00x
-
-
-
Hyperlinq
.NET Core 3.1
Empty
.NET Core 3.1
1000
100
1,165.1 ns
2.46 ns
2.18 ns
1.88x slower
0.00x
-
-
-
Hyperlinq_ValueDelegate
.NET Core 3.1
Empty
.NET Core 3.1
1000
100
885.7 ns
2.02 ns
1.89 ns
1.43x slower
0.00x
-
-
-