Allocator_CachedVsNativeAllocatorBenchmarks
NullGC.DragRace.Benchmarks.Allocator_CachedVsNativeAllocatorBenchmarks-20240207-103817
BenchmarkDotNet v0.13.12, Ubuntu 22.04.3 LTS (Jammy Jellyfish)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 8.0.101
[Host] : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
MediumRun : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
Job=MediumRun IterationCount=15 LaunchCount=2
WarmupCount=10
Method | Mean | Error | StdDev | Allocated |
Cached | 4.017 ms | 0.0224 ms | 0.0322 ms | 310 B |
Native | 98.626 ms | 1.1210 ms | 1.6779 ms | 427 B |
Allocator_IntArrayAllocationBenchmarks
NullGC.DragRace.Benchmarks.Allocator_IntArrayAllocationBenchmarks-20240207-103923
BenchmarkDotNet v0.13.12, Ubuntu 22.04.3 LTS (Jammy Jellyfish)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 8.0.101
[Host] : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
MediumRun : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
Job=MediumRun InvocationCount=1 IterationCount=15
LaunchCount=2 UnrollFactor=1 WarmupCount=10
Method | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
NewValueInt | 605.470 ms | 5.1626 ms | 7.7272 ms | - | - | - | 736 B |
NewValueIntNoClear | 7.697 ms | 0.0269 ms | 0.0378 ms | - | - | - | 736 B |
NewInt | 1,433.052 ms | 6.5681 ms | 9.8308 ms | 2914000.0000 | 2914000.0000 | 2914000.0000 | 10020991344 B |
Allocator_IntArrayAllocationOverTimeBenchmarks
NullGC.DragRace.Benchmarks.Allocator_IntArrayAllocationOverTimeBenchmarks-20240207-104116
BenchmarkDotNet v0.13.12, Ubuntu 22.04.3 LTS (Jammy Jellyfish)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 8.0.101
[Host] : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
MediumRun : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
Job=MediumRun InvocationCount=1 IterationCount=2000
LaunchCount=2 UnrollFactor=1 WarmupCount=10
Method | Mean | Error | StdDev | Median | Allocated |
NewValueInt | 1.795 μs | 0.0347 μs | 0.6195 μs | 1.657 μs | 736 B |
NewValueIntNoClear | 1.328 μs | 0.0275 μs | 0.4906 μs | 1.183 μs | 736 B |
NewInt | 1.555 μs | 0.0180 μs | 0.3254 μs | 1.463 μs | 8200 B |
Allocator_IntListGrowingBenchmarks
NullGC.DragRace.Benchmarks.Allocator_IntListGrowingBenchmarks-20240207-104229
BenchmarkDotNet v0.13.12, Ubuntu 22.04.3 LTS (Jammy Jellyfish)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 8.0.101
[Host] : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
MediumRun : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
Job=MediumRun InvocationCount=1 IterationCount=15
LaunchCount=2 UnrollFactor=1 WarmupCount=10
Method | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
ValueList | 567.3 ms | 1.03 ms | 1.47 ms | - | - | - | 736 B |
SystemList | 1,101.6 ms | 4.67 ms | 6.99 ms | 8000.0000 | 8000.0000 | 8000.0000 | 4294974040 B |
Linq_BigStruct_WhereSelectOrderByTakeMin_MultiQueries_Benchmarks
NullGC.DragRace.Benchmarks.Linq_BigStruct_WhereSelectOrderByTakeMin_MultiQueries_Benchmarks-20240207-104734
BenchmarkDotNet v0.13.12, Ubuntu 22.04.3 LTS (Jammy Jellyfish)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 8.0.101
[Host] : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
MediumRun : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
Job=MediumRun IterationCount=15 LaunchCount=2
WarmupCount=10
Method | Mean | Error | StdDev | Median | Gen0 | Gen1 | Gen2 | Allocated |
NullGCLinqValue_BigStruct | 4.223 ms | 0.0032 ms | 0.0045 ms | 4.224 ms | - | - | - | 6 B |
NullGCLinqPtr_BigStruct | 1.283 ms | 0.0799 ms | 0.1171 ms | 1.370 ms | - | - | - | 1 B |
NullGCLinqRef_BigStruct | 1.252 ms | 0.0331 ms | 0.0495 ms | 1.262 ms | - | - | - | 1 B |
SystemLinq_BigStruct | 6.892 ms | 0.1785 ms | 0.2672 ms | 6.949 ms | 1992.1875 | 1992.1875 | 1992.1875 | 18406481 B |
LinqGen_BigStruct | 6.128 ms | 0.0214 ms | 0.0320 ms | 6.123 ms | - | - | - | 12 B |
HyperLinq_BigStruct | 7.921 ms | 0.0602 ms | 0.0882 ms | 7.918 ms | 1984.3750 | 1984.3750 | 1984.3750 | 23872689 B |
Linq_BigStruct_WhereSelectOrderByTakeMinBenchmarks
NullGC.DragRace.Benchmarks.Linq_BigStruct_WhereSelectOrderByTakeMinBenchmarks-20240207-104358
BenchmarkDotNet v0.13.12, Ubuntu 22.04.3 LTS (Jammy Jellyfish)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 8.0.101
[Host] : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
MediumRun : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
Job=MediumRun IterationCount=15 LaunchCount=2
WarmupCount=10
Method | Mean | Error | StdDev | Median | Gen0 | Gen1 | Gen2 | Allocated |
NullGCLinqValue_BigStruct | 1,092.5 μs | 215.58 μs | 315.99 μs | 1,389.2 μs | - | - | - | 1 B |
NullGCLinqPtr_BigStruct | 331.0 μs | 6.43 μs | 9.23 μs | 336.5 μs | - | - | - | - |
NullGCLinqRef_BigStruct | 336.9 μs | 9.01 μs | 12.63 μs | 327.9 μs | - | - | - | - |
SystemLinq_BigStruct | 2,119.0 μs | 87.77 μs | 125.87 μs | 2,091.7 μs | 996.0938 | 996.0938 | 996.0938 | 9202120 B |
LinqGen_BigStruct | 2,565.0 μs | 25.80 μs | 38.62 μs | 2,554.2 μs | - | - | - | 6 B |
HyperLinq_BigStruct | 2,695.0 μs | 37.45 μs | 56.05 μs | 2,692.1 μs | 996.0938 | 996.0938 | 996.0938 | 11935472 B |
Linq_BigStruct_WhereSelectSelectSumBenchmark
NullGC.DragRace.Benchmarks.Linq_BigStruct_WhereSelectSelectSumBenchmark-20240207-105106
BenchmarkDotNet v0.13.12, Ubuntu 22.04.3 LTS (Jammy Jellyfish)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 8.0.101
[Host] : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
MediumRun : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
Job=MediumRun IterationCount=15 LaunchCount=2
WarmupCount=10
Method | Mean | Error | StdDev | Allocated |
SystemLinq | 233.7 μs | 0.39 μs | 0.58 μs | 336 B |
RefLinq | 450.6 μs | 0.83 μs | 1.25 μs | - |
NullGCLinqValue | 185.9 μs | 0.15 μs | 0.21 μs | - |
NullGCLinqValueSelectIn | 186.7 μs | 0.40 μs | 0.57 μs | - |
NullGCLinqRef | 186.4 μs | 0.31 μs | 0.44 μs | - |
Linq_IntArrWhereOrderBySelfTakeSelectWithArgSum
NullGC.DragRace.Benchmarks.Linq_IntArrWhereOrderBySelfTakeSelectWithArgSum-20240207-105504
BenchmarkDotNet v0.13.12, Ubuntu 22.04.3 LTS (Jammy Jellyfish)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 8.0.101
[Host] : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
MediumRun : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
Job=MediumRun IterationCount=15 LaunchCount=2
WarmupCount=10
Method | Mean | Error | StdDev | Median | Gen0 | Gen1 | Gen2 | Allocated |
NullGCLinqRef_IntArr | 281.7 μs | 1.31 μs | 1.83 μs | 282.5 μs | - | - | - | - |
NullGCLinqRef_ValIntArr | 324.7 μs | 8.25 μs | 11.02 μs | 334.1 μs | - | - | - | - |
NullGCLinqValue_ValIntArr | 271.2 μs | 0.63 μs | 0.88 μs | 271.6 μs | - | - | - | - |
LinqGen_IntArr_Capture | 426.6 μs | 11.93 μs | 17.85 μs | 426.6 μs | - | - | - | 89 B |
LinqGen_IntArr_NoArg | 430.1 μs | 1.14 μs | 1.56 μs | 430.0 μs | - | - | - | 1 B |
HyperLinq_IntArr_NoArg | 567.0 μs | 19.91 μs | 29.80 μs | 562.3 μs | 147.4609 | 146.4844 | 146.4844 | 925129 B |
Linq_SmallStruct_WhereSelectOrderByTakeMinBenchmarks
NullGC.DragRace.Benchmarks.Linq_SmallStruct_WhereSelectOrderByTakeMinBenchmarks-20240207-105838
BenchmarkDotNet v0.13.12, Ubuntu 22.04.3 LTS (Jammy Jellyfish)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 8.0.101
[Host] : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
MediumRun : .NET 8.0.1 (8.0.123.58001), X64 RyuJIT AVX2
Job=MediumRun IterationCount=15 LaunchCount=2
WarmupCount=10
Method | Mean | Error | StdDev | Gen0 | Gen1 | Gen2 | Allocated |
NullGCLinqValue_SmallStruct | 318.1 μs | 0.98 μs | 1.44 μs | - | - | - | - |
NullGCLinqRef_SmallStruct | 293.0 μs | 0.48 μs | 0.66 μs | - | - | - | - |
SystemLinq_SmallStruct | 600.6 μs | 35.33 μs | 52.88 μs | 198.2422 | 197.2656 | 197.2656 | 1201199 B |
LinqGen_SmallStruct | 557.5 μs | 2.68 μs | 4.01 μs | - | - | - | 1 B |
HyperLinq_SmallStruct | 637.6 μs | 53.50 μs | 75.00 μs | 245.1172 | 244.1406 | 244.1406 | 1449463 B |