Benchmark results
Auto-generated by BenchmarkDotNet on 2026-09-17.
Do not edit by hand - this file is fully overwritten on every run.
Live historical dashboard: https://masesgroup.com/benchmark-data/
bulk-ubuntu-22.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
ForceRawMemory |
UseCriticalMethods |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeByteArrayDirect |
1024 |
True |
False |
1.069 μs |
0.0025 μs |
0.0023 μs |
1.00 |
0.00 |
0.0153 |
- |
- |
1.09 KB |
1.00 |
| GetArrayViaStreamChunked |
1024 |
True |
False |
1.747 μs |
0.0225 μs |
0.0211 μs |
1.63 |
0.02 |
0.0801 |
- |
- |
5.26 KB |
4.81 |
| GetArrayViaStreamSpan |
1024 |
True |
False |
1.335 μs |
0.0046 μs |
0.0043 μs |
1.25 |
0.00 |
0.0172 |
- |
- |
1.23 KB |
1.13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
1048576 |
True |
False |
183.754 μs |
3.1029 μs |
2.9025 μs |
1.00 |
0.02 |
171.1426 |
171.1426 |
171.1426 |
1025.38 KB |
1.00 |
| GetArrayViaStreamChunked |
1048576 |
True |
False |
222.082 μs |
2.1591 μs |
2.0196 μs |
1.21 |
0.02 |
205.5664 |
205.5664 |
205.5664 |
1029.13 KB |
1.00 |
| GetArrayViaStreamSpan |
1048576 |
True |
False |
189.266 μs |
3.3184 μs |
4.5423 μs |
1.03 |
0.03 |
171.6309 |
171.6309 |
171.6309 |
1025.55 KB |
1.00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
104857600 |
True |
False |
16,277.308 μs |
320.9375 μs |
417.3095 μs |
1.00 |
0.04 |
328.1250 |
328.1250 |
328.1250 |
102400.3 KB |
1.00 |
| GetArrayViaStreamChunked |
104857600 |
True |
False |
16,836.943 μs |
213.2018 μs |
178.0332 μs |
1.04 |
0.03 |
312.5000 |
312.5000 |
312.5000 |
102404.46 KB |
1.00 |
| GetArrayViaStreamSpan |
104857600 |
True |
False |
17,350.335 μs |
333.8037 μs |
312.2402 μs |
1.07 |
0.03 |
312.5000 |
312.5000 |
312.5000 |
102400.43 KB |
1.00 |
bulk-ubuntu-22.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
UseCriticalMethods |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| GetByteBufferToArray |
10 |
False |
3.057 μs |
0.0173 μs |
0.0162 μs |
1.00 |
0.01 |
0.0076 |
0.0038 |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
False |
3.211 μs |
0.0150 μs |
0.0140 μs |
1.05 |
0.01 |
0.0153 |
0.0114 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
False |
3.482 μs |
0.0259 μs |
0.0230 μs |
1.14 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
False |
1.890 μs |
0.0102 μs |
0.0085 μs |
0.62 |
0.00 |
0.0038 |
- |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10 |
True |
2.935 μs |
0.0095 μs |
0.0089 μs |
1.00 |
0.00 |
0.0076 |
0.0038 |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
True |
3.244 μs |
0.0128 μs |
0.0120 μs |
1.11 |
0.01 |
0.0153 |
0.0114 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
True |
3.489 μs |
0.0130 μs |
0.0115 μs |
1.19 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
True |
1.882 μs |
0.0063 μs |
0.0059 μs |
0.64 |
0.00 |
0.0038 |
- |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
False |
2.922 μs |
0.0143 μs |
0.0111 μs |
1.00 |
0.01 |
0.0076 |
0.0038 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
False |
3.276 μs |
0.0186 μs |
0.0174 μs |
1.12 |
0.01 |
0.0153 |
0.0114 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
False |
3.477 μs |
0.0189 μs |
0.0158 μs |
1.19 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
False |
1.895 μs |
0.0144 μs |
0.0135 μs |
0.65 |
0.01 |
0.0038 |
- |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
True |
2.891 μs |
0.0131 μs |
0.0122 μs |
1.00 |
0.01 |
0.0076 |
0.0038 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
True |
3.229 μs |
0.0251 μs |
0.0235 μs |
1.12 |
0.01 |
0.0153 |
0.0114 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
True |
3.505 μs |
0.0225 μs |
0.0210 μs |
1.21 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
True |
1.865 μs |
0.0062 μs |
0.0058 μs |
0.65 |
0.00 |
0.0038 |
- |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
False |
3.334 μs |
0.0306 μs |
0.0286 μs |
1.00 |
0.01 |
0.0229 |
0.0191 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
False |
3.474 μs |
0.0124 μs |
0.0097 μs |
1.04 |
0.01 |
0.0420 |
0.0381 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
False |
3.433 μs |
0.0404 μs |
0.0378 μs |
1.03 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
False |
1.891 μs |
0.0073 μs |
0.0068 μs |
0.57 |
0.01 |
0.0038 |
- |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
True |
3.225 μs |
0.0241 μs |
0.0214 μs |
1.00 |
0.01 |
0.0229 |
0.0191 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
True |
3.578 μs |
0.0601 μs |
0.0562 μs |
1.11 |
0.02 |
0.0420 |
0.0381 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
True |
3.664 μs |
0.0325 μs |
0.0288 μs |
1.14 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
True |
1.959 μs |
0.0103 μs |
0.0096 μs |
0.61 |
0.00 |
0.0038 |
- |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
False |
4.754 μs |
0.0432 μs |
0.0405 μs |
1.00 |
0.01 |
0.1602 |
0.1526 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
False |
5.760 μs |
0.0518 μs |
0.0484 μs |
1.21 |
0.01 |
0.3128 |
0.3052 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
False |
4.286 μs |
0.0430 μs |
0.0402 μs |
0.90 |
0.01 |
0.0687 |
0.0610 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
False |
2.433 μs |
0.0177 μs |
0.0165 μs |
0.51 |
0.01 |
0.0038 |
- |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
True |
4.658 μs |
0.0102 μs |
0.0091 μs |
1.00 |
0.00 |
0.1602 |
0.1526 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
True |
5.875 μs |
0.0212 μs |
0.0198 μs |
1.26 |
0.00 |
0.3128 |
0.3052 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
True |
4.420 μs |
0.0454 μs |
0.0425 μs |
0.95 |
0.01 |
0.0687 |
0.0610 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
True |
2.394 μs |
0.0093 μs |
0.0087 μs |
0.51 |
0.00 |
0.0038 |
- |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
False |
67.321 μs |
0.7426 μs |
0.6946 μs |
1.00 |
0.01 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
False |
82.947 μs |
1.0057 μs |
0.9407 μs |
1.23 |
0.02 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
False |
11.789 μs |
0.0368 μs |
0.0344 μs |
0.18 |
0.00 |
0.0610 |
0.0458 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
False |
7.592 μs |
0.0116 μs |
0.0103 μs |
0.11 |
0.00 |
- |
- |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
True |
67.851 μs |
0.6690 μs |
0.5930 μs |
1.00 |
0.01 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
True |
82.672 μs |
0.5352 μs |
0.5006 μs |
1.22 |
0.01 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
True |
11.937 μs |
0.0465 μs |
0.0435 μs |
0.18 |
0.00 |
0.0610 |
0.0458 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
True |
7.904 μs |
0.0259 μs |
0.0242 μs |
0.12 |
0.00 |
- |
- |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
False |
275.978 μs |
3.6942 μs |
3.4555 μs |
1.00 |
0.02 |
202.1484 |
202.1484 |
202.1484 |
1050324 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
False |
642.754 μs |
12.7185 μs |
16.5376 μs |
2.33 |
0.07 |
500.0000 |
500.0000 |
500.0000 |
3015801 B |
2.871 |
| GetByteBufferStreamChunked |
1048576 |
False |
100.872 μs |
0.4777 μs |
0.4469 μs |
0.37 |
0.00 |
- |
- |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
False |
76.456 μs |
0.4127 μs |
0.3658 μs |
0.28 |
0.00 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
True |
272.166 μs |
5.1870 μs |
5.3267 μs |
1.00 |
0.03 |
204.1016 |
204.1016 |
204.1016 |
1050288 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
True |
632.990 μs |
12.3670 μs |
16.0806 μs |
2.33 |
0.07 |
499.0234 |
499.0234 |
499.0234 |
3015829 B |
2.871 |
| GetByteBufferStreamChunked |
1048576 |
True |
99.564 μs |
0.8707 μs |
0.8145 μs |
0.37 |
0.01 |
- |
- |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
True |
77.888 μs |
0.7658 μs |
0.7163 μs |
0.29 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
False |
2,419.303 μs |
46.0878 μs |
51.2265 μs |
1.00 |
0.03 |
332.0313 |
332.0313 |
332.0313 |
10486535 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
False |
8,805.016 μs |
126.1780 μs |
118.0270 μs |
3.64 |
0.09 |
968.7500 |
968.7500 |
968.7500 |
43910699 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
False |
1,017.045 μs |
10.2924 μs |
9.6275 μs |
0.42 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
False |
862.043 μs |
15.9484 μs |
14.1379 μs |
0.36 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
True |
2,563.770 μs |
51.2018 μs |
60.9521 μs |
1.00 |
0.03 |
332.0313 |
332.0313 |
332.0313 |
10486535 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
True |
8,994.840 μs |
152.1554 μs |
134.8818 μs |
3.51 |
0.10 |
968.7500 |
968.7500 |
968.7500 |
43910699 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
True |
987.714 μs |
11.7969 μs |
11.0348 μs |
0.39 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
True |
810.806 μs |
6.3063 μs |
5.5904 μs |
0.32 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
False |
23,865.776 μs |
470.4093 μs |
704.0866 μs |
1.00 |
0.04 |
312.5000 |
312.5000 |
312.5000 |
104858364 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
False |
53,217.886 μs |
529.4515 μs |
469.3449 μs |
2.23 |
0.07 |
777.7778 |
777.7778 |
777.7778 |
373163504 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
False |
15,721.322 μs |
229.9283 μs |
203.8255 μs |
0.66 |
0.02 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
False |
14,756.986 μs |
80.9602 μs |
71.7691 μs |
0.62 |
0.02 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
True |
23,221.208 μs |
462.0739 μs |
616.8554 μs |
1.00 |
0.04 |
312.5000 |
312.5000 |
312.5000 |
104858362 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
True |
52,448.873 μs |
1,037.9806 μs |
1,235.6422 μs |
2.26 |
0.08 |
800.0000 |
800.0000 |
800.0000 |
373163519 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
True |
15,899.101 μs |
132.8929 μs |
124.3081 μs |
0.69 |
0.02 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
True |
15,077.914 μs |
188.8592 μs |
176.6590 μs |
0.65 |
0.02 |
- |
- |
- |
400 B |
0.000 |
bulk-ubuntu-22.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
ForceRawMemory |
UseCriticalMethods |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeByteArrayDirect |
1024 |
True |
False |
1.098 μs |
0.0017 μs |
0.0015 μs |
1.00 |
0.00 |
0.0153 |
- |
- |
1.09 KB |
1.00 |
| GetArrayViaStreamChunked |
1024 |
True |
False |
1.716 μs |
0.0055 μs |
0.0049 μs |
1.56 |
0.00 |
0.0801 |
- |
- |
5.26 KB |
4.81 |
| GetArrayViaStreamSpan |
1024 |
True |
False |
1.337 μs |
0.0023 μs |
0.0021 μs |
1.22 |
0.00 |
0.0172 |
- |
- |
1.23 KB |
1.13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
1048576 |
True |
False |
200.475 μs |
2.2688 μs |
1.8946 μs |
1.00 |
0.01 |
143.0664 |
143.0664 |
143.0664 |
1025.16 KB |
1.00 |
| GetArrayViaStreamChunked |
1048576 |
True |
False |
229.134 μs |
2.9710 μs |
2.7791 μs |
1.14 |
0.02 |
154.7852 |
154.7852 |
154.7852 |
1029.16 KB |
1.00 |
| GetArrayViaStreamSpan |
1048576 |
True |
False |
207.806 μs |
3.5136 μs |
3.9053 μs |
1.04 |
0.02 |
143.0664 |
143.0664 |
143.0664 |
1025.27 KB |
1.00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
104857600 |
True |
False |
17,764.745 μs |
212.8519 μs |
188.6877 μs |
1.00 |
0.01 |
312.5000 |
312.5000 |
312.5000 |
102400.29 KB |
1.00 |
| GetArrayViaStreamChunked |
104857600 |
True |
False |
17,637.955 μs |
211.2929 μs |
197.6435 μs |
0.99 |
0.01 |
312.5000 |
312.5000 |
312.5000 |
102404.46 KB |
1.00 |
| GetArrayViaStreamSpan |
104857600 |
True |
False |
17,813.012 μs |
128.4387 μs |
113.8576 μs |
1.00 |
0.01 |
312.5000 |
312.5000 |
312.5000 |
102400.44 KB |
1.00 |
bulk-ubuntu-22.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
UseCriticalMethods |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| GetByteBufferToArray |
10 |
False |
3.095 μs |
0.0065 μs |
0.0061 μs |
1.00 |
0.00 |
0.0076 |
0.0038 |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
False |
3.293 μs |
0.0298 μs |
0.0264 μs |
1.06 |
0.01 |
0.0153 |
0.0114 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
False |
3.643 μs |
0.0533 μs |
0.0472 μs |
1.18 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
False |
1.934 μs |
0.0050 μs |
0.0047 μs |
0.62 |
0.00 |
0.0038 |
- |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10 |
True |
3.101 μs |
0.0068 μs |
0.0064 μs |
1.00 |
0.00 |
0.0076 |
0.0038 |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
True |
3.300 μs |
0.0276 μs |
0.0230 μs |
1.06 |
0.01 |
0.0153 |
0.0114 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
True |
3.737 μs |
0.0210 μs |
0.0197 μs |
1.20 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
True |
1.992 μs |
0.0053 μs |
0.0044 μs |
0.64 |
0.00 |
0.0038 |
- |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
False |
3.111 μs |
0.0302 μs |
0.0282 μs |
1.00 |
0.01 |
0.0076 |
0.0038 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
False |
3.564 μs |
0.0235 μs |
0.0220 μs |
1.15 |
0.01 |
0.0153 |
0.0114 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
False |
3.708 μs |
0.0141 μs |
0.0125 μs |
1.19 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
False |
2.030 μs |
0.0088 μs |
0.0082 μs |
0.65 |
0.01 |
0.0038 |
- |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
True |
3.128 μs |
0.0150 μs |
0.0140 μs |
1.00 |
0.01 |
0.0076 |
0.0038 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
True |
3.529 μs |
0.0175 μs |
0.0164 μs |
1.13 |
0.01 |
0.0153 |
0.0114 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
True |
3.694 μs |
0.0117 μs |
0.0110 μs |
1.18 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
True |
1.932 μs |
0.0123 μs |
0.0115 μs |
0.62 |
0.00 |
0.0038 |
- |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
False |
3.495 μs |
0.0250 μs |
0.0221 μs |
1.00 |
0.01 |
0.0229 |
0.0191 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
False |
3.756 μs |
0.0231 μs |
0.0216 μs |
1.07 |
0.01 |
0.0420 |
0.0381 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
False |
3.664 μs |
0.0202 μs |
0.0189 μs |
1.05 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
False |
2.010 μs |
0.0207 μs |
0.0194 μs |
0.58 |
0.01 |
0.0038 |
- |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
True |
3.390 μs |
0.0151 μs |
0.0126 μs |
1.00 |
0.01 |
0.0229 |
0.0191 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
True |
3.733 μs |
0.0151 μs |
0.0134 μs |
1.10 |
0.01 |
0.0420 |
0.0381 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
True |
3.702 μs |
0.0171 μs |
0.0160 μs |
1.09 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
True |
2.021 μs |
0.0075 μs |
0.0070 μs |
0.60 |
0.00 |
0.0038 |
- |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
False |
4.829 μs |
0.0080 μs |
0.0071 μs |
1.00 |
0.00 |
0.1602 |
0.1526 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
False |
5.925 μs |
0.0197 μs |
0.0165 μs |
1.23 |
0.00 |
0.3128 |
0.3052 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
False |
4.501 μs |
0.0165 μs |
0.0146 μs |
0.93 |
0.00 |
0.0687 |
0.0610 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
False |
2.577 μs |
0.0192 μs |
0.0179 μs |
0.53 |
0.00 |
0.0038 |
- |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
True |
4.740 μs |
0.0101 μs |
0.0090 μs |
1.00 |
0.00 |
0.1602 |
0.1526 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
True |
5.899 μs |
0.0180 μs |
0.0160 μs |
1.24 |
0.00 |
0.3128 |
0.3052 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
True |
4.456 μs |
0.0690 μs |
0.0646 μs |
0.94 |
0.01 |
0.0687 |
0.0610 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
True |
2.592 μs |
0.0122 μs |
0.0114 μs |
0.55 |
0.00 |
0.0038 |
- |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
False |
70.625 μs |
0.7405 μs |
0.6927 μs |
1.00 |
0.01 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
False |
87.518 μs |
0.6326 μs |
0.5917 μs |
1.24 |
0.01 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
False |
13.144 μs |
0.0224 μs |
0.0198 μs |
0.19 |
0.00 |
0.0610 |
0.0458 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
False |
7.667 μs |
0.0022 μs |
0.0018 μs |
0.11 |
0.00 |
- |
- |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
True |
70.317 μs |
0.3686 μs |
0.3448 μs |
1.00 |
0.01 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
True |
87.232 μs |
0.4924 μs |
0.4365 μs |
1.24 |
0.01 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
True |
11.769 μs |
0.0261 μs |
0.0231 μs |
0.17 |
0.00 |
0.0610 |
0.0458 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
True |
7.898 μs |
0.0072 μs |
0.0064 μs |
0.11 |
0.00 |
- |
- |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
False |
272.603 μs |
4.6220 μs |
4.3234 μs |
1.00 |
0.02 |
169.4336 |
169.4336 |
169.4336 |
1050094 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
False |
607.911 μs |
6.9476 μs |
6.4987 μs |
2.23 |
0.04 |
402.3438 |
402.3438 |
402.3438 |
3017343 B |
2.873 |
| GetByteBufferStreamChunked |
1048576 |
False |
99.428 μs |
0.6053 μs |
0.5662 μs |
0.36 |
0.01 |
- |
- |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
False |
78.200 μs |
0.2613 μs |
0.2316 μs |
0.29 |
0.00 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
True |
276.018 μs |
5.5073 μs |
5.4089 μs |
1.00 |
0.03 |
168.9453 |
168.9453 |
168.9453 |
1050063 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
True |
614.690 μs |
10.0777 μs |
9.4267 μs |
2.23 |
0.05 |
401.3672 |
401.3672 |
401.3672 |
3017387 B |
2.874 |
| GetByteBufferStreamChunked |
1048576 |
True |
100.050 μs |
0.1137 μs |
0.1008 μs |
0.36 |
0.01 |
- |
- |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
True |
79.747 μs |
0.2088 μs |
0.1851 μs |
0.29 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
False |
2,471.106 μs |
28.9292 μs |
27.0604 μs |
1.00 |
0.02 |
332.0313 |
332.0313 |
332.0313 |
10486535 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
False |
6,932.622 μs |
133.9118 μs |
143.2841 μs |
2.81 |
0.06 |
687.5000 |
687.5000 |
687.5000 |
43910509 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
False |
944.808 μs |
2.0794 μs |
1.6235 μs |
0.38 |
0.00 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
False |
806.111 μs |
2.3668 μs |
2.2139 μs |
0.33 |
0.00 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
True |
2,392.881 μs |
35.8815 μs |
33.5636 μs |
1.00 |
0.02 |
332.0313 |
332.0313 |
332.0313 |
10486535 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
True |
6,789.676 μs |
105.6028 μs |
98.7810 μs |
2.84 |
0.06 |
703.1250 |
703.1250 |
703.1250 |
43910523 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
True |
969.790 μs |
8.0062 μs |
7.4890 μs |
0.41 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
True |
829.801 μs |
11.5398 μs |
10.7944 μs |
0.35 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
False |
23,882.934 μs |
452.4946 μs |
423.2638 μs |
1.00 |
0.02 |
312.5000 |
312.5000 |
312.5000 |
104858366 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
False |
52,439.335 μs |
1,026.2672 μs |
1,007.9316 μs |
2.20 |
0.06 |
600.0000 |
600.0000 |
600.0000 |
373163404 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
False |
15,703.322 μs |
284.2745 μs |
265.9106 μs |
0.66 |
0.02 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
False |
15,498.541 μs |
219.3564 μs |
205.1861 μs |
0.65 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
True |
23,841.758 μs |
353.6447 μs |
313.4968 μs |
1.00 |
0.02 |
312.5000 |
312.5000 |
312.5000 |
104858366 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
True |
54,903.390 μs |
487.7958 μs |
456.2845 μs |
2.30 |
0.03 |
666.6667 |
666.6667 |
666.6667 |
373163448 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
True |
15,369.869 μs |
299.2819 μs |
332.6510 μs |
0.64 |
0.02 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
True |
15,735.705 μs |
170.3767 μs |
159.3705 μs |
0.66 |
0.01 |
- |
- |
- |
400 B |
0.000 |
bulk-ubuntu-22.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.16GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
ForceRawMemory |
UseCriticalMethods |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeByteArrayDirect |
1024 |
True |
False |
1.329 μs |
0.0194 μs |
0.0181 μs |
1.00 |
0.02 |
0.0668 |
- |
- |
1.09 KB |
1.00 |
| GetArrayViaStreamChunked |
1024 |
True |
False |
1.930 μs |
0.0251 μs |
0.0209 μs |
1.45 |
0.02 |
0.3204 |
- |
- |
5.26 KB |
4.81 |
| GetArrayViaStreamSpan |
1024 |
True |
False |
1.655 μs |
0.0223 μs |
0.0209 μs |
1.25 |
0.02 |
0.0744 |
- |
- |
1.23 KB |
1.13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
1048576 |
True |
False |
525.340 μs |
6.2309 μs |
5.8284 μs |
1.00 |
0.02 |
249.0234 |
249.0234 |
249.0234 |
1024.25 KB |
1.00 |
| GetArrayViaStreamChunked |
1048576 |
True |
False |
553.410 μs |
5.3984 μs |
4.7856 μs |
1.05 |
0.01 |
249.0234 |
249.0234 |
249.0234 |
1028.42 KB |
1.00 |
| GetArrayViaStreamSpan |
1048576 |
True |
False |
518.657 μs |
8.2563 μs |
6.8944 μs |
0.99 |
0.02 |
249.0234 |
249.0234 |
249.0234 |
1024.39 KB |
1.00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
104857600 |
True |
False |
53,455.924 μs |
343.7124 μs |
321.5088 μs |
1.00 |
0.01 |
166.6667 |
166.6667 |
166.6667 |
102400.2 KB |
1.00 |
| GetArrayViaStreamChunked |
104857600 |
True |
False |
51,256.809 μs |
737.6251 μs |
689.9749 μs |
0.96 |
0.01 |
300.0000 |
300.0000 |
300.0000 |
102404.45 KB |
1.00 |
| GetArrayViaStreamSpan |
104857600 |
True |
False |
52,210.745 μs |
489.8605 μs |
434.2486 μs |
0.98 |
0.01 |
166.6667 |
166.6667 |
166.6667 |
102400.34 KB |
1.00 |
bulk-ubuntu-22.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.16GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
UseCriticalMethods |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| GetByteBufferToArray |
10 |
False |
3.354 μs |
0.0431 μs |
0.0403 μs |
1.00 |
0.02 |
0.0343 |
0.0305 |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
False |
3.658 μs |
0.0391 μs |
0.0346 μs |
1.09 |
0.02 |
0.0610 |
0.0572 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
False |
3.682 μs |
0.0623 μs |
0.0583 μs |
1.10 |
0.02 |
0.2823 |
0.2747 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
False |
2.204 μs |
0.0233 μs |
0.0218 μs |
0.66 |
0.01 |
0.0229 |
0.0191 |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10 |
True |
3.338 μs |
0.0276 μs |
0.0258 μs |
1.00 |
0.01 |
0.0343 |
0.0305 |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
True |
3.524 μs |
0.0512 μs |
0.0479 μs |
1.06 |
0.02 |
0.0610 |
0.0572 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
True |
3.670 μs |
0.0310 μs |
0.0275 μs |
1.10 |
0.01 |
0.2861 |
0.2823 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
True |
2.243 μs |
0.0177 μs |
0.0157 μs |
0.67 |
0.01 |
0.0229 |
0.0191 |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
False |
3.401 μs |
0.0467 μs |
0.0437 μs |
1.00 |
0.02 |
0.0381 |
0.0343 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
False |
3.562 μs |
0.0329 μs |
0.0292 μs |
1.05 |
0.02 |
0.0648 |
0.0610 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
False |
3.614 μs |
0.0309 μs |
0.0241 μs |
1.06 |
0.01 |
0.2861 |
0.2823 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
False |
2.258 μs |
0.0184 μs |
0.0164 μs |
0.66 |
0.01 |
0.0229 |
0.0191 |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
True |
3.369 μs |
0.0272 μs |
0.0241 μs |
1.00 |
0.01 |
0.0381 |
0.0343 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
True |
3.531 μs |
0.0324 μs |
0.0271 μs |
1.05 |
0.01 |
0.0648 |
0.0610 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
True |
3.695 μs |
0.0451 μs |
0.0422 μs |
1.10 |
0.01 |
0.2861 |
0.2823 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
True |
2.287 μs |
0.0270 μs |
0.0252 μs |
0.68 |
0.01 |
0.0229 |
0.0191 |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
False |
3.567 μs |
0.0421 μs |
0.0394 μs |
1.00 |
0.02 |
0.0916 |
0.0877 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
False |
3.723 μs |
0.0501 μs |
0.0469 μs |
1.04 |
0.02 |
0.1678 |
0.1640 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
False |
3.680 μs |
0.0594 μs |
0.0527 μs |
1.03 |
0.02 |
0.2823 |
0.2747 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
False |
2.338 μs |
0.0266 μs |
0.0236 μs |
0.66 |
0.01 |
0.0229 |
0.0191 |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
True |
3.624 μs |
0.0590 μs |
0.0552 μs |
1.00 |
0.02 |
0.0916 |
0.0877 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
True |
3.707 μs |
0.0333 μs |
0.0278 μs |
1.02 |
0.02 |
0.1678 |
0.1640 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
True |
3.713 μs |
0.0290 μs |
0.0242 μs |
1.02 |
0.02 |
0.2861 |
0.2823 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
True |
2.302 μs |
0.0203 μs |
0.0169 μs |
0.64 |
0.01 |
0.0229 |
0.0191 |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
False |
4.998 μs |
0.0871 μs |
0.0815 μs |
1.00 |
0.02 |
0.6409 |
0.6332 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
False |
5.784 μs |
0.0539 μs |
0.0478 μs |
1.16 |
0.02 |
1.2665 |
0.6256 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
False |
4.441 μs |
0.0629 μs |
0.0588 μs |
0.89 |
0.02 |
0.2823 |
0.2747 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
False |
2.734 μs |
0.0234 μs |
0.0208 μs |
0.55 |
0.01 |
0.0229 |
0.0191 |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
True |
4.857 μs |
0.0751 μs |
0.0666 μs |
1.00 |
0.02 |
0.6409 |
0.6332 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
True |
5.779 μs |
0.0360 μs |
0.0300 μs |
1.19 |
0.02 |
1.2665 |
0.6256 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
True |
4.447 μs |
0.0505 μs |
0.0472 μs |
0.92 |
0.02 |
0.2823 |
0.2747 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
True |
2.785 μs |
0.0170 μs |
0.0151 μs |
0.57 |
0.01 |
0.0229 |
0.0191 |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
False |
87.730 μs |
0.5486 μs |
0.5132 μs |
1.00 |
0.01 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
False |
110.001 μs |
1.8668 μs |
1.7462 μs |
1.25 |
0.02 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
False |
12.752 μs |
0.1224 μs |
0.1145 μs |
0.15 |
0.00 |
0.2747 |
0.2594 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
False |
7.482 μs |
0.0763 μs |
0.0713 μs |
0.09 |
0.00 |
0.0229 |
0.0153 |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
True |
89.056 μs |
0.5733 μs |
0.5363 μs |
1.00 |
0.01 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
True |
107.788 μs |
1.1143 μs |
0.9305 μs |
1.21 |
0.01 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
True |
13.435 μs |
0.1152 μs |
0.1021 μs |
0.15 |
0.00 |
0.2747 |
0.2594 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
True |
7.577 μs |
0.1049 μs |
0.0981 μs |
0.09 |
0.00 |
0.0229 |
0.0153 |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
False |
563.603 μs |
3.7050 μs |
3.2844 μs |
1.00 |
0.01 |
249.0234 |
249.0234 |
249.0234 |
1049297 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
False |
921.332 μs |
17.6451 μs |
36.4402 μs |
1.63 |
0.06 |
658.2031 |
658.2031 |
658.2031 |
3015931 B |
2.874 |
| GetByteBufferStreamChunked |
1048576 |
False |
88.183 μs |
0.6109 μs |
0.6790 μs |
0.16 |
0.00 |
0.2441 |
0.1221 |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
False |
60.007 μs |
1.0094 μs |
0.7881 μs |
0.11 |
0.00 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
True |
565.852 μs |
5.6610 μs |
5.2953 μs |
1.00 |
0.01 |
249.0234 |
249.0234 |
249.0234 |
1049297 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
True |
900.672 μs |
16.5776 μs |
25.8094 μs |
1.59 |
0.05 |
663.0859 |
663.0859 |
663.0859 |
3015934 B |
2.874 |
| GetByteBufferStreamChunked |
1048576 |
True |
88.897 μs |
0.9131 μs |
0.7624 μs |
0.16 |
0.00 |
0.2441 |
0.1221 |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
True |
76.847 μs |
0.5660 μs |
0.5294 μs |
0.14 |
0.00 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
False |
8,052.971 μs |
157.7031 μs |
147.5156 μs |
1.00 |
0.03 |
328.1250 |
328.1250 |
328.1250 |
10486533 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
False |
24,320.210 μs |
212.7850 μs |
177.6851 μs |
3.02 |
0.06 |
937.5000 |
937.5000 |
937.5000 |
43910679 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
False |
1,213.458 μs |
17.9598 μs |
15.9209 μs |
0.15 |
0.00 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
False |
891.988 μs |
17.8271 μs |
34.7704 μs |
0.11 |
0.00 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
True |
8,074.845 μs |
137.0577 μs |
128.2039 μs |
1.00 |
0.02 |
328.1250 |
328.1250 |
328.1250 |
10486533 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
True |
24,408.679 μs |
317.1246 μs |
281.1227 μs |
3.02 |
0.06 |
937.5000 |
937.5000 |
937.5000 |
43910678 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
True |
1,264.569 μs |
23.9447 μs |
36.5661 μs |
0.16 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
True |
908.429 μs |
17.1444 μs |
16.8381 μs |
0.11 |
0.00 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
False |
63,510.770 μs |
967.8230 μs |
905.3023 μs |
1.00 |
0.02 |
166.6667 |
166.6667 |
166.6667 |
104858268 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
False |
92,288.008 μs |
1,251.3895 μs |
1,170.5505 μs |
1.45 |
0.03 |
666.6667 |
666.6667 |
666.6667 |
373163424 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
False |
19,436.049 μs |
245.4773 μs |
217.6092 μs |
0.31 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
False |
14,848.621 μs |
147.4908 μs |
130.7468 μs |
0.23 |
0.00 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
True |
56,999.385 μs |
679.5028 μs |
602.3615 μs |
1.00 |
0.01 |
222.2222 |
222.2222 |
222.2222 |
104858304 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
True |
87,087.138 μs |
934.9835 μs |
874.5841 μs |
1.53 |
0.02 |
750.0000 |
750.0000 |
750.0000 |
373163482 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
True |
19,230.999 μs |
156.7040 μs |
138.9140 μs |
0.34 |
0.00 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
True |
15,002.944 μs |
77.5405 μs |
72.5315 μs |
0.26 |
0.00 |
- |
- |
- |
400 B |
0.000 |
bulk-ubuntu-22.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 3.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
ForceRawMemory |
UseCriticalMethods |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeByteArrayDirect |
1024 |
True |
False |
807.4 ns |
16.14 ns |
26.53 ns |
1.00 |
0.05 |
0.0134 |
- |
- |
1.09 KB |
1.00 |
| GetArrayViaStreamChunked |
1024 |
True |
False |
1,492.0 ns |
29.69 ns |
46.22 ns |
1.85 |
0.08 |
0.0629 |
- |
- |
5.26 KB |
4.81 |
| GetArrayViaStreamSpan |
1024 |
True |
False |
992.0 ns |
19.30 ns |
21.45 ns |
1.23 |
0.05 |
0.0134 |
- |
- |
1.23 KB |
1.13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
1048576 |
True |
False |
204,457.7 ns |
3,854.44 ns |
3,785.58 ns |
1.00 |
0.03 |
233.1543 |
233.1543 |
233.1543 |
1024.44 KB |
1.00 |
| GetArrayViaStreamChunked |
1048576 |
True |
False |
211,974.5 ns |
4,157.85 ns |
3,889.26 ns |
1.04 |
0.03 |
236.8164 |
236.8164 |
236.8164 |
1028.95 KB |
1.00 |
| GetArrayViaStreamSpan |
1048576 |
True |
False |
213,695.9 ns |
4,131.90 ns |
5,515.97 ns |
1.05 |
0.03 |
215.8203 |
215.8203 |
215.8203 |
1024.65 KB |
1.00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
104857600 |
True |
False |
31,646,798.2 ns |
367,140.94 ns |
306,579.31 ns |
1.00 |
0.01 |
285.7143 |
285.7143 |
285.7143 |
102400.28 KB |
1.00 |
| GetArrayViaStreamChunked |
104857600 |
True |
False |
35,442,779.3 ns |
619,734.13 ns |
579,699.69 ns |
1.12 |
0.02 |
266.6667 |
266.6667 |
266.6667 |
102404.43 KB |
1.00 |
| GetArrayViaStreamSpan |
104857600 |
True |
False |
32,423,606.7 ns |
639,556.72 ns |
995,712.85 ns |
1.02 |
0.03 |
266.6667 |
266.6667 |
266.6667 |
102400.41 KB |
1.00 |
bulk-ubuntu-22.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 3.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
UseCriticalMethods |
Mean |
Error |
StdDev |
Median |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| GetByteBufferToArray |
10 |
False |
2.028 μs |
0.0391 μs |
0.0384 μs |
2.015 μs |
1.00 |
0.03 |
0.0038 |
- |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
False |
2.614 μs |
0.0510 μs |
0.0809 μs |
2.611 μs |
1.29 |
0.05 |
0.0114 |
0.0076 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
False |
3.231 μs |
0.0640 μs |
0.1653 μs |
3.255 μs |
1.59 |
0.09 |
0.0572 |
0.0534 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
False |
1.588 μs |
0.0314 μs |
0.0294 μs |
1.589 μs |
0.78 |
0.02 |
0.0038 |
0.0019 |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10 |
True |
2.061 μs |
0.0400 μs |
0.0461 μs |
2.067 μs |
1.00 |
0.03 |
0.0038 |
- |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
True |
2.600 μs |
0.0508 μs |
0.0806 μs |
2.586 μs |
1.26 |
0.05 |
0.0114 |
0.0076 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
True |
2.860 μs |
0.0572 μs |
0.1168 μs |
2.853 μs |
1.39 |
0.06 |
0.0572 |
0.0534 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
True |
1.495 μs |
0.0295 μs |
0.0362 μs |
1.505 μs |
0.73 |
0.02 |
0.0038 |
0.0019 |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
False |
2.279 μs |
0.0451 μs |
0.0618 μs |
2.282 μs |
1.00 |
0.04 |
0.0076 |
0.0038 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
False |
2.356 μs |
0.0467 μs |
0.1062 μs |
2.349 μs |
1.03 |
0.05 |
0.0114 |
0.0076 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
False |
2.787 μs |
0.0556 μs |
0.1185 μs |
2.770 μs |
1.22 |
0.06 |
0.0572 |
0.0534 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
False |
1.543 μs |
0.0307 μs |
0.0450 μs |
1.539 μs |
0.68 |
0.03 |
0.0038 |
0.0019 |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
True |
2.433 μs |
0.0486 μs |
0.0500 μs |
2.428 μs |
1.00 |
0.03 |
0.0076 |
0.0038 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
True |
2.560 μs |
0.0482 μs |
0.1006 μs |
2.556 μs |
1.05 |
0.05 |
0.0114 |
0.0076 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
True |
2.864 μs |
0.0562 μs |
0.0601 μs |
2.877 μs |
1.18 |
0.03 |
0.0572 |
0.0534 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
True |
1.534 μs |
0.0263 μs |
0.0220 μs |
1.538 μs |
0.63 |
0.02 |
0.0038 |
0.0019 |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
False |
2.933 μs |
0.0693 μs |
0.2045 μs |
2.936 μs |
1.00 |
0.10 |
0.0153 |
0.0114 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
False |
3.901 μs |
0.0765 μs |
0.0786 μs |
3.888 μs |
1.34 |
0.10 |
0.0305 |
0.0229 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
False |
3.487 μs |
0.0765 μs |
0.2256 μs |
3.462 μs |
1.19 |
0.11 |
0.0572 |
0.0534 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
False |
1.773 μs |
0.0284 μs |
0.0265 μs |
1.776 μs |
0.61 |
0.04 |
0.0038 |
0.0019 |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
True |
2.698 μs |
0.0538 μs |
0.0868 μs |
2.698 μs |
1.00 |
0.04 |
0.0153 |
0.0114 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
True |
3.321 μs |
0.0629 μs |
0.0902 μs |
3.332 μs |
1.23 |
0.05 |
0.0305 |
0.0267 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
True |
3.031 μs |
0.0595 μs |
0.0585 μs |
3.031 μs |
1.12 |
0.04 |
0.0572 |
0.0534 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
True |
1.594 μs |
0.0298 μs |
0.0545 μs |
1.577 μs |
0.59 |
0.03 |
0.0038 |
0.0019 |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
False |
3.973 μs |
0.0766 μs |
0.0679 μs |
3.964 μs |
1.00 |
0.02 |
0.1221 |
0.1144 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
False |
5.081 μs |
0.1016 μs |
0.0950 μs |
5.096 μs |
1.28 |
0.03 |
0.2518 |
0.2441 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
False |
3.649 μs |
0.0646 μs |
0.1005 μs |
3.626 μs |
0.92 |
0.03 |
0.0572 |
0.0534 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
False |
1.764 μs |
0.0353 μs |
0.0636 μs |
1.772 μs |
0.44 |
0.02 |
0.0038 |
- |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
True |
3.936 μs |
0.0757 μs |
0.1011 μs |
3.946 μs |
1.00 |
0.04 |
0.1221 |
0.1144 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
True |
4.863 μs |
0.0969 μs |
0.1936 μs |
4.875 μs |
1.24 |
0.06 |
0.2518 |
0.2441 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
True |
3.409 μs |
0.0675 μs |
0.1234 μs |
3.400 μs |
0.87 |
0.04 |
0.0572 |
0.0534 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
True |
1.838 μs |
0.0340 μs |
0.0318 μs |
1.847 μs |
0.47 |
0.01 |
0.0038 |
0.0019 |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
False |
46.510 μs |
0.8518 μs |
0.7551 μs |
46.255 μs |
1.00 |
0.02 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
False |
62.605 μs |
0.1723 μs |
0.1612 μs |
62.605 μs |
1.35 |
0.02 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
False |
8.098 μs |
0.1143 μs |
0.1013 μs |
8.091 μs |
0.17 |
0.00 |
0.0458 |
0.0305 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
False |
4.865 μs |
0.0770 μs |
0.0683 μs |
4.855 μs |
0.10 |
0.00 |
- |
- |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
True |
46.023 μs |
0.5990 μs |
0.5002 μs |
45.732 μs |
1.00 |
0.01 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
True |
63.297 μs |
0.3516 μs |
0.3908 μs |
63.118 μs |
1.38 |
0.02 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
True |
8.103 μs |
0.0993 μs |
0.0929 μs |
8.120 μs |
0.18 |
0.00 |
0.0458 |
0.0305 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
True |
5.368 μs |
0.0459 μs |
0.0407 μs |
5.351 μs |
0.12 |
0.00 |
- |
- |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
False |
259.312 μs |
3.6998 μs |
3.4608 μs |
260.218 μs |
1.00 |
0.02 |
225.5859 |
225.5859 |
225.5859 |
1049695 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
False |
548.289 μs |
10.7682 μs |
9.5458 μs |
546.978 μs |
2.11 |
0.04 |
537.1094 |
537.1094 |
537.1094 |
3016075 B |
2.873 |
| GetByteBufferStreamChunked |
1048576 |
False |
96.636 μs |
1.4930 μs |
1.8882 μs |
95.926 μs |
0.37 |
0.01 |
- |
- |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
False |
97.431 μs |
1.2012 μs |
1.1236 μs |
97.757 μs |
0.38 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
True |
257.527 μs |
4.6052 μs |
4.0824 μs |
258.156 μs |
1.00 |
0.02 |
214.3555 |
214.3555 |
214.3555 |
1049772 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
True |
558.781 μs |
10.7128 μs |
14.3013 μs |
562.163 μs |
2.17 |
0.06 |
541.0156 |
541.0156 |
541.0156 |
3016033 B |
2.873 |
| GetByteBufferStreamChunked |
1048576 |
True |
100.966 μs |
0.7253 μs |
0.6056 μs |
100.985 μs |
0.39 |
0.01 |
- |
- |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
True |
91.276 μs |
1.8074 μs |
3.7728 μs |
89.831 μs |
0.35 |
0.02 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
False |
4,330.674 μs |
30.2928 μs |
26.8538 μs |
4,334.537 μs |
1.00 |
0.01 |
328.1250 |
328.1250 |
328.1250 |
10486533 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
False |
12,963.693 μs |
258.9101 μs |
479.9065 μs |
12,962.245 μs |
2.99 |
0.11 |
718.7500 |
718.7500 |
718.7500 |
43910545 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
False |
1,445.231 μs |
5.4473 μs |
4.5488 μs |
1,447.153 μs |
0.33 |
0.00 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
False |
1,435.050 μs |
15.8858 μs |
14.8596 μs |
1,436.651 μs |
0.33 |
0.00 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
True |
4,154.988 μs |
81.0200 μs |
79.5725 μs |
4,170.158 μs |
1.00 |
0.03 |
328.1250 |
328.1250 |
328.1250 |
10486533 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
True |
12,533.283 μs |
250.1955 μs |
438.1973 μs |
12,540.826 μs |
3.02 |
0.12 |
718.7500 |
718.7500 |
718.7500 |
43910545 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
True |
1,452.510 μs |
2.6588 μs |
2.3570 μs |
1,451.976 μs |
0.35 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
True |
1,426.862 μs |
6.3985 μs |
5.9852 μs |
1,426.435 μs |
0.34 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
False |
48,682.826 μs |
675.4281 μs |
598.7494 μs |
48,624.586 μs |
1.00 |
0.02 |
200.0000 |
200.0000 |
200.0000 |
104858292 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
False |
111,059.109 μs |
836.1058 μs |
782.0939 μs |
111,211.653 μs |
2.28 |
0.03 |
800.0000 |
800.0000 |
800.0000 |
373163536 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
False |
28,647.944 μs |
559.8173 μs |
549.8154 μs |
28,549.890 μs |
0.59 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
False |
23,524.924 μs |
462.8316 μs |
432.9330 μs |
23,459.488 μs |
0.48 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
True |
50,398.459 μs |
361.4357 μs |
338.0871 μs |
50,535.148 μs |
1.00 |
0.01 |
200.0000 |
200.0000 |
200.0000 |
104858292 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
True |
115,742.397 μs |
1,262.0458 μs |
1,053.8654 μs |
116,260.906 μs |
2.30 |
0.03 |
1000.0000 |
1000.0000 |
1000.0000 |
373163668 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
True |
26,616.866 μs |
510.0275 μs |
500.9152 μs |
26,749.489 μs |
0.53 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
True |
23,299.589 μs |
454.7518 μs |
680.6512 μs |
23,007.515 μs |
0.46 |
0.01 |
- |
- |
- |
400 B |
0.000 |
bulk-ubuntu-24.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
ForceRawMemory |
UseCriticalMethods |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeByteArrayDirect |
1024 |
True |
False |
1.057 μs |
0.0009 μs |
0.0008 μs |
1.00 |
0.00 |
0.0153 |
- |
- |
1.09 KB |
1.00 |
| GetArrayViaStreamChunked |
1024 |
True |
False |
1.653 μs |
0.0109 μs |
0.0102 μs |
1.56 |
0.01 |
0.0801 |
- |
- |
5.26 KB |
4.81 |
| GetArrayViaStreamSpan |
1024 |
True |
False |
1.321 μs |
0.0023 μs |
0.0021 μs |
1.25 |
0.00 |
0.0172 |
- |
- |
1.23 KB |
1.13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
1048576 |
True |
False |
176.216 μs |
1.1218 μs |
0.9945 μs |
1.00 |
0.01 |
168.7012 |
168.7012 |
168.7012 |
1025.38 KB |
1.00 |
| GetArrayViaStreamChunked |
1048576 |
True |
False |
221.182 μs |
1.9518 μs |
1.8257 μs |
1.26 |
0.01 |
200.9277 |
200.9277 |
200.9277 |
1029.17 KB |
1.00 |
| GetArrayViaStreamSpan |
1048576 |
True |
False |
182.547 μs |
2.0267 μs |
1.8958 μs |
1.04 |
0.01 |
167.4805 |
167.4805 |
167.4805 |
1025.51 KB |
1.00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
104857600 |
True |
False |
16,167.871 μs |
224.1723 μs |
209.6909 μs |
1.00 |
0.02 |
328.1250 |
328.1250 |
328.1250 |
102400.3 KB |
1.00 |
| GetArrayViaStreamChunked |
104857600 |
True |
False |
16,652.669 μs |
134.1211 μs |
125.4570 μs |
1.03 |
0.01 |
312.5000 |
312.5000 |
312.5000 |
102404.46 KB |
1.00 |
| GetArrayViaStreamSpan |
104857600 |
True |
False |
17,017.257 μs |
101.2732 μs |
84.5677 μs |
1.05 |
0.01 |
312.5000 |
312.5000 |
312.5000 |
102400.43 KB |
1.00 |
bulk-ubuntu-24.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
UseCriticalMethods |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| GetByteBufferToArray |
10 |
False |
3.035 μs |
0.0075 μs |
0.0070 μs |
1.00 |
0.00 |
0.0076 |
0.0038 |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
False |
3.087 μs |
0.0179 μs |
0.0159 μs |
1.02 |
0.01 |
0.0153 |
0.0114 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
False |
3.415 μs |
0.0212 μs |
0.0177 μs |
1.12 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
False |
1.831 μs |
0.0070 μs |
0.0058 μs |
0.60 |
0.00 |
0.0038 |
- |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10 |
True |
2.881 μs |
0.0081 μs |
0.0075 μs |
1.00 |
0.00 |
0.0076 |
0.0038 |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
True |
3.128 μs |
0.0607 μs |
0.0623 μs |
1.09 |
0.02 |
0.0153 |
0.0114 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
True |
3.328 μs |
0.0140 μs |
0.0124 μs |
1.16 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
True |
1.821 μs |
0.0074 μs |
0.0069 μs |
0.63 |
0.00 |
0.0038 |
- |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
False |
2.950 μs |
0.0092 μs |
0.0082 μs |
1.00 |
0.00 |
0.0076 |
0.0038 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
False |
3.061 μs |
0.0168 μs |
0.0149 μs |
1.04 |
0.01 |
0.0153 |
0.0114 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
False |
3.262 μs |
0.0156 μs |
0.0138 μs |
1.11 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
False |
1.842 μs |
0.0057 μs |
0.0051 μs |
0.62 |
0.00 |
0.0038 |
- |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
True |
2.873 μs |
0.0077 μs |
0.0069 μs |
1.00 |
0.00 |
0.0076 |
0.0038 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
True |
3.063 μs |
0.0218 μs |
0.0193 μs |
1.07 |
0.01 |
0.0153 |
0.0114 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
True |
3.286 μs |
0.0215 μs |
0.0190 μs |
1.14 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
True |
1.865 μs |
0.0068 μs |
0.0064 μs |
0.65 |
0.00 |
0.0038 |
- |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
False |
3.243 μs |
0.0317 μs |
0.0296 μs |
1.00 |
0.01 |
0.0229 |
0.0191 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
False |
3.625 μs |
0.0219 μs |
0.0205 μs |
1.12 |
0.01 |
0.0420 |
0.0381 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
False |
3.460 μs |
0.0168 μs |
0.0157 μs |
1.07 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
False |
1.863 μs |
0.0047 μs |
0.0042 μs |
0.57 |
0.01 |
0.0038 |
- |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
True |
3.261 μs |
0.0109 μs |
0.0097 μs |
1.00 |
0.00 |
0.0229 |
0.0191 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
True |
3.464 μs |
0.0192 μs |
0.0170 μs |
1.06 |
0.01 |
0.0420 |
0.0381 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
True |
3.516 μs |
0.0186 μs |
0.0165 μs |
1.08 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
True |
1.849 μs |
0.0055 μs |
0.0051 μs |
0.57 |
0.00 |
0.0038 |
- |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
False |
4.679 μs |
0.0246 μs |
0.0218 μs |
1.00 |
0.01 |
0.1602 |
0.1526 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
False |
5.895 μs |
0.0265 μs |
0.0248 μs |
1.26 |
0.01 |
0.3128 |
0.3052 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
False |
4.321 μs |
0.0133 μs |
0.0111 μs |
0.92 |
0.00 |
0.0687 |
0.0610 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
False |
2.413 μs |
0.0054 μs |
0.0051 μs |
0.52 |
0.00 |
0.0038 |
- |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
True |
4.517 μs |
0.0096 μs |
0.0085 μs |
1.00 |
0.00 |
0.1602 |
0.1526 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
True |
5.658 μs |
0.0254 μs |
0.0237 μs |
1.25 |
0.01 |
0.3128 |
0.3052 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
True |
4.314 μs |
0.0550 μs |
0.0514 μs |
0.95 |
0.01 |
0.0687 |
0.0610 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
True |
2.466 μs |
0.0082 μs |
0.0072 μs |
0.55 |
0.00 |
0.0038 |
- |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
False |
65.599 μs |
0.4888 μs |
0.4333 μs |
1.00 |
0.01 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
False |
79.202 μs |
1.0409 μs |
0.9737 μs |
1.21 |
0.02 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
False |
11.768 μs |
0.0351 μs |
0.0328 μs |
0.18 |
0.00 |
0.0610 |
0.0458 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
False |
7.834 μs |
0.0164 μs |
0.0153 μs |
0.12 |
0.00 |
- |
- |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
True |
63.623 μs |
0.2387 μs |
0.2233 μs |
1.00 |
0.00 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
True |
78.496 μs |
0.3207 μs |
0.2503 μs |
1.23 |
0.01 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
True |
11.540 μs |
0.0222 μs |
0.0197 μs |
0.18 |
0.00 |
0.0610 |
0.0458 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
True |
7.705 μs |
0.0244 μs |
0.0229 μs |
0.12 |
0.00 |
- |
- |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
False |
275.772 μs |
5.1308 μs |
5.4899 μs |
1.00 |
0.03 |
206.5430 |
206.5430 |
206.5430 |
1050078 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
False |
586.096 μs |
11.6057 μs |
18.7410 μs |
2.13 |
0.08 |
500.0000 |
500.0000 |
500.0000 |
3015824 B |
2.872 |
| GetByteBufferStreamChunked |
1048576 |
False |
99.328 μs |
0.2147 μs |
0.1903 μs |
0.36 |
0.01 |
- |
- |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
False |
77.511 μs |
0.1882 μs |
0.1760 μs |
0.28 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
True |
274.379 μs |
4.7097 μs |
4.4055 μs |
1.00 |
0.02 |
211.9141 |
211.9141 |
211.9141 |
1050108 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
True |
577.858 μs |
11.2646 μs |
17.2022 μs |
2.11 |
0.07 |
500.0000 |
500.0000 |
500.0000 |
3015824 B |
2.872 |
| GetByteBufferStreamChunked |
1048576 |
True |
98.863 μs |
0.1766 μs |
0.1565 μs |
0.36 |
0.01 |
- |
- |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
True |
76.500 μs |
0.2060 μs |
0.1826 μs |
0.28 |
0.00 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
False |
2,419.030 μs |
46.7544 μs |
53.8424 μs |
1.00 |
0.03 |
332.0313 |
332.0313 |
332.0313 |
10486535 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
False |
8,559.805 μs |
133.4978 μs |
124.8739 μs |
3.54 |
0.09 |
968.7500 |
968.7500 |
968.7500 |
43910699 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
False |
976.535 μs |
9.8293 μs |
8.7134 μs |
0.40 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
False |
842.701 μs |
11.4643 μs |
10.7237 μs |
0.35 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
True |
2,411.731 μs |
38.0419 μs |
35.5844 μs |
1.00 |
0.02 |
332.0313 |
332.0313 |
332.0313 |
10486535 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
True |
8,527.385 μs |
136.8512 μs |
128.0107 μs |
3.54 |
0.07 |
968.7500 |
968.7500 |
968.7500 |
43910699 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
True |
1,014.973 μs |
17.1284 μs |
16.0219 μs |
0.42 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
True |
832.677 μs |
10.9645 μs |
10.2562 μs |
0.35 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
False |
22,516.459 μs |
446.9188 μs |
458.9527 μs |
1.00 |
0.03 |
312.5000 |
312.5000 |
312.5000 |
104858362 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
False |
50,435.395 μs |
464.9599 μs |
434.9238 μs |
2.24 |
0.05 |
818.1818 |
818.1818 |
818.1818 |
373163532 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
False |
14,736.757 μs |
82.1736 μs |
76.8652 μs |
0.65 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
False |
14,875.724 μs |
121.8545 μs |
113.9828 μs |
0.66 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
True |
22,723.056 μs |
397.1565 μs |
371.5004 μs |
1.00 |
0.02 |
312.5000 |
312.5000 |
312.5000 |
104858362 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
True |
50,149.960 μs |
982.4190 μs |
1,311.5013 μs |
2.21 |
0.07 |
800.0000 |
800.0000 |
800.0000 |
373163519 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
True |
14,667.007 μs |
168.8795 μs |
149.7073 μs |
0.65 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
True |
14,822.983 μs |
232.2754 μs |
217.2705 μs |
0.65 |
0.01 |
- |
- |
- |
400 B |
0.000 |
bulk-ubuntu-24.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
ForceRawMemory |
UseCriticalMethods |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeByteArrayDirect |
1024 |
True |
False |
1.098 μs |
0.0013 μs |
0.0012 μs |
1.00 |
0.00 |
0.0153 |
- |
- |
1.09 KB |
1.00 |
| GetArrayViaStreamChunked |
1024 |
True |
False |
1.647 μs |
0.0150 μs |
0.0140 μs |
1.50 |
0.01 |
0.0801 |
- |
- |
5.26 KB |
4.81 |
| GetArrayViaStreamSpan |
1024 |
True |
False |
1.320 μs |
0.0032 μs |
0.0028 μs |
1.20 |
0.00 |
0.0172 |
- |
- |
1.23 KB |
1.13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
1048576 |
True |
False |
178.666 μs |
1.6928 μs |
1.5834 μs |
1.00 |
0.01 |
141.1133 |
141.1133 |
141.1133 |
1025.14 KB |
1.00 |
| GetArrayViaStreamChunked |
1048576 |
True |
False |
197.336 μs |
2.5429 μs |
2.3786 μs |
1.10 |
0.02 |
144.2871 |
144.2871 |
144.2871 |
1029.07 KB |
1.00 |
| GetArrayViaStreamSpan |
1048576 |
True |
False |
181.324 μs |
1.7348 μs |
1.6228 μs |
1.01 |
0.01 |
142.0898 |
142.0898 |
142.0898 |
1025.24 KB |
1.00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
104857600 |
True |
False |
16,499.544 μs |
326.0218 μs |
457.0371 μs |
1.00 |
0.04 |
312.5000 |
312.5000 |
312.5000 |
102400.29 KB |
1.00 |
| GetArrayViaStreamChunked |
104857600 |
True |
False |
16,291.914 μs |
317.7172 μs |
539.5080 μs |
0.99 |
0.04 |
312.5000 |
312.5000 |
312.5000 |
102404.46 KB |
1.00 |
| GetArrayViaStreamSpan |
104857600 |
True |
False |
15,846.577 μs |
80.2977 μs |
75.1105 μs |
0.96 |
0.03 |
312.5000 |
312.5000 |
312.5000 |
102400.44 KB |
1.00 |
bulk-ubuntu-24.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
UseCriticalMethods |
Mean |
Error |
StdDev |
Median |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| GetByteBufferToArray |
10 |
False |
3.042 μs |
0.0072 μs |
0.0064 μs |
3.040 μs |
1.00 |
0.00 |
0.0076 |
0.0038 |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
False |
3.221 μs |
0.0156 μs |
0.0146 μs |
3.216 μs |
1.06 |
0.01 |
0.0153 |
0.0114 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
False |
3.615 μs |
0.0226 μs |
0.0200 μs |
3.615 μs |
1.19 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
False |
1.937 μs |
0.0071 μs |
0.0066 μs |
1.935 μs |
0.64 |
0.00 |
0.0038 |
- |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10 |
True |
3.030 μs |
0.0070 μs |
0.0065 μs |
3.029 μs |
1.00 |
0.00 |
0.0076 |
0.0038 |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
True |
3.255 μs |
0.0140 μs |
0.0131 μs |
3.255 μs |
1.07 |
0.00 |
0.0153 |
0.0114 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
True |
3.531 μs |
0.0221 μs |
0.0207 μs |
3.529 μs |
1.17 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
True |
1.929 μs |
0.0049 μs |
0.0046 μs |
1.928 μs |
0.64 |
0.00 |
0.0038 |
- |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
False |
3.038 μs |
0.0070 μs |
0.0058 μs |
3.040 μs |
1.00 |
0.00 |
0.0076 |
0.0038 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
False |
3.305 μs |
0.0105 μs |
0.0098 μs |
3.305 μs |
1.09 |
0.00 |
0.0153 |
0.0114 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
False |
3.512 μs |
0.0165 μs |
0.0147 μs |
3.512 μs |
1.16 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
False |
1.948 μs |
0.0127 μs |
0.0113 μs |
1.944 μs |
0.64 |
0.00 |
0.0038 |
- |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
True |
2.990 μs |
0.0064 μs |
0.0057 μs |
2.991 μs |
1.00 |
0.00 |
0.0076 |
0.0038 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
True |
3.147 μs |
0.0102 μs |
0.0096 μs |
3.145 μs |
1.05 |
0.00 |
0.0153 |
0.0114 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
True |
3.474 μs |
0.0068 μs |
0.0057 μs |
3.473 μs |
1.16 |
0.00 |
0.0687 |
0.0648 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
True |
1.945 μs |
0.0044 μs |
0.0041 μs |
1.945 μs |
0.65 |
0.00 |
0.0038 |
- |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
False |
3.195 μs |
0.0106 μs |
0.0100 μs |
3.194 μs |
1.00 |
0.00 |
0.0229 |
0.0191 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
False |
3.515 μs |
0.0195 μs |
0.0183 μs |
3.521 μs |
1.10 |
0.01 |
0.0420 |
0.0381 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
False |
3.508 μs |
0.0083 μs |
0.0077 μs |
3.507 μs |
1.10 |
0.00 |
0.0687 |
0.0648 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
False |
2.007 μs |
0.0089 μs |
0.0083 μs |
2.005 μs |
0.63 |
0.00 |
0.0038 |
- |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
True |
3.259 μs |
0.0202 μs |
0.0189 μs |
3.267 μs |
1.00 |
0.01 |
0.0229 |
0.0191 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
True |
3.531 μs |
0.0120 μs |
0.0112 μs |
3.533 μs |
1.08 |
0.01 |
0.0420 |
0.0381 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
True |
3.564 μs |
0.0123 μs |
0.0102 μs |
3.562 μs |
1.09 |
0.01 |
0.0687 |
0.0648 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
True |
1.968 μs |
0.0079 μs |
0.0074 μs |
1.966 μs |
0.60 |
0.00 |
0.0038 |
- |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
False |
4.605 μs |
0.0311 μs |
0.0276 μs |
4.607 μs |
1.00 |
0.01 |
0.1602 |
0.1526 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
False |
5.662 μs |
0.0123 μs |
0.0115 μs |
5.665 μs |
1.23 |
0.01 |
0.3128 |
0.3052 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
False |
4.292 μs |
0.0146 μs |
0.0136 μs |
4.296 μs |
0.93 |
0.01 |
0.0687 |
0.0610 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
False |
2.540 μs |
0.0044 μs |
0.0039 μs |
2.540 μs |
0.55 |
0.00 |
0.0038 |
- |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
True |
4.670 μs |
0.0373 μs |
0.0349 μs |
4.661 μs |
1.00 |
0.01 |
0.1602 |
0.1526 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
True |
5.655 μs |
0.0098 μs |
0.0081 μs |
5.654 μs |
1.21 |
0.01 |
0.3128 |
0.3052 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
True |
4.460 μs |
0.0102 μs |
0.0090 μs |
4.457 μs |
0.96 |
0.01 |
0.0687 |
0.0610 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
True |
2.476 μs |
0.0075 μs |
0.0070 μs |
2.476 μs |
0.53 |
0.00 |
0.0038 |
- |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
False |
66.631 μs |
1.2804 μs |
1.1977 μs |
67.105 μs |
1.00 |
0.02 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
False |
80.482 μs |
0.4539 μs |
0.3544 μs |
80.478 μs |
1.21 |
0.02 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
False |
11.457 μs |
0.0336 μs |
0.0262 μs |
11.465 μs |
0.17 |
0.00 |
0.0610 |
0.0458 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
False |
8.128 μs |
0.0228 μs |
0.0214 μs |
8.128 μs |
0.12 |
0.00 |
- |
- |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
True |
62.401 μs |
0.3779 μs |
0.3156 μs |
62.445 μs |
1.00 |
0.01 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
True |
81.086 μs |
1.0832 μs |
1.0132 μs |
80.778 μs |
1.30 |
0.02 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
True |
11.813 μs |
0.0664 μs |
0.0589 μs |
11.842 μs |
0.19 |
0.00 |
0.0610 |
0.0458 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
True |
7.717 μs |
0.0065 μs |
0.0061 μs |
7.718 μs |
0.12 |
0.00 |
- |
- |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
False |
267.951 μs |
5.3473 μs |
7.4962 μs |
268.529 μs |
1.00 |
0.04 |
166.5039 |
166.5039 |
166.5039 |
1050042 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
False |
562.335 μs |
10.7017 μs |
10.0104 μs |
563.891 μs |
2.10 |
0.07 |
389.6484 |
389.6484 |
389.6484 |
3017364 B |
2.874 |
| GetByteBufferStreamChunked |
1048576 |
False |
95.645 μs |
0.1176 μs |
0.0982 μs |
95.617 μs |
0.36 |
0.01 |
- |
- |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
False |
76.863 μs |
1.5303 μs |
1.7009 μs |
75.580 μs |
0.29 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
True |
274.430 μs |
5.2123 μs |
5.7935 μs |
273.277 μs |
1.00 |
0.03 |
172.8516 |
172.8516 |
172.8516 |
1050035 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
True |
601.885 μs |
10.3005 μs |
9.6351 μs |
602.569 μs |
2.19 |
0.06 |
396.4844 |
396.4844 |
396.4844 |
3017341 B |
2.874 |
| GetByteBufferStreamChunked |
1048576 |
True |
96.397 μs |
0.2331 μs |
0.2067 μs |
96.341 μs |
0.35 |
0.01 |
- |
- |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
True |
79.701 μs |
0.5733 μs |
0.5363 μs |
79.870 μs |
0.29 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
False |
2,405.397 μs |
30.8101 μs |
25.7278 μs |
2,416.344 μs |
1.00 |
0.01 |
332.0313 |
332.0313 |
332.0313 |
10486535 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
False |
6,770.388 μs |
133.7112 μs |
247.8423 μs |
6,800.385 μs |
2.81 |
0.11 |
726.5625 |
726.5625 |
726.5625 |
43910533 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
False |
949.892 μs |
4.9224 μs |
4.3636 μs |
949.924 μs |
0.39 |
0.00 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
False |
831.653 μs |
4.1673 μs |
3.6942 μs |
830.872 μs |
0.35 |
0.00 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
True |
2,410.821 μs |
47.5661 μs |
78.1524 μs |
2,396.549 μs |
1.00 |
0.05 |
332.0313 |
332.0313 |
332.0313 |
10486535 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
True |
6,649.148 μs |
104.6222 μs |
97.8636 μs |
6,678.686 μs |
2.76 |
0.10 |
656.2500 |
656.2500 |
656.2500 |
43910488 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
True |
954.735 μs |
16.9018 μs |
15.8100 μs |
947.953 μs |
0.40 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
True |
824.256 μs |
6.6147 μs |
5.5235 μs |
822.636 μs |
0.34 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
False |
23,009.926 μs |
449.2376 μs |
584.1358 μs |
23,122.562 μs |
1.00 |
0.04 |
312.5000 |
312.5000 |
312.5000 |
104858366 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
False |
47,353.661 μs |
894.9756 μs |
919.0741 μs |
47,119.592 μs |
2.06 |
0.06 |
545.4545 |
545.4545 |
545.4545 |
373163368 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
False |
14,830.722 μs |
145.4095 μs |
136.0161 μs |
14,844.617 μs |
0.64 |
0.02 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
False |
13,891.061 μs |
159.8390 μs |
133.4728 μs |
13,892.174 μs |
0.60 |
0.02 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
True |
23,238.484 μs |
459.3235 μs |
528.9577 μs |
23,338.857 μs |
1.00 |
0.03 |
312.5000 |
312.5000 |
312.5000 |
104858366 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
True |
49,387.953 μs |
974.8811 μs |
1,083.5777 μs |
50,006.868 μs |
2.13 |
0.07 |
600.0000 |
600.0000 |
600.0000 |
373163404 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
True |
14,329.969 μs |
176.6242 μs |
165.2143 μs |
14,341.490 μs |
0.62 |
0.02 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
True |
15,298.156 μs |
304.1039 μs |
585.9050 μs |
15,473.453 μs |
0.66 |
0.03 |
- |
- |
- |
400 B |
0.000 |
bulk-ubuntu-24.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
ForceRawMemory |
UseCriticalMethods |
Mean |
Error |
StdDev |
Median |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeByteArrayDirect |
1024 |
True |
False |
1.162 μs |
0.0227 μs |
0.0233 μs |
1.164 μs |
1.00 |
0.03 |
0.0668 |
- |
- |
1.09 KB |
1.00 |
| GetArrayViaStreamChunked |
1024 |
True |
False |
1.693 μs |
0.0337 μs |
0.0401 μs |
1.682 μs |
1.46 |
0.04 |
0.3204 |
- |
- |
5.26 KB |
4.81 |
| GetArrayViaStreamSpan |
1024 |
True |
False |
1.421 μs |
0.0282 μs |
0.0431 μs |
1.421 μs |
1.22 |
0.04 |
0.0744 |
- |
- |
1.23 KB |
1.13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
1048576 |
True |
False |
179.264 μs |
3.5570 μs |
3.8060 μs |
180.126 μs |
1.00 |
0.03 |
193.8477 |
193.8477 |
193.8477 |
1025 KB |
1.00 |
| GetArrayViaStreamChunked |
1048576 |
True |
False |
209.548 μs |
4.1498 μs |
5.6803 μs |
208.310 μs |
1.17 |
0.04 |
203.8574 |
203.3691 |
203.3691 |
1029.07 KB |
1.00 |
| GetArrayViaStreamSpan |
1048576 |
True |
False |
195.745 μs |
3.6049 μs |
3.3720 μs |
195.336 μs |
1.09 |
0.03 |
208.9844 |
208.9844 |
208.9844 |
1025 KB |
1.00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
104857600 |
True |
False |
41,579.098 μs |
818.4642 μs |
1,761.8306 μs |
40,870.955 μs |
1.00 |
0.06 |
250.0000 |
250.0000 |
250.0000 |
102400.25 KB |
1.00 |
| GetArrayViaStreamChunked |
104857600 |
True |
False |
44,371.602 μs |
865.8473 μs |
1,373.3257 μs |
44,491.898 μs |
1.07 |
0.05 |
272.7273 |
272.7273 |
272.7273 |
102404.43 KB |
1.00 |
| GetArrayViaStreamSpan |
104857600 |
True |
False |
39,838.007 μs |
611.6477 μs |
773.5386 μs |
39,821.631 μs |
0.96 |
0.04 |
250.0000 |
250.0000 |
250.0000 |
102400.39 KB |
1.00 |
bulk-ubuntu-24.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
UseCriticalMethods |
Mean |
Error |
StdDev |
Median |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| GetByteBufferToArray |
10 |
False |
2.747 μs |
0.0219 μs |
0.0183 μs |
2.742 μs |
1.00 |
0.01 |
0.0343 |
0.0305 |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
False |
3.025 μs |
0.0463 μs |
0.0411 μs |
3.035 μs |
1.10 |
0.02 |
0.0610 |
0.0572 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
False |
3.209 μs |
0.0640 μs |
0.1432 μs |
3.149 μs |
1.17 |
0.05 |
0.2861 |
0.2823 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
False |
1.946 μs |
0.0383 μs |
0.0585 μs |
1.953 μs |
0.71 |
0.02 |
0.0229 |
0.0191 |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10 |
True |
2.802 μs |
0.0181 μs |
0.0160 μs |
2.799 μs |
1.00 |
0.01 |
0.0343 |
0.0305 |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
True |
3.030 μs |
0.0581 μs |
0.0515 μs |
3.014 μs |
1.08 |
0.02 |
0.0610 |
0.0572 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
True |
3.305 μs |
0.0677 μs |
0.1996 μs |
3.209 μs |
1.18 |
0.07 |
0.2861 |
0.2823 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
True |
1.831 μs |
0.0124 μs |
0.0103 μs |
1.833 μs |
0.65 |
0.01 |
0.0229 |
0.0210 |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
False |
2.860 μs |
0.0457 μs |
0.0405 μs |
2.850 μs |
1.00 |
0.02 |
0.0381 |
0.0343 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
False |
2.970 μs |
0.0309 μs |
0.0274 μs |
2.969 μs |
1.04 |
0.02 |
0.0648 |
0.0610 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
False |
3.156 μs |
0.0427 μs |
0.0379 μs |
3.170 μs |
1.10 |
0.02 |
0.2861 |
0.2823 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
False |
1.870 μs |
0.0222 μs |
0.0196 μs |
1.863 μs |
0.65 |
0.01 |
0.0229 |
0.0210 |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
True |
2.838 μs |
0.0497 μs |
0.0441 μs |
2.825 μs |
1.00 |
0.02 |
0.0381 |
0.0343 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
True |
3.021 μs |
0.0466 μs |
0.0389 μs |
3.023 μs |
1.06 |
0.02 |
0.0648 |
0.0610 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
True |
3.234 μs |
0.0435 μs |
0.0363 μs |
3.226 μs |
1.14 |
0.02 |
0.2861 |
0.2823 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
True |
1.888 μs |
0.0364 μs |
0.0341 μs |
1.892 μs |
0.67 |
0.02 |
0.0229 |
0.0210 |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
False |
3.245 μs |
0.0649 μs |
0.1296 μs |
3.247 μs |
1.00 |
0.06 |
0.0916 |
0.0877 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
False |
3.282 μs |
0.0614 μs |
0.1043 μs |
3.266 μs |
1.01 |
0.05 |
0.1678 |
0.1640 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
False |
3.197 μs |
0.0364 μs |
0.0304 μs |
3.197 μs |
0.99 |
0.04 |
0.2861 |
0.2823 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
False |
1.923 μs |
0.0382 μs |
0.0392 μs |
1.911 μs |
0.59 |
0.03 |
0.0229 |
0.0191 |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
True |
3.122 μs |
0.0566 μs |
0.0929 μs |
3.087 μs |
1.00 |
0.04 |
0.0916 |
0.0877 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
True |
3.207 μs |
0.0518 μs |
0.0532 μs |
3.190 μs |
1.03 |
0.03 |
0.1678 |
0.1640 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
True |
3.338 μs |
0.0643 μs |
0.0632 μs |
3.321 μs |
1.07 |
0.04 |
0.2861 |
0.2823 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
True |
1.991 μs |
0.0134 μs |
0.0126 μs |
1.993 μs |
0.64 |
0.02 |
0.0229 |
0.0191 |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
False |
4.442 μs |
0.0285 μs |
0.0252 μs |
4.439 μs |
1.00 |
0.01 |
0.6409 |
0.6332 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
False |
5.536 μs |
0.0710 μs |
0.0996 μs |
5.533 μs |
1.25 |
0.02 |
1.2665 |
0.6256 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
False |
3.959 μs |
0.0749 μs |
0.0769 μs |
3.935 μs |
0.89 |
0.02 |
0.2823 |
0.2747 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
False |
2.393 μs |
0.0467 μs |
0.0437 μs |
2.373 μs |
0.54 |
0.01 |
0.0229 |
0.0191 |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
True |
4.518 μs |
0.0895 μs |
0.1767 μs |
4.424 μs |
1.00 |
0.05 |
0.6409 |
0.6332 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
True |
5.874 μs |
0.1162 μs |
0.2830 μs |
5.785 μs |
1.30 |
0.08 |
1.2665 |
0.6256 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
True |
4.114 μs |
0.0820 μs |
0.2028 μs |
4.044 μs |
0.91 |
0.06 |
0.2823 |
0.2747 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
True |
2.433 μs |
0.0269 μs |
0.0252 μs |
2.437 μs |
0.54 |
0.02 |
0.0229 |
0.0191 |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
False |
79.323 μs |
1.4268 μs |
1.3346 μs |
79.850 μs |
1.00 |
0.02 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
False |
94.147 μs |
1.1179 μs |
1.0457 μs |
94.521 μs |
1.19 |
0.02 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
False |
11.091 μs |
0.1472 μs |
0.1377 μs |
11.020 μs |
0.14 |
0.00 |
0.2747 |
0.2594 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
False |
6.740 μs |
0.0427 μs |
0.0399 μs |
6.740 μs |
0.08 |
0.00 |
0.0229 |
0.0153 |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
True |
74.034 μs |
1.1122 μs |
1.0403 μs |
73.558 μs |
1.00 |
0.02 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
True |
92.465 μs |
0.6392 μs |
0.4991 μs |
92.566 μs |
1.25 |
0.02 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
True |
11.107 μs |
0.0743 μs |
0.0620 μs |
11.106 μs |
0.15 |
0.00 |
0.2747 |
0.2594 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
True |
6.766 μs |
0.0459 μs |
0.0407 μs |
6.775 μs |
0.09 |
0.00 |
0.0229 |
0.0153 |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
False |
271.060 μs |
16.1191 μs |
46.5073 μs |
267.398 μs |
1.03 |
0.24 |
204.5898 |
204.5898 |
204.5898 |
1049812 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
False |
562.352 μs |
11.2189 μs |
28.1461 μs |
557.616 μs |
2.13 |
0.36 |
550.7813 |
550.7813 |
550.7813 |
3016052 B |
2.873 |
| GetByteBufferStreamChunked |
1048576 |
False |
91.694 μs |
1.8327 μs |
5.0479 μs |
88.966 μs |
0.35 |
0.06 |
0.2441 |
0.1221 |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
False |
69.670 μs |
2.9864 μs |
8.8054 μs |
73.994 μs |
0.26 |
0.05 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
True |
280.485 μs |
21.7059 μs |
62.9727 μs |
264.474 μs |
1.05 |
0.32 |
203.6133 |
203.6133 |
203.6133 |
1049656 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
True |
532.091 μs |
10.3816 μs |
17.0573 μs |
528.067 μs |
1.98 |
0.40 |
541.0156 |
541.0156 |
541.0156 |
3016060 B |
2.873 |
| GetByteBufferStreamChunked |
1048576 |
True |
84.551 μs |
0.3612 μs |
0.3202 μs |
84.526 μs |
0.32 |
0.06 |
0.2441 |
0.1221 |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
True |
77.661 μs |
1.5265 μs |
1.4279 μs |
77.764 μs |
0.29 |
0.06 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
False |
2,572.419 μs |
85.8154 μs |
253.0286 μs |
2,445.443 μs |
1.01 |
0.13 |
332.0313 |
332.0313 |
332.0313 |
10486535 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
False |
13,370.664 μs |
263.6352 μs |
369.5797 μs |
13,457.751 μs |
5.24 |
0.50 |
968.7500 |
968.7500 |
968.7500 |
43910699 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
False |
1,264.114 μs |
47.9309 μs |
141.3255 μs |
1,272.759 μs |
0.50 |
0.07 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
False |
1,039.079 μs |
42.9712 μs |
126.7015 μs |
1,054.075 μs |
0.41 |
0.06 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
True |
2,544.400 μs |
44.2422 μs |
62.0213 μs |
2,543.163 μs |
1.00 |
0.03 |
332.0313 |
332.0313 |
332.0313 |
10486535 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
True |
13,087.843 μs |
591.8717 μs |
1,745.1472 μs |
13,917.999 μs |
5.15 |
0.69 |
968.7500 |
968.7500 |
968.7500 |
43910699 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
True |
1,287.621 μs |
44.0863 μs |
129.9896 μs |
1,258.290 μs |
0.51 |
0.05 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
True |
965.364 μs |
37.4858 μs |
108.7532 μs |
941.445 μs |
0.38 |
0.04 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
False |
48,448.660 μs |
966.0410 μs |
1,691.9430 μs |
48,706.136 μs |
1.00 |
0.05 |
272.7273 |
272.7273 |
272.7273 |
104858337 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
False |
48,330.845 μs |
942.1843 μs |
835.2218 μs |
48,250.143 μs |
1.00 |
0.04 |
750.0000 |
750.0000 |
750.0000 |
373163488 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
False |
18,182.056 μs |
504.6368 μs |
1,480.0126 μs |
17,681.515 μs |
0.38 |
0.03 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
False |
12,526.636 μs |
249.7819 μs |
403.3513 μs |
12,490.167 μs |
0.26 |
0.01 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
True |
45,219.500 μs |
321.2707 μs |
284.7981 μs |
45,191.533 μs |
1.00 |
0.01 |
300.0000 |
300.0000 |
300.0000 |
104858354 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
True |
48,740.678 μs |
885.6022 μs |
739.5179 μs |
48,622.332 μs |
1.08 |
0.02 |
818.1818 |
818.1818 |
818.1818 |
373163534 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
True |
19,838.072 μs |
629.3492 μs |
1,855.6503 μs |
20,258.142 μs |
0.44 |
0.04 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
True |
14,995.783 μs |
777.3572 μs |
2,292.0553 μs |
14,096.409 μs |
0.33 |
0.05 |
- |
- |
- |
400 B |
0.000 |
bulk-ubuntu-24.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
ForceRawMemory |
UseCriticalMethods |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeByteArrayDirect |
1024 |
True |
False |
1.057 μs |
0.0098 μs |
0.0092 μs |
1.00 |
0.01 |
0.0668 |
- |
- |
1.09 KB |
1.00 |
| GetArrayViaStreamChunked |
1024 |
True |
False |
1.569 μs |
0.0166 μs |
0.0147 μs |
1.49 |
0.02 |
0.3204 |
- |
- |
5.26 KB |
4.81 |
| GetArrayViaStreamSpan |
1024 |
True |
False |
1.301 μs |
0.0043 μs |
0.0038 μs |
1.23 |
0.01 |
0.0744 |
- |
- |
1.23 KB |
1.13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
1048576 |
True |
False |
192.020 μs |
2.4686 μs |
2.3091 μs |
1.00 |
0.02 |
200.4395 |
200.1953 |
200.1953 |
1025.36 KB |
1.00 |
| GetArrayViaStreamChunked |
1048576 |
True |
False |
212.617 μs |
4.1550 μs |
4.9463 μs |
1.11 |
0.03 |
205.5664 |
205.0781 |
205.0781 |
1029.1 KB |
1.00 |
| GetArrayViaStreamSpan |
1048576 |
True |
False |
190.409 μs |
2.8493 μs |
2.6653 μs |
0.99 |
0.02 |
214.8438 |
214.5996 |
214.5996 |
1025.25 KB |
1.00 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeByteArrayDirect |
104857600 |
True |
False |
39,432.004 μs |
250.4123 μs |
234.2359 μs |
1.00 |
0.01 |
307.6923 |
307.6923 |
307.6923 |
102400.29 KB |
1.00 |
| GetArrayViaStreamChunked |
104857600 |
True |
False |
43,495.339 μs |
275.7320 μs |
244.4292 μs |
1.10 |
0.01 |
333.3333 |
333.3333 |
333.3333 |
102404.47 KB |
1.00 |
| GetArrayViaStreamSpan |
104857600 |
True |
False |
40,029.957 μs |
270.3605 μs |
252.8954 μs |
1.02 |
0.01 |
307.6923 |
307.6923 |
307.6923 |
102400.43 KB |
1.00 |
bulk-ubuntu-24.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
UseCriticalMethods |
Mean |
Error |
StdDev |
Median |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| GetByteBufferToArray |
10 |
False |
2.999 μs |
0.0125 μs |
0.0111 μs |
3.000 μs |
1.00 |
0.01 |
0.0343 |
0.0305 |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
False |
3.118 μs |
0.0359 μs |
0.0335 μs |
3.104 μs |
1.04 |
0.01 |
0.0610 |
0.0572 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
False |
3.375 μs |
0.0352 μs |
0.0329 μs |
3.379 μs |
1.13 |
0.01 |
0.2861 |
0.2823 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
False |
2.001 μs |
0.0202 μs |
0.0179 μs |
2.001 μs |
0.67 |
0.01 |
0.0229 |
0.0191 |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10 |
True |
2.933 μs |
0.0157 μs |
0.0139 μs |
2.932 μs |
1.00 |
0.01 |
0.0343 |
0.0305 |
- |
576 B |
1.00 |
| GetByteBufferStreamNaive |
10 |
True |
3.062 μs |
0.0142 μs |
0.0126 μs |
3.057 μs |
1.04 |
0.01 |
0.0610 |
0.0572 |
- |
1056 B |
1.83 |
| GetByteBufferStreamChunked |
10 |
True |
3.292 μs |
0.0337 μs |
0.0315 μs |
3.288 μs |
1.12 |
0.01 |
0.2861 |
0.2823 |
- |
4792 B |
8.32 |
| GetByteBufferDirectSpan |
10 |
True |
2.039 μs |
0.0068 μs |
0.0064 μs |
2.039 μs |
0.70 |
0.00 |
0.0229 |
0.0191 |
- |
400 B |
0.69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
False |
2.964 μs |
0.0219 μs |
0.0194 μs |
2.956 μs |
1.00 |
0.01 |
0.0381 |
0.0343 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
False |
3.190 μs |
0.0154 μs |
0.0144 μs |
3.193 μs |
1.08 |
0.01 |
0.0648 |
0.0610 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
False |
3.310 μs |
0.0447 μs |
0.0418 μs |
3.300 μs |
1.12 |
0.02 |
0.2861 |
0.2823 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
False |
2.057 μs |
0.0104 μs |
0.0086 μs |
2.056 μs |
0.69 |
0.01 |
0.0229 |
0.0191 |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
100 |
True |
2.934 μs |
0.0181 μs |
0.0169 μs |
2.936 μs |
1.00 |
0.01 |
0.0381 |
0.0343 |
- |
664 B |
1.00 |
| GetByteBufferStreamNaive |
100 |
True |
3.048 μs |
0.0086 μs |
0.0072 μs |
3.048 μs |
1.04 |
0.01 |
0.0648 |
0.0610 |
- |
1144 B |
1.72 |
| GetByteBufferStreamChunked |
100 |
True |
3.259 μs |
0.0273 μs |
0.0255 μs |
3.259 μs |
1.11 |
0.01 |
0.2861 |
0.2823 |
- |
4792 B |
7.22 |
| GetByteBufferDirectSpan |
100 |
True |
2.004 μs |
0.0185 μs |
0.0173 μs |
2.005 μs |
0.68 |
0.01 |
0.0229 |
0.0191 |
- |
400 B |
0.60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
False |
3.095 μs |
0.0216 μs |
0.0202 μs |
3.089 μs |
1.00 |
0.01 |
0.0916 |
0.0877 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
False |
3.456 μs |
0.0518 μs |
0.0484 μs |
3.459 μs |
1.12 |
0.02 |
0.1678 |
0.1640 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
False |
3.363 μs |
0.0244 μs |
0.0228 μs |
3.355 μs |
1.09 |
0.01 |
0.2861 |
0.2823 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
False |
2.054 μs |
0.0115 μs |
0.0102 μs |
2.054 μs |
0.66 |
0.01 |
0.0229 |
0.0191 |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1024 |
True |
3.166 μs |
0.0099 μs |
0.0083 μs |
3.166 μs |
1.00 |
0.00 |
0.0916 |
0.0877 |
- |
1584 B |
1.00 |
| GetByteBufferStreamNaive |
1024 |
True |
3.381 μs |
0.0424 μs |
0.0376 μs |
3.374 μs |
1.07 |
0.01 |
0.1678 |
0.1640 |
- |
2832 B |
1.79 |
| GetByteBufferStreamChunked |
1024 |
True |
3.409 μs |
0.0259 μs |
0.0243 μs |
3.405 μs |
1.08 |
0.01 |
0.2861 |
0.2823 |
- |
4792 B |
3.03 |
| GetByteBufferDirectSpan |
1024 |
True |
2.033 μs |
0.0161 μs |
0.0143 μs |
2.031 μs |
0.64 |
0.00 |
0.0229 |
0.0191 |
- |
400 B |
0.25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
False |
4.328 μs |
0.0339 μs |
0.0301 μs |
4.325 μs |
1.00 |
0.01 |
0.6409 |
0.6332 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
False |
5.256 μs |
0.0386 μs |
0.0342 μs |
5.254 μs |
1.21 |
0.01 |
1.2665 |
0.6256 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
False |
4.024 μs |
0.0257 μs |
0.0241 μs |
4.021 μs |
0.93 |
0.01 |
0.2823 |
0.2747 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
False |
2.512 μs |
0.0106 μs |
0.0099 μs |
2.511 μs |
0.58 |
0.00 |
0.0229 |
0.0191 |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10240 |
True |
4.290 μs |
0.0255 μs |
0.0213 μs |
4.290 μs |
1.00 |
0.01 |
0.6409 |
0.6332 |
- |
10800 B |
1.00 |
| GetByteBufferStreamNaive |
10240 |
True |
5.282 μs |
0.0322 μs |
0.0285 μs |
5.278 μs |
1.23 |
0.01 |
1.2665 |
0.6256 |
- |
21264 B |
1.97 |
| GetByteBufferStreamChunked |
10240 |
True |
4.060 μs |
0.0286 μs |
0.0267 μs |
4.055 μs |
0.95 |
0.01 |
0.2823 |
0.2747 |
- |
4792 B |
0.44 |
| GetByteBufferDirectSpan |
10240 |
True |
2.469 μs |
0.0121 μs |
0.0113 μs |
2.471 μs |
0.58 |
0.00 |
0.0229 |
0.0191 |
- |
400 B |
0.04 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
False |
76.567 μs |
0.2592 μs |
0.2298 μs |
76.591 μs |
1.00 |
0.00 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
False |
95.654 μs |
0.4780 μs |
0.4237 μs |
95.683 μs |
1.25 |
0.01 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
False |
11.115 μs |
0.0448 μs |
0.0397 μs |
11.127 μs |
0.15 |
0.00 |
0.2747 |
0.2594 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
False |
8.071 μs |
0.0750 μs |
0.0701 μs |
8.088 μs |
0.11 |
0.00 |
0.0153 |
- |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
102400 |
True |
75.731 μs |
0.2787 μs |
0.2607 μs |
75.648 μs |
1.00 |
0.00 |
32.2266 |
32.2266 |
32.2266 |
102982 B |
1.000 |
| GetByteBufferStreamNaive |
102400 |
True |
96.714 μs |
0.4561 μs |
0.4266 μs |
96.645 μs |
1.28 |
0.01 |
64.4531 |
64.4531 |
64.4531 |
205627 B |
1.997 |
| GetByteBufferStreamChunked |
102400 |
True |
11.180 μs |
0.0445 μs |
0.0416 μs |
11.184 μs |
0.15 |
0.00 |
0.2747 |
0.2594 |
- |
4792 B |
0.047 |
| GetByteBufferDirectSpan |
102400 |
True |
6.992 μs |
0.0514 μs |
0.0481 μs |
7.012 μs |
0.09 |
0.00 |
0.0229 |
0.0153 |
- |
400 B |
0.004 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
False |
249.716 μs |
7.5578 μs |
21.4403 μs |
245.892 μs |
1.01 |
0.12 |
203.1250 |
203.1250 |
203.1250 |
1049826 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
False |
583.011 μs |
11.5403 μs |
20.8095 μs |
586.188 μs |
2.35 |
0.21 |
553.7109 |
553.7109 |
553.7109 |
3016074 B |
2.873 |
| GetByteBufferStreamChunked |
1048576 |
False |
85.519 μs |
0.4863 μs |
0.4549 μs |
85.512 μs |
0.34 |
0.03 |
0.2441 |
0.1221 |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
False |
59.500 μs |
0.5775 μs |
0.5120 μs |
59.531 μs |
0.24 |
0.02 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
1048576 |
True |
241.321 μs |
6.8140 μs |
19.5507 μs |
238.401 μs |
1.01 |
0.11 |
200.1953 |
200.1953 |
200.1953 |
1050101 B |
1.000 |
| GetByteBufferStreamNaive |
1048576 |
True |
578.335 μs |
11.1161 μs |
15.2159 μs |
578.896 μs |
2.41 |
0.20 |
557.6172 |
557.6172 |
557.6172 |
3016123 B |
2.872 |
| GetByteBufferStreamChunked |
1048576 |
True |
88.025 μs |
1.7378 μs |
3.6274 μs |
86.002 μs |
0.37 |
0.03 |
0.2441 |
0.1221 |
- |
4792 B |
0.005 |
| GetByteBufferDirectSpan |
1048576 |
True |
72.761 μs |
1.9965 μs |
5.8867 μs |
75.130 μs |
0.30 |
0.03 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
False |
2,477.521 μs |
17.0555 μs |
15.9537 μs |
2,470.687 μs |
1.00 |
0.01 |
332.0313 |
332.0313 |
332.0313 |
10486535 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
False |
8,643.009 μs |
65.6749 μs |
61.4323 μs |
8,641.408 μs |
3.49 |
0.03 |
718.7500 |
718.7500 |
718.7500 |
43910545 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
False |
1,099.015 μs |
21.9197 μs |
24.3636 μs |
1,102.170 μs |
0.44 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
False |
741.972 μs |
14.7419 μs |
39.3490 μs |
723.925 μs |
0.30 |
0.02 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
10485760 |
True |
2,469.670 μs |
18.8512 μs |
17.6334 μs |
2,466.855 μs |
1.00 |
0.01 |
332.0313 |
332.0313 |
332.0313 |
10486535 B |
1.000 |
| GetByteBufferStreamNaive |
10485760 |
True |
8,610.472 μs |
33.6057 μs |
31.4348 μs |
8,611.140 μs |
3.49 |
0.03 |
718.7500 |
718.7500 |
718.7500 |
43910545 B |
4.187 |
| GetByteBufferStreamChunked |
10485760 |
True |
1,086.356 μs |
16.9424 μs |
15.8479 μs |
1,088.125 μs |
0.44 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
10485760 |
True |
703.459 μs |
13.3986 μs |
10.4607 μs |
705.662 μs |
0.28 |
0.00 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
False |
47,473.387 μs |
589.8139 μs |
551.7123 μs |
47,609.456 μs |
1.00 |
0.02 |
272.7273 |
272.7273 |
272.7273 |
104858341 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
False |
48,452.494 μs |
376.7821 μs |
352.4422 μs |
48,520.495 μs |
1.02 |
0.01 |
545.4545 |
545.4545 |
545.4545 |
373163368 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
False |
16,655.309 μs |
84.3987 μs |
70.4767 μs |
16,644.104 μs |
0.35 |
0.00 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
False |
12,821.822 μs |
83.9623 μs |
78.5384 μs |
12,838.791 μs |
0.27 |
0.00 |
- |
- |
- |
400 B |
0.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| GetByteBufferToArray |
104857600 |
True |
47,016.761 μs |
589.1240 μs |
551.0670 μs |
46,915.546 μs |
1.00 |
0.02 |
272.7273 |
272.7273 |
272.7273 |
104858341 B |
1.000 |
| GetByteBufferStreamNaive |
104857600 |
True |
47,986.356 μs |
401.0509 μs |
375.1432 μs |
47,925.950 μs |
1.02 |
0.01 |
545.4545 |
545.4545 |
545.4545 |
373163368 B |
3.559 |
| GetByteBufferStreamChunked |
104857600 |
True |
16,684.224 μs |
233.0017 μs |
194.5670 μs |
16,655.896 μs |
0.35 |
0.01 |
- |
- |
- |
4792 B |
0.000 |
| GetByteBufferDirectSpan |
104857600 |
True |
12,809.920 μs |
154.4587 μs |
144.4808 μs |
12,841.206 μs |
0.27 |
0.00 |
- |
- |
- |
400 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
558.9 ns |
0.22 ns |
0.18 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,120.5 ns |
8.61 ns |
7.63 ns |
12.74 |
0.01 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,189.3 ns |
2.63 ns |
2.46 ns |
2.13 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,193.6 ns |
1.73 ns |
1.62 ns |
2.14 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,314.3 ns |
16.70 ns |
13.94 ns |
16.67 |
0.02 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
550.9 ns |
0.43 ns |
0.33 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
564,215.1 ns |
1,442.47 ns |
1,349.29 ns |
1,024.22 |
2.45 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,898.0 ns |
7.28 ns |
6.81 ns |
3.45 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,863.7 ns |
2.28 ns |
2.02 ns |
3.38 |
0.00 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
746,705.1 ns |
965.77 ns |
806.46 ns |
1,355.49 |
1.62 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
549.3 ns |
0.33 ns |
0.29 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,791,116.5 ns |
388,115.92 ns |
363,043.87 ns |
107,035.80 |
642.39 |
250.0000 |
125.0000 |
125.0000 |
16000497 B |
51,283.64 |
| InvokeIntArrayFixed |
100000 |
61,054.5 ns |
470.76 ns |
440.35 ns |
111.16 |
0.78 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,842.8 ns |
443.92 ns |
415.25 ns |
110.77 |
0.73 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,919,772.0 ns |
1,028,675.83 ns |
962,224.01 ns |
150,964.71 |
1,698.22 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-22.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.060 μs |
0.0037 μs |
0.0029 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.067 μs |
0.0013 μs |
0.0010 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.090 μs |
0.0010 μs |
0.0009 μs |
1.03 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
91.60 ns |
0.011 ns |
0.009 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
114.86 ns |
0.026 ns |
0.023 ns |
1.25 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
111.01 ns |
0.240 ns |
0.225 ns |
1.21 |
- |
- |
0.00 |
| SetInstanceStringField |
695.82 ns |
0.994 ns |
0.929 ns |
7.60 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
118.72 ns |
0.027 ns |
0.023 ns |
1.30 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
119.57 ns |
0.044 ns |
0.039 ns |
1.31 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
105.90 ns |
0.108 ns |
0.101 ns |
1.16 |
- |
- |
0.00 |
| SetStaticStringField |
679.67 ns |
0.890 ns |
0.833 ns |
7.42 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
102.45 ns |
0.062 ns |
0.058 ns |
1.12 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
384.1 ns |
0.31 ns |
0.29 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
390.1 ns |
0.16 ns |
0.13 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
550.9 ns |
0.80 ns |
0.75 ns |
1.43 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
390.1 ns |
0.30 ns |
0.28 ns |
1.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
549.1 ns |
0.45 ns |
0.40 ns |
1.43 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.299 μs |
0.0024 μs |
0.0022 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,975.0 ns |
1.96 ns |
1.63 ns |
1.00 |
0.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
586.1 ns |
0.37 ns |
0.33 ns |
0.30 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
62,750.4 ns |
129.88 ns |
115.14 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
584.3 ns |
0.39 ns |
0.35 ns |
0.009 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,053,313.6 ns |
132,621.54 ns |
124,054.27 ns |
1.000 |
0.02 |
62.5000 |
62.5000 |
62.5000 |
2400754 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
597.8 ns |
0.32 ns |
0.28 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,059.0 ns |
3.90 ns |
3.45 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,072.4 ns |
7.68 ns |
7.19 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,328.5 ns |
2.63 ns |
2.46 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,942.7 ns |
7.93 ns |
7.42 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
468.5 ns |
0.66 ns |
0.55 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
459.7 ns |
0.52 ns |
0.46 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
693.3 ns |
0.43 ns |
0.36 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,291.2 ns |
10.58 ns |
9.90 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
609.68 ns |
4.722 ns |
4.417 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
604.68 ns |
0.901 ns |
0.753 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
818.79 ns |
1.170 ns |
0.914 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,196.50 ns |
13.396 ns |
12.531 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
50.96 ns |
0.797 ns |
0.706 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
50.83 ns |
0.958 ns |
0.941 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
273.42 ns |
0.656 ns |
0.614 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,537.93 ns |
12.445 ns |
11.032 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
567.0 ns |
0.55 ns |
0.49 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,369.3 ns |
23.23 ns |
21.73 ns |
13.00 |
0.04 |
0.0153 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,172.6 ns |
2.31 ns |
2.05 ns |
2.07 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,172.1 ns |
1.90 ns |
1.69 ns |
2.07 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
10,341.7 ns |
65.64 ns |
61.40 ns |
18.24 |
0.11 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
577.8 ns |
0.53 ns |
0.47 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
566,347.2 ns |
1,212.38 ns |
1,134.06 ns |
980.14 |
2.05 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,924.9 ns |
9.37 ns |
8.76 ns |
3.33 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,917.2 ns |
4.37 ns |
3.87 ns |
3.32 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
760,090.2 ns |
1,540.57 ns |
1,286.44 ns |
1,315.44 |
2.38 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
581.2 ns |
1.57 ns |
1.47 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,592,576.8 ns |
141,477.07 ns |
132,337.74 ns |
100,818.16 |
330.51 |
250.0000 |
125.0000 |
125.0000 |
16000582 B |
51,283.92 |
| InvokeIntArrayFixed |
100000 |
61,061.3 ns |
235.34 ns |
208.63 ns |
105.07 |
0.43 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
61,546.7 ns |
127.50 ns |
106.47 ns |
105.90 |
0.31 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
86,387,096.5 ns |
1,505,053.15 ns |
1,407,827.65 ns |
148,643.20 |
2,373.41 |
857.1429 |
714.2857 |
571.4286 |
27894658 B |
89,405.96 |
core-ubuntu-22.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.102 μs |
0.0099 μs |
0.0093 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.091 μs |
0.0105 μs |
0.0098 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.094 μs |
0.0013 μs |
0.0010 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
91.47 ns |
0.070 ns |
0.059 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
116.52 ns |
0.045 ns |
0.040 ns |
1.27 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
101.24 ns |
0.031 ns |
0.028 ns |
1.11 |
- |
- |
0.00 |
| SetInstanceStringField |
687.98 ns |
1.059 ns |
0.991 ns |
7.52 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
106.49 ns |
0.135 ns |
0.126 ns |
1.16 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
106.64 ns |
0.135 ns |
0.120 ns |
1.17 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
95.61 ns |
0.114 ns |
0.107 ns |
1.05 |
- |
- |
0.00 |
| SetStaticStringField |
681.27 ns |
1.060 ns |
0.991 ns |
7.45 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
100.34 ns |
0.073 ns |
0.065 ns |
1.10 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
308.4 ns |
0.09 ns |
0.08 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
313.3 ns |
0.15 ns |
0.12 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
560.1 ns |
0.82 ns |
0.69 ns |
1.82 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
319.1 ns |
0.19 ns |
0.17 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
575.5 ns |
0.38 ns |
0.34 ns |
1.87 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.365 μs |
0.0229 μs |
0.0215 μs |
1.00 |
0.02 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,971.1 ns |
18.52 ns |
17.33 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
595.7 ns |
0.44 ns |
0.39 ns |
0.30 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,759.7 ns |
136.46 ns |
120.97 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
592.6 ns |
0.33 ns |
0.29 ns |
0.010 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,493,142.8 ns |
75,508.56 ns |
70,630.75 ns |
1.000 |
62.5000 |
62.5000 |
62.5000 |
2400682 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
617.7 ns |
0.32 ns |
0.26 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,083.2 ns |
7.25 ns |
6.43 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,081.5 ns |
7.46 ns |
6.98 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,409.0 ns |
21.47 ns |
19.03 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
6,506.3 ns |
61.93 ns |
57.93 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
456.3 ns |
0.52 ns |
0.46 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
461.4 ns |
0.73 ns |
0.68 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
1,134.8 ns |
21.86 ns |
46.59 ns |
- |
120 B |
| PredicateRoundTrip |
True |
True |
True |
5,214.6 ns |
57.68 ns |
53.95 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
595.92 ns |
0.625 ns |
0.522 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
601.25 ns |
1.646 ns |
1.540 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
809.45 ns |
6.836 ns |
6.394 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,787.57 ns |
54.391 ns |
50.878 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
43.10 ns |
0.652 ns |
0.610 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
43.39 ns |
0.636 ns |
0.531 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
259.72 ns |
0.524 ns |
0.437 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
4,052.24 ns |
62.117 ns |
58.105 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
546.7 ns |
0.59 ns |
0.56 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,425.5 ns |
29.79 ns |
24.88 ns |
13.58 |
0.05 |
0.0153 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,202.6 ns |
4.33 ns |
3.84 ns |
2.20 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,155.0 ns |
3.30 ns |
2.93 ns |
2.11 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,558.4 ns |
42.02 ns |
39.31 ns |
17.48 |
0.07 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
542.8 ns |
0.63 ns |
0.56 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
567,104.2 ns |
1,076.91 ns |
1,007.34 ns |
1,044.85 |
2.08 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,851.1 ns |
7.03 ns |
6.23 ns |
3.41 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,881.3 ns |
9.31 ns |
8.71 ns |
3.47 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
733,539.4 ns |
750.58 ns |
626.77 ns |
1,351.50 |
1.75 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
557.2 ns |
0.36 ns |
0.32 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,266,211.8 ns |
164,747.61 ns |
154,105.01 ns |
104,570.28 |
274.09 |
250.0000 |
125.0000 |
125.0000 |
16001007 B |
51,285.28 |
| InvokeIntArrayFixed |
100000 |
60,482.5 ns |
231.15 ns |
204.91 ns |
108.55 |
0.36 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
61,144.8 ns |
584.59 ns |
546.82 ns |
109.74 |
0.95 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
85,292,695.7 ns |
453,037.28 ns |
401,605.75 ns |
153,074.67 |
701.52 |
857.1429 |
714.2857 |
571.4286 |
27894925 B |
89,406.81 |
core-ubuntu-22.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.050 μs |
0.0128 μs |
0.0119 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.049 μs |
0.0125 μs |
0.0117 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.041 μs |
0.0011 μs |
0.0008 μs |
0.99 |
0.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
93.67 ns |
0.025 ns |
0.022 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
110.84 ns |
0.010 ns |
0.007 ns |
1.18 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
105.35 ns |
0.011 ns |
0.010 ns |
1.12 |
- |
- |
0.00 |
| SetInstanceStringField |
683.47 ns |
0.892 ns |
0.834 ns |
7.30 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
109.24 ns |
0.071 ns |
0.063 ns |
1.17 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
109.03 ns |
0.041 ns |
0.035 ns |
1.16 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
99.65 ns |
0.040 ns |
0.036 ns |
1.06 |
- |
- |
0.00 |
| SetStaticStringField |
666.43 ns |
0.866 ns |
0.811 ns |
7.11 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
101.09 ns |
0.049 ns |
0.044 ns |
1.08 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
316.1 ns |
0.17 ns |
0.16 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
319.5 ns |
1.25 ns |
1.17 ns |
1.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
552.5 ns |
0.51 ns |
0.45 ns |
1.75 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
322.9 ns |
0.08 ns |
0.08 ns |
1.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
550.8 ns |
0.25 ns |
0.22 ns |
1.74 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.343 μs |
0.0105 μs |
0.0098 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,933.8 ns |
27.14 ns |
25.38 ns |
1.00 |
0.02 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
579.1 ns |
0.31 ns |
0.27 ns |
0.30 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
62,823.2 ns |
298.89 ns |
279.59 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
588.8 ns |
0.80 ns |
0.71 ns |
0.009 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,118,034.9 ns |
140,168.47 ns |
252,752.69 ns |
1.001 |
0.05 |
62.5000 |
62.5000 |
62.5000 |
2400737 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
609.3 ns |
0.56 ns |
0.49 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,036.1 ns |
7.58 ns |
6.72 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,040.2 ns |
7.99 ns |
7.48 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,315.8 ns |
8.96 ns |
8.38 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,073.7 ns |
47.62 ns |
44.55 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
432.0 ns |
0.33 ns |
0.31 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
449.1 ns |
1.36 ns |
1.27 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
681.2 ns |
1.22 ns |
1.02 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,298.9 ns |
38.98 ns |
36.47 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
586.23 ns |
1.841 ns |
1.632 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
586.35 ns |
0.498 ns |
0.416 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
787.28 ns |
1.310 ns |
1.094 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,211.60 ns |
47.187 ns |
44.139 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
45.70 ns |
0.653 ns |
0.726 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
46.69 ns |
0.826 ns |
1.044 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
262.18 ns |
0.495 ns |
0.463 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,373.99 ns |
37.311 ns |
34.901 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
552.6 ns |
0.68 ns |
0.60 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,317.8 ns |
18.98 ns |
17.76 ns |
13.24 |
0.03 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,166.5 ns |
1.57 ns |
1.39 ns |
2.11 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,176.3 ns |
1.62 ns |
1.43 ns |
2.13 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,368.3 ns |
27.23 ns |
24.14 ns |
16.95 |
0.05 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
557.3 ns |
0.28 ns |
0.23 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
561,146.2 ns |
1,640.89 ns |
1,534.89 ns |
1,006.96 |
2.70 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,879.8 ns |
5.07 ns |
4.24 ns |
3.37 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,912.7 ns |
4.19 ns |
3.72 ns |
3.43 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
744,045.4 ns |
2,227.51 ns |
1,860.07 ns |
1,335.17 |
3.26 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
569.5 ns |
0.42 ns |
0.37 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,686,885.9 ns |
241,885.88 ns |
226,260.20 ns |
103,052.12 |
390.11 |
333.3333 |
222.2222 |
222.2222 |
16001847 B |
51,287.97 |
| InvokeIntArrayFixed |
100000 |
60,650.1 ns |
313.40 ns |
293.16 ns |
106.50 |
0.50 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,391.7 ns |
216.79 ns |
192.18 ns |
106.05 |
0.33 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
84,153,551.7 ns |
497,748.56 ns |
465,594.31 ns |
147,770.69 |
797.11 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-22.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.099 μs |
0.0089 μs |
0.0084 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.086 μs |
0.0091 μs |
0.0085 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.084 μs |
0.0075 μs |
0.0066 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
93.66 ns |
0.040 ns |
0.036 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
117.85 ns |
0.052 ns |
0.046 ns |
1.26 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
108.69 ns |
0.036 ns |
0.032 ns |
1.16 |
- |
- |
0.00 |
| SetInstanceStringField |
672.08 ns |
0.934 ns |
0.873 ns |
7.18 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
107.82 ns |
0.024 ns |
0.022 ns |
1.15 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
115.71 ns |
0.035 ns |
0.029 ns |
1.24 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
97.65 ns |
0.024 ns |
0.022 ns |
1.04 |
- |
- |
0.00 |
| SetStaticStringField |
673.44 ns |
1.144 ns |
1.014 ns |
7.19 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
103.71 ns |
0.038 ns |
0.033 ns |
1.11 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
309.8 ns |
0.18 ns |
0.16 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
314.1 ns |
3.29 ns |
3.07 ns |
1.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
559.7 ns |
0.36 ns |
0.32 ns |
1.81 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
325.0 ns |
0.16 ns |
0.15 ns |
1.05 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
561.9 ns |
0.25 ns |
0.23 ns |
1.81 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
2.860 μs |
0.0475 μs |
0.0444 μs |
1.00 |
0.02 |
0.0076 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,105.1 ns |
33.29 ns |
29.51 ns |
1.00 |
0.02 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
589.3 ns |
0.22 ns |
0.18 ns |
0.28 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
63,977.1 ns |
186.49 ns |
165.32 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
592.4 ns |
0.34 ns |
0.30 ns |
0.009 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,320,985.9 ns |
45,081.78 ns |
42,169.52 ns |
1.000 |
0.01 |
62.5000 |
62.5000 |
62.5000 |
2400809 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
616.8 ns |
0.38 ns |
0.33 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,056.3 ns |
5.71 ns |
5.34 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,044.1 ns |
6.20 ns |
5.80 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,337.7 ns |
9.86 ns |
8.23 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,766.3 ns |
41.54 ns |
34.69 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
474.9 ns |
3.94 ns |
3.49 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
463.3 ns |
1.13 ns |
0.88 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
688.6 ns |
4.90 ns |
4.34 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
5,123.2 ns |
33.54 ns |
28.01 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
591.14 ns |
0.632 ns |
0.494 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
586.88 ns |
2.366 ns |
1.976 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
813.57 ns |
10.904 ns |
10.200 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,474.50 ns |
58.471 ns |
71.807 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
42.03 ns |
0.105 ns |
0.099 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
41.87 ns |
0.099 ns |
0.093 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
258.39 ns |
0.412 ns |
0.365 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,853.09 ns |
52.575 ns |
70.187 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
560.9 ns |
0.48 ns |
0.43 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,890.4 ns |
11.59 ns |
10.27 ns |
12.29 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,170.0 ns |
2.55 ns |
2.38 ns |
2.09 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,180.8 ns |
1.04 ns |
0.87 ns |
2.11 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,105.1 ns |
23.23 ns |
20.60 ns |
16.23 |
0.04 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
552.5 ns |
0.39 ns |
0.35 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
549,040.7 ns |
523.35 ns |
437.02 ns |
993.81 |
0.97 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,750.2 ns |
7.13 ns |
6.66 ns |
3.17 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,723.6 ns |
7.99 ns |
7.47 ns |
3.12 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
733,214.9 ns |
1,553.70 ns |
1,377.31 ns |
1,327.18 |
2.54 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
557.5 ns |
0.33 ns |
0.29 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,502,680.7 ns |
193,920.89 ns |
181,393.72 ns |
103,141.83 |
319.36 |
333.3333 |
222.2222 |
222.2222 |
16000735 B |
51,284.41 |
| InvokeIntArrayFixed |
100000 |
44,631.1 ns |
361.19 ns |
337.85 ns |
80.05 |
0.59 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
44,571.9 ns |
379.18 ns |
354.69 ns |
79.95 |
0.62 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
87,964,863.8 ns |
615,592.69 ns |
545,706.88 ns |
157,781.46 |
948.99 |
1285.7143 |
1142.8571 |
1000.0000 |
27898230 B |
89,417.40 |
core-ubuntu-22.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.082 μs |
0.0116 μs |
0.0108 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.084 μs |
0.0113 μs |
0.0106 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.089 μs |
0.0117 μs |
0.0110 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
92.70 ns |
0.031 ns |
0.027 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
109.77 ns |
0.071 ns |
0.067 ns |
1.18 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
100.56 ns |
0.033 ns |
0.031 ns |
1.08 |
- |
- |
0.00 |
| SetInstanceStringField |
672.25 ns |
0.372 ns |
0.330 ns |
7.25 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
107.46 ns |
0.065 ns |
0.055 ns |
1.16 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
107.35 ns |
0.063 ns |
0.056 ns |
1.16 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
96.58 ns |
0.023 ns |
0.022 ns |
1.04 |
- |
- |
0.00 |
| SetStaticStringField |
669.71 ns |
1.180 ns |
1.046 ns |
7.22 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
103.40 ns |
0.039 ns |
0.035 ns |
1.12 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
303.3 ns |
0.15 ns |
0.14 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
307.8 ns |
0.25 ns |
0.24 ns |
1.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
552.1 ns |
0.47 ns |
0.42 ns |
1.82 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
314.2 ns |
0.19 ns |
0.18 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
563.7 ns |
0.47 ns |
0.41 ns |
1.86 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.303 μs |
0.0023 μs |
0.0022 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,920.6 ns |
28.97 ns |
27.10 ns |
1.00 |
0.02 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
587.2 ns |
0.45 ns |
0.38 ns |
0.31 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,460.9 ns |
55.39 ns |
49.10 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
587.6 ns |
0.32 ns |
0.28 ns |
0.010 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,046,156.0 ns |
137,778.94 ns |
179,151.55 ns |
1.001 |
0.04 |
62.5000 |
62.5000 |
62.5000 |
2400712 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
611.1 ns |
0.38 ns |
0.34 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,073.1 ns |
8.59 ns |
8.03 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,073.6 ns |
9.53 ns |
8.92 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,309.8 ns |
8.77 ns |
8.21 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,341.2 ns |
44.73 ns |
41.84 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
476.3 ns |
0.26 ns |
0.21 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
460.0 ns |
0.45 ns |
0.43 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
694.6 ns |
1.26 ns |
1.05 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,549.4 ns |
34.89 ns |
32.64 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
606.28 ns |
0.848 ns |
0.793 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
596.69 ns |
0.827 ns |
0.690 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
815.15 ns |
1.654 ns |
1.291 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,219.86 ns |
41.196 ns |
38.535 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
43.18 ns |
0.023 ns |
0.022 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
42.38 ns |
0.024 ns |
0.023 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
255.12 ns |
0.441 ns |
0.412 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,990.83 ns |
78.570 ns |
80.685 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
549.3 ns |
0.37 ns |
0.33 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,254.2 ns |
16.83 ns |
13.14 ns |
13.21 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,164.2 ns |
2.36 ns |
2.09 ns |
2.12 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,144.7 ns |
1.51 ns |
1.26 ns |
2.08 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,164.0 ns |
33.41 ns |
31.26 ns |
16.68 |
0.06 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
558.6 ns |
0.75 ns |
0.66 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
551,140.1 ns |
884.87 ns |
827.71 ns |
986.67 |
1.83 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,685.2 ns |
10.28 ns |
9.62 ns |
3.02 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,723.6 ns |
4.83 ns |
4.52 ns |
3.09 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
707,603.5 ns |
1,620.35 ns |
1,353.07 ns |
1,266.78 |
2.75 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
540.8 ns |
0.38 ns |
0.34 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,426,252.0 ns |
299,412.47 ns |
280,070.61 ns |
108,030.69 |
505.66 |
333.3333 |
222.2222 |
222.2222 |
16000717 B |
51,284.35 |
| InvokeIntArrayFixed |
100000 |
44,556.5 ns |
316.99 ns |
281.00 ns |
82.39 |
0.50 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
44,453.4 ns |
205.99 ns |
192.68 ns |
82.19 |
0.35 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,705,878.4 ns |
797,672.35 ns |
707,115.77 ns |
152,923.95 |
1,266.46 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-22.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.067 μs |
0.0140 μs |
0.0131 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.059 μs |
0.0121 μs |
0.0113 μs |
0.99 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.031 μs |
0.0047 μs |
0.0036 μs |
0.97 |
0.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
94.45 ns |
0.032 ns |
0.028 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
117.63 ns |
0.054 ns |
0.048 ns |
1.25 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
103.57 ns |
0.031 ns |
0.029 ns |
1.10 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
664.72 ns |
1.672 ns |
1.482 ns |
7.04 |
0.02 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
108.15 ns |
0.027 ns |
0.024 ns |
1.15 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
108.79 ns |
0.033 ns |
0.029 ns |
1.15 |
0.00 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
99.62 ns |
0.019 ns |
0.018 ns |
1.05 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
661.97 ns |
1.000 ns |
0.935 ns |
7.01 |
0.01 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
104.99 ns |
0.055 ns |
0.048 ns |
1.11 |
0.00 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
309.6 ns |
0.12 ns |
0.11 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
310.8 ns |
0.13 ns |
0.12 ns |
1.00 |
- |
- |
NA |
| InvokeStaticWithFeedback |
551.0 ns |
0.28 ns |
0.24 ns |
1.78 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
320.0 ns |
0.18 ns |
0.17 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
563.4 ns |
0.45 ns |
0.40 ns |
1.82 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.307 μs |
0.0063 μs |
0.0059 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,880.9 ns |
5.65 ns |
4.41 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
582.3 ns |
0.53 ns |
0.47 ns |
0.31 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,370.0 ns |
153.04 ns |
127.80 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
579.1 ns |
0.91 ns |
0.85 ns |
0.010 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,535,367.4 ns |
24,590.31 ns |
23,001.79 ns |
1.000 |
54.6875 |
54.6875 |
54.6875 |
2400733 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
604.9 ns |
0.29 ns |
0.26 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,031.3 ns |
11.23 ns |
10.51 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,043.6 ns |
9.54 ns |
8.92 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,248.0 ns |
9.68 ns |
9.06 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,945.9 ns |
26.33 ns |
24.63 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
449.6 ns |
0.37 ns |
0.34 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
443.5 ns |
0.42 ns |
0.39 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
671.5 ns |
3.48 ns |
2.91 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,159.6 ns |
25.15 ns |
23.53 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
583.94 ns |
3.322 ns |
3.108 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
581.95 ns |
0.838 ns |
0.700 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
789.02 ns |
7.413 ns |
6.934 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
3,987.61 ns |
20.012 ns |
15.624 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
44.59 ns |
0.855 ns |
0.950 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
45.18 ns |
0.877 ns |
1.258 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
255.99 ns |
1.013 ns |
0.898 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,500.61 ns |
13.979 ns |
11.673 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
561.4 ns |
0.48 ns |
0.40 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,075.4 ns |
10.11 ns |
8.97 ns |
12.60 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,177.2 ns |
4.39 ns |
4.11 ns |
2.10 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,210.7 ns |
7.17 ns |
6.36 ns |
2.16 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,086.8 ns |
40.31 ns |
37.71 ns |
16.19 |
0.07 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
555.8 ns |
0.32 ns |
0.28 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
552,757.6 ns |
1,126.07 ns |
1,053.32 ns |
994.46 |
1.90 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,547.8 ns |
5.03 ns |
4.70 ns |
2.78 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,665.1 ns |
8.00 ns |
7.09 ns |
3.00 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
725,035.1 ns |
1,118.08 ns |
872.92 ns |
1,304.40 |
1.64 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
566.6 ns |
0.79 ns |
0.70 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,272,101.7 ns |
269,545.20 ns |
252,132.75 ns |
102,851.65 |
447.97 |
333.3333 |
222.2222 |
222.2222 |
16000960 B |
51,285.13 |
| InvokeIntArrayFixed |
100000 |
43,682.4 ns |
209.97 ns |
186.14 ns |
77.10 |
0.33 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
43,833.0 ns |
418.52 ns |
391.48 ns |
77.37 |
0.68 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
81,839,232.1 ns |
1,129,906.93 ns |
1,001,633.06 ns |
144,448.20 |
1,716.58 |
1166.6667 |
1000.0000 |
1000.0000 |
27897003 B |
89,413.47 |
core-ubuntu-22.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.060 μs |
0.0123 μs |
0.0115 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.065 μs |
0.0040 μs |
0.0031 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.060 μs |
0.0125 μs |
0.0117 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
93.41 ns |
0.029 ns |
0.026 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
116.80 ns |
0.035 ns |
0.031 ns |
1.25 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
107.80 ns |
0.011 ns |
0.010 ns |
1.15 |
- |
- |
0.00 |
| SetInstanceStringField |
668.56 ns |
0.883 ns |
0.826 ns |
7.16 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
111.91 ns |
0.026 ns |
0.023 ns |
1.20 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
109.64 ns |
0.022 ns |
0.020 ns |
1.17 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
101.09 ns |
0.029 ns |
0.027 ns |
1.08 |
- |
- |
0.00 |
| SetStaticStringField |
670.75 ns |
1.306 ns |
1.222 ns |
7.18 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
104.01 ns |
0.032 ns |
0.029 ns |
1.11 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
307.4 ns |
0.13 ns |
0.12 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
313.2 ns |
0.25 ns |
0.23 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
566.4 ns |
0.25 ns |
0.22 ns |
1.84 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
323.1 ns |
0.17 ns |
0.15 ns |
1.05 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
560.0 ns |
0.29 ns |
0.25 ns |
1.82 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.334 μs |
0.0191 μs |
0.0159 μs |
1.00 |
0.02 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,933.0 ns |
10.40 ns |
8.12 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
594.4 ns |
0.29 ns |
0.26 ns |
0.31 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
61,436.8 ns |
114.51 ns |
101.51 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
583.9 ns |
0.29 ns |
0.26 ns |
0.010 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,467,974.8 ns |
111,906.28 ns |
104,677.20 ns |
1.000 |
0.02 |
62.5000 |
62.5000 |
62.5000 |
2400682 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
623.5 ns |
0.26 ns |
0.23 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,047.2 ns |
10.06 ns |
9.41 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,034.9 ns |
1.09 ns |
0.85 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,934.7 ns |
36.84 ns |
43.86 ns |
- |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,619.0 ns |
60.88 ns |
47.53 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
452.3 ns |
0.42 ns |
0.39 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
450.3 ns |
0.38 ns |
0.34 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
688.7 ns |
1.91 ns |
1.49 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
5,009.4 ns |
34.48 ns |
30.56 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
591.67 ns |
0.617 ns |
0.482 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
588.91 ns |
0.692 ns |
0.540 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
805.16 ns |
7.433 ns |
6.953 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,256.87 ns |
38.095 ns |
42.342 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
44.71 ns |
0.875 ns |
1.310 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
44.96 ns |
0.356 ns |
0.333 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
255.08 ns |
0.469 ns |
0.439 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
4,491.16 ns |
60.385 ns |
47.145 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
541.0 ns |
0.33 ns |
0.29 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,106.2 ns |
17.33 ns |
16.21 ns |
13.14 |
0.03 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,143.7 ns |
2.52 ns |
2.36 ns |
2.11 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,156.2 ns |
0.74 ns |
0.58 ns |
2.14 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,074.0 ns |
21.00 ns |
17.54 ns |
16.77 |
0.03 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
541.1 ns |
0.38 ns |
0.33 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
567,036.8 ns |
1,621.61 ns |
1,516.85 ns |
1,047.89 |
2.79 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,870.2 ns |
2.16 ns |
1.81 ns |
3.46 |
0.00 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,850.4 ns |
3.70 ns |
3.28 ns |
3.42 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
742,978.9 ns |
399.08 ns |
333.25 ns |
1,373.03 |
1.01 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
542.9 ns |
0.72 ns |
0.64 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,359,499.1 ns |
283,759.81 ns |
265,429.10 ns |
107,495.45 |
488.89 |
333.3333 |
222.2222 |
222.2222 |
16001365 B |
51,286.43 |
| InvokeIntArrayFixed |
100000 |
60,126.0 ns |
344.51 ns |
322.25 ns |
110.75 |
0.59 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,607.8 ns |
512.78 ns |
479.66 ns |
111.64 |
0.86 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,988,840.6 ns |
1,185,381.94 ns |
1,108,807.00 ns |
152,861.54 |
1,985.41 |
1000.0000 |
833.3333 |
833.3333 |
27895963 B |
89,410.14 |
core-ubuntu-22.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.090 μs |
0.0104 μs |
0.0097 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.080 μs |
0.0010 μs |
0.0008 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.077 μs |
0.0008 μs |
0.0006 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
91.34 ns |
0.104 ns |
0.097 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
113.34 ns |
0.035 ns |
0.031 ns |
1.24 |
0.00 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
110.13 ns |
0.064 ns |
0.050 ns |
1.21 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
672.34 ns |
1.324 ns |
1.238 ns |
7.36 |
0.02 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
119.24 ns |
0.033 ns |
0.029 ns |
1.31 |
0.00 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
117.75 ns |
0.042 ns |
0.037 ns |
1.29 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
107.41 ns |
0.016 ns |
0.015 ns |
1.18 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
670.23 ns |
1.390 ns |
1.300 ns |
7.34 |
0.02 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
103.70 ns |
0.031 ns |
0.028 ns |
1.14 |
0.00 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
380.3 ns |
0.28 ns |
0.26 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
386.5 ns |
0.22 ns |
0.21 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
548.4 ns |
0.43 ns |
0.33 ns |
1.44 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
383.1 ns |
0.30 ns |
0.27 ns |
1.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
554.0 ns |
0.67 ns |
0.59 ns |
1.46 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.291 μs |
0.0032 μs |
0.0030 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,947.8 ns |
2.32 ns |
1.93 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
574.6 ns |
0.28 ns |
0.25 ns |
0.30 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,609.1 ns |
202.98 ns |
189.87 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
575.2 ns |
0.28 ns |
0.25 ns |
0.009 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,834,257.3 ns |
40,431.46 ns |
37,819.61 ns |
1.000 |
54.6875 |
54.6875 |
54.6875 |
2400682 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
602.4 ns |
0.25 ns |
0.21 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,074.3 ns |
5.98 ns |
5.59 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,087.3 ns |
5.30 ns |
4.96 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,320.9 ns |
6.59 ns |
6.17 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,832.6 ns |
7.62 ns |
6.75 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
453.0 ns |
1.57 ns |
1.46 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
452.8 ns |
0.55 ns |
0.46 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
689.9 ns |
0.29 ns |
0.24 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,139.0 ns |
9.27 ns |
8.67 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
605.62 ns |
1.360 ns |
1.272 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
599.79 ns |
0.597 ns |
0.466 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
814.98 ns |
0.771 ns |
0.602 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,209.82 ns |
22.069 ns |
18.429 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
51.24 ns |
0.977 ns |
0.960 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
50.64 ns |
0.456 ns |
0.426 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
269.84 ns |
0.426 ns |
0.398 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,487.28 ns |
16.113 ns |
15.072 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
553.4 ns |
0.71 ns |
0.63 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,831.9 ns |
8.97 ns |
7.95 ns |
12.35 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,141.3 ns |
0.83 ns |
0.69 ns |
2.06 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,134.8 ns |
1.91 ns |
1.69 ns |
2.05 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,257.4 ns |
39.92 ns |
35.39 ns |
16.73 |
0.06 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
547.7 ns |
0.35 ns |
0.31 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
551,660.4 ns |
1,014.75 ns |
899.55 ns |
1,007.30 |
1.68 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,865.5 ns |
13.55 ns |
12.67 ns |
3.41 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,871.2 ns |
11.15 ns |
9.89 ns |
3.42 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
734,361.8 ns |
607.00 ns |
473.90 ns |
1,340.90 |
1.12 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
554.7 ns |
0.49 ns |
0.41 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,488,527.9 ns |
233,424.75 ns |
218,345.66 ns |
103,647.45 |
388.29 |
333.3333 |
222.2222 |
222.2222 |
16001996 B |
51,288.45 |
| InvokeIntArrayFixed |
100000 |
60,517.0 ns |
516.16 ns |
482.81 ns |
109.11 |
0.85 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,321.6 ns |
642.47 ns |
600.97 ns |
108.76 |
1.05 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,216,288.0 ns |
1,448,225.61 ns |
1,354,671.13 ns |
148,229.72 |
2,367.96 |
666.6667 |
500.0000 |
500.0000 |
27894008 B |
89,403.87 |
core-ubuntu-22.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.089 μs |
0.0140 μs |
0.0131 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.074 μs |
0.0011 μs |
0.0008 μs |
0.99 |
0.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.072 μs |
0.0110 μs |
0.0097 μs |
0.98 |
0.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
90.42 ns |
0.044 ns |
0.036 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
101.67 ns |
0.037 ns |
0.033 ns |
1.12 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
97.39 ns |
0.014 ns |
0.013 ns |
1.08 |
- |
- |
0.00 |
| SetInstanceStringField |
660.73 ns |
0.977 ns |
0.914 ns |
7.31 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
99.37 ns |
0.036 ns |
0.032 ns |
1.10 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
101.83 ns |
0.023 ns |
0.021 ns |
1.13 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
94.93 ns |
0.026 ns |
0.023 ns |
1.05 |
- |
- |
0.00 |
| SetStaticStringField |
653.34 ns |
1.041 ns |
0.870 ns |
7.23 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
98.31 ns |
0.068 ns |
0.060 ns |
1.09 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
296.9 ns |
0.17 ns |
0.16 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
306.3 ns |
0.27 ns |
0.25 ns |
1.03 |
- |
- |
NA |
| InvokeStaticWithFeedback |
551.2 ns |
0.27 ns |
0.23 ns |
1.86 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
308.5 ns |
0.24 ns |
0.21 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
562.7 ns |
0.38 ns |
0.34 ns |
1.90 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.313 μs |
0.0025 μs |
0.0022 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,859.6 ns |
3.61 ns |
3.37 ns |
1.00 |
0.00 |
0.0095 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
573.9 ns |
0.35 ns |
0.30 ns |
0.31 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
56,873.2 ns |
159.60 ns |
149.29 ns |
1.00 |
0.00 |
0.3052 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
573.1 ns |
0.36 ns |
0.32 ns |
0.01 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,616,416.9 ns |
119,388.83 ns |
111,676.38 ns |
1.000 |
0.02 |
54.6875 |
54.6875 |
54.6875 |
2400751 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
598.7 ns |
0.32 ns |
0.28 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,022.3 ns |
7.04 ns |
5.88 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,038.9 ns |
7.92 ns |
7.40 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
2,130.0 ns |
42.41 ns |
93.98 ns |
- |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,840.3 ns |
51.53 ns |
48.20 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
446.6 ns |
0.63 ns |
0.59 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
443.6 ns |
0.36 ns |
0.30 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
696.2 ns |
0.61 ns |
0.48 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
5,013.5 ns |
28.98 ns |
27.10 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
571.24 ns |
0.595 ns |
0.497 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
570.89 ns |
1.673 ns |
1.483 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
787.59 ns |
6.793 ns |
6.354 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
5,283.74 ns |
40.765 ns |
38.132 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
43.86 ns |
0.027 ns |
0.024 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
43.01 ns |
0.743 ns |
0.620 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
260.97 ns |
0.303 ns |
0.283 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
4,723.37 ns |
94.438 ns |
96.981 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
555.3 ns |
0.54 ns |
0.48 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,805.2 ns |
12.77 ns |
11.94 ns |
12.25 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,146.2 ns |
1.96 ns |
1.74 ns |
2.06 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,130.5 ns |
1.05 ns |
0.88 ns |
2.04 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,717.3 ns |
27.57 ns |
24.44 ns |
15.70 |
0.04 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
544.7 ns |
0.28 ns |
0.24 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
551,441.1 ns |
1,122.58 ns |
937.40 ns |
1,012.35 |
1.72 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,833.6 ns |
4.99 ns |
3.89 ns |
3.37 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,845.8 ns |
3.57 ns |
3.17 ns |
3.39 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
714,609.9 ns |
1,022.89 ns |
854.16 ns |
1,311.89 |
1.61 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
553.1 ns |
0.36 ns |
0.30 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,066,735.2 ns |
198,752.99 ns |
185,913.67 ns |
103,166.95 |
330.08 |
333.3333 |
222.2222 |
222.2222 |
16001815 B |
51,287.87 |
| InvokeIntArrayFixed |
100000 |
60,310.5 ns |
292.41 ns |
259.21 ns |
109.03 |
0.46 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,470.6 ns |
479.07 ns |
448.13 ns |
109.32 |
0.79 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
81,554,902.5 ns |
988,154.54 ns |
875,973.26 ns |
147,437.39 |
1,532.20 |
1166.6667 |
1000.0000 |
1000.0000 |
27897003 B |
89,413.47 |
core-ubuntu-22.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.063 μs |
0.0121 μs |
0.0113 μs |
1.00 |
0.01 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.050 μs |
0.0131 μs |
0.0123 μs |
0.99 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.058 μs |
0.0106 μs |
0.0094 μs |
0.99 |
0.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
93.05 ns |
0.021 ns |
0.017 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
113.84 ns |
0.031 ns |
0.026 ns |
1.22 |
0.00 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
103.79 ns |
0.026 ns |
0.024 ns |
1.12 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
672.33 ns |
3.607 ns |
3.374 ns |
7.23 |
0.04 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
107.81 ns |
0.047 ns |
0.042 ns |
1.16 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
109.30 ns |
0.028 ns |
0.024 ns |
1.17 |
0.00 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
99.40 ns |
0.043 ns |
0.040 ns |
1.07 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
666.94 ns |
1.009 ns |
0.944 ns |
7.17 |
0.01 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
104.14 ns |
0.045 ns |
0.040 ns |
1.12 |
0.00 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
303.1 ns |
0.22 ns |
0.20 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
316.8 ns |
0.26 ns |
0.24 ns |
1.05 |
- |
- |
NA |
| InvokeStaticWithFeedback |
542.2 ns |
0.24 ns |
0.19 ns |
1.79 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
320.0 ns |
0.24 ns |
0.23 ns |
1.06 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
543.8 ns |
0.34 ns |
0.30 ns |
1.79 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.329 μs |
0.0067 μs |
0.0063 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,868.6 ns |
1.98 ns |
1.76 ns |
1.00 |
0.00 |
0.0095 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
576.1 ns |
0.22 ns |
0.20 ns |
0.31 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
58,803.9 ns |
159.77 ns |
149.45 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
579.5 ns |
0.40 ns |
0.36 ns |
0.010 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,838,065.3 ns |
131,907.93 ns |
171,517.58 ns |
1.001 |
0.04 |
62.5000 |
62.5000 |
62.5000 |
2400751 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
609.8 ns |
0.69 ns |
0.61 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,019.8 ns |
10.76 ns |
10.07 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,032.9 ns |
6.30 ns |
5.58 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,250.8 ns |
11.02 ns |
10.30 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,593.5 ns |
51.46 ns |
45.62 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
435.9 ns |
0.54 ns |
0.51 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
439.7 ns |
0.21 ns |
0.18 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
675.9 ns |
0.98 ns |
0.77 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,135.7 ns |
41.67 ns |
38.98 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
578.83 ns |
0.539 ns |
0.478 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
582.02 ns |
0.533 ns |
0.473 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
794.61 ns |
8.788 ns |
8.221 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
3,969.17 ns |
18.048 ns |
16.882 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
45.61 ns |
0.899 ns |
0.999 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
46.26 ns |
0.920 ns |
1.197 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
258.82 ns |
0.645 ns |
0.603 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,284.72 ns |
13.221 ns |
12.367 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
568.5 ns |
0.43 ns |
0.38 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,892.3 ns |
9.86 ns |
9.22 ns |
12.12 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,157.3 ns |
1.79 ns |
1.59 ns |
2.04 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,164.5 ns |
2.01 ns |
1.78 ns |
2.05 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,940.5 ns |
25.29 ns |
23.66 ns |
15.73 |
0.04 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
552.4 ns |
0.32 ns |
0.28 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
538,671.9 ns |
713.91 ns |
667.79 ns |
975.13 |
1.26 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,854.8 ns |
6.93 ns |
6.48 ns |
3.36 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,870.8 ns |
5.76 ns |
5.39 ns |
3.39 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
729,025.7 ns |
1,287.81 ns |
1,075.38 ns |
1,319.71 |
1.98 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
560.1 ns |
0.44 ns |
0.39 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
56,637,323.0 ns |
108,306.65 ns |
90,440.96 ns |
101,125.83 |
169.60 |
333.3333 |
222.2222 |
222.2222 |
16001575 B |
51,287.10 |
| InvokeIntArrayFixed |
100000 |
60,610.3 ns |
312.25 ns |
276.80 ns |
108.22 |
0.48 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,563.6 ns |
188.76 ns |
167.33 ns |
108.14 |
0.30 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
84,359,379.2 ns |
1,555,202.82 ns |
1,527,417.12 ns |
150,623.51 |
2,648.42 |
857.1429 |
714.2857 |
571.4286 |
27894648 B |
89,405.92 |
core-ubuntu-22.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.068 μs |
0.0133 μs |
0.0124 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.059 μs |
0.0099 μs |
0.0093 μs |
0.99 |
0.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.062 μs |
0.0099 μs |
0.0093 μs |
0.99 |
0.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
91.84 ns |
0.029 ns |
0.026 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
107.62 ns |
0.019 ns |
0.016 ns |
1.17 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
104.08 ns |
0.011 ns |
0.009 ns |
1.13 |
- |
- |
0.00 |
| SetInstanceStringField |
668.76 ns |
0.807 ns |
0.755 ns |
7.28 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
107.36 ns |
0.033 ns |
0.029 ns |
1.17 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
107.24 ns |
0.012 ns |
0.011 ns |
1.17 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
99.02 ns |
0.007 ns |
0.006 ns |
1.08 |
- |
- |
0.00 |
| SetStaticStringField |
661.41 ns |
0.802 ns |
0.750 ns |
7.20 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
102.62 ns |
0.037 ns |
0.031 ns |
1.12 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
305.5 ns |
0.13 ns |
0.11 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
301.2 ns |
0.17 ns |
0.16 ns |
0.99 |
- |
- |
NA |
| InvokeStaticWithFeedback |
552.0 ns |
0.30 ns |
0.27 ns |
1.81 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
313.6 ns |
0.24 ns |
0.22 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
568.8 ns |
0.19 ns |
0.16 ns |
1.86 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
2.683 μs |
0.0341 μs |
0.0319 μs |
1.00 |
0.02 |
0.0076 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,923.0 ns |
23.28 ns |
20.64 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
586.8 ns |
0.30 ns |
0.27 ns |
0.31 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
58,795.3 ns |
252.54 ns |
236.23 ns |
1.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
598.3 ns |
0.23 ns |
0.20 ns |
0.01 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,534,010.2 ns |
59,429.05 ns |
55,589.97 ns |
1.000 |
54.6875 |
54.6875 |
54.6875 |
2400690 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
624.9 ns |
1.35 ns |
1.26 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,030.2 ns |
0.75 ns |
0.62 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,037.6 ns |
7.34 ns |
6.51 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,290.3 ns |
4.59 ns |
3.58 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,446.3 ns |
49.40 ns |
41.25 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
454.0 ns |
0.52 ns |
0.49 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
463.9 ns |
1.16 ns |
0.90 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
1,240.6 ns |
16.72 ns |
14.82 ns |
- |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,904.4 ns |
36.37 ns |
32.24 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
573.74 ns |
0.356 ns |
0.316 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
575.52 ns |
0.732 ns |
0.571 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
788.85 ns |
7.099 ns |
6.640 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
5,484.05 ns |
62.200 ns |
76.387 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
41.26 ns |
0.040 ns |
0.038 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
42.40 ns |
0.152 ns |
0.142 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
254.76 ns |
0.262 ns |
0.232 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,336.66 ns |
15.638 ns |
15.358 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
557.2 ns |
0.42 ns |
0.35 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,969.6 ns |
8.87 ns |
7.86 ns |
12.51 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,149.4 ns |
2.04 ns |
1.91 ns |
2.06 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,161.6 ns |
1.15 ns |
0.96 ns |
2.08 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,183.2 ns |
93.12 ns |
87.10 ns |
16.48 |
0.15 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
557.0 ns |
0.67 ns |
0.59 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
551,510.9 ns |
941.97 ns |
881.11 ns |
990.22 |
1.84 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,857.0 ns |
5.33 ns |
4.73 ns |
3.33 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,852.7 ns |
2.24 ns |
1.99 ns |
3.33 |
0.00 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
738,842.6 ns |
722.38 ns |
563.99 ns |
1,326.56 |
1.67 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
550.3 ns |
0.40 ns |
0.35 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,473,726.0 ns |
202,084.65 ns |
189,030.11 ns |
104,444.38 |
338.92 |
333.3333 |
222.2222 |
222.2222 |
16000940 B |
51,285.06 |
| InvokeIntArrayFixed |
100000 |
60,172.6 ns |
238.05 ns |
211.03 ns |
109.35 |
0.38 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
59,961.8 ns |
306.84 ns |
287.01 ns |
108.97 |
0.51 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,303,360.0 ns |
1,043,781.77 ns |
976,354.12 ns |
149,566.14 |
1,720.72 |
1000.0000 |
833.3333 |
833.3333 |
27896893 B |
89,413.12 |
core-ubuntu-22.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.092 μs |
0.0100 μs |
0.0094 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.082 μs |
0.0094 μs |
0.0088 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.080 μs |
0.0083 μs |
0.0078 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
90.59 ns |
0.067 ns |
0.063 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
109.43 ns |
0.058 ns |
0.054 ns |
1.21 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
102.61 ns |
0.117 ns |
0.110 ns |
1.13 |
- |
- |
0.00 |
| SetInstanceStringField |
663.34 ns |
0.794 ns |
0.743 ns |
7.32 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
107.76 ns |
0.046 ns |
0.041 ns |
1.19 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
107.41 ns |
0.122 ns |
0.108 ns |
1.19 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
97.43 ns |
0.036 ns |
0.034 ns |
1.08 |
- |
- |
0.00 |
| SetStaticStringField |
666.09 ns |
0.856 ns |
0.759 ns |
7.35 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
106.42 ns |
0.041 ns |
0.036 ns |
1.17 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
298.7 ns |
0.16 ns |
0.15 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
305.4 ns |
0.11 ns |
0.10 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
566.8 ns |
0.39 ns |
0.35 ns |
1.90 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
308.2 ns |
0.19 ns |
0.17 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
571.2 ns |
0.26 ns |
0.21 ns |
1.91 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.281 μs |
0.0018 μs |
0.0015 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,929.8 ns |
16.82 ns |
14.91 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
588.0 ns |
0.11 ns |
0.09 ns |
0.30 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,834.2 ns |
128.19 ns |
113.64 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
585.7 ns |
0.27 ns |
0.22 ns |
0.010 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,014,337.1 ns |
92,199.51 ns |
81,732.46 ns |
1.000 |
0.02 |
62.5000 |
62.5000 |
62.5000 |
2400752 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
610.2 ns |
0.33 ns |
0.29 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,059.6 ns |
5.33 ns |
4.99 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,058.8 ns |
6.77 ns |
6.33 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,298.7 ns |
7.52 ns |
7.03 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,267.7 ns |
46.98 ns |
43.94 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
453.8 ns |
0.24 ns |
0.20 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
448.1 ns |
2.42 ns |
2.26 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
707.3 ns |
1.80 ns |
1.50 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,499.5 ns |
40.61 ns |
37.98 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
596.67 ns |
2.172 ns |
1.925 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
591.84 ns |
0.754 ns |
0.668 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
803.86 ns |
2.083 ns |
1.847 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,787.99 ns |
86.375 ns |
80.795 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
44.21 ns |
0.702 ns |
0.657 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
43.38 ns |
0.846 ns |
0.831 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
258.80 ns |
0.365 ns |
0.324 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,529.26 ns |
37.686 ns |
35.252 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
541.2 ns |
0.68 ns |
0.61 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,052.8 ns |
9.84 ns |
8.72 ns |
13.03 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,172.2 ns |
2.65 ns |
2.35 ns |
2.17 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,165.0 ns |
2.03 ns |
1.90 ns |
2.15 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,941.6 ns |
30.51 ns |
28.53 ns |
16.52 |
0.05 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
537.0 ns |
0.52 ns |
0.44 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
555,326.7 ns |
1,024.46 ns |
958.28 ns |
1,034.05 |
1.91 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,913.6 ns |
5.40 ns |
4.78 ns |
3.56 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,920.0 ns |
4.09 ns |
3.63 ns |
3.58 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
717,841.7 ns |
602.33 ns |
502.97 ns |
1,336.66 |
1.38 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
558.2 ns |
0.73 ns |
0.64 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,558,382.1 ns |
164,776.58 ns |
154,132.11 ns |
103,112.58 |
291.00 |
333.3333 |
222.2222 |
222.2222 |
16001303 B |
51,286.23 |
| InvokeIntArrayFixed |
100000 |
61,627.5 ns |
235.45 ns |
208.72 ns |
110.40 |
0.38 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
61,238.5 ns |
186.51 ns |
165.34 ns |
109.71 |
0.31 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,051,399.8 ns |
563,647.49 ns |
499,658.82 ns |
146,990.43 |
880.11 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-22.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.056 μs |
0.0096 μs |
0.0089 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.074 μs |
0.0080 μs |
0.0071 μs |
1.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.065 μs |
0.0085 μs |
0.0079 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
94.23 ns |
0.038 ns |
0.034 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
110.55 ns |
0.049 ns |
0.044 ns |
1.17 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
104.91 ns |
0.013 ns |
0.012 ns |
1.11 |
- |
- |
0.00 |
| SetInstanceStringField |
673.08 ns |
0.888 ns |
0.741 ns |
7.14 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
109.08 ns |
0.034 ns |
0.030 ns |
1.16 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
108.15 ns |
0.022 ns |
0.018 ns |
1.15 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
99.28 ns |
0.033 ns |
0.031 ns |
1.05 |
- |
- |
0.00 |
| SetStaticStringField |
662.79 ns |
1.015 ns |
0.950 ns |
7.03 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
102.11 ns |
0.058 ns |
0.051 ns |
1.08 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
304.9 ns |
0.13 ns |
0.11 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
307.6 ns |
0.13 ns |
0.12 ns |
1.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
546.9 ns |
0.35 ns |
0.31 ns |
1.79 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
320.9 ns |
0.25 ns |
0.20 ns |
1.05 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
568.6 ns |
0.67 ns |
0.62 ns |
1.86 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.322 μs |
0.0022 μs |
0.0019 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,922.6 ns |
18.98 ns |
17.75 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
578.9 ns |
0.21 ns |
0.17 ns |
0.30 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,357.5 ns |
168.40 ns |
157.52 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
585.4 ns |
0.20 ns |
0.17 ns |
0.010 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,527,525.2 ns |
139,957.88 ns |
130,916.69 ns |
1.000 |
0.02 |
62.5000 |
62.5000 |
62.5000 |
2400865 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
612.0 ns |
0.30 ns |
0.25 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,040.9 ns |
6.73 ns |
6.30 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,044.2 ns |
6.84 ns |
6.40 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,364.8 ns |
12.81 ns |
11.98 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,996.4 ns |
40.21 ns |
37.61 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
441.6 ns |
0.53 ns |
0.47 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
451.5 ns |
0.31 ns |
0.28 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
687.9 ns |
5.59 ns |
5.23 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,384.0 ns |
32.71 ns |
30.59 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
590.80 ns |
0.872 ns |
0.728 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
586.13 ns |
0.466 ns |
0.413 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
792.38 ns |
5.878 ns |
5.498 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,179.84 ns |
18.082 ns |
16.914 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
45.98 ns |
0.864 ns |
0.887 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
46.19 ns |
0.906 ns |
1.078 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
258.54 ns |
0.345 ns |
0.323 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,466.02 ns |
24.110 ns |
22.553 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
551.0 ns |
0.20 ns |
0.18 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,899.9 ns |
9.53 ns |
7.96 ns |
12.52 |
0.01 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,128.4 ns |
1.16 ns |
0.97 ns |
2.05 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,151.5 ns |
1.61 ns |
1.50 ns |
2.09 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,847.3 ns |
41.93 ns |
39.22 ns |
16.06 |
0.07 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
550.7 ns |
0.23 ns |
0.21 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
554,920.5 ns |
1,217.23 ns |
1,138.60 ns |
1,007.65 |
2.03 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,855.4 ns |
6.55 ns |
5.81 ns |
3.37 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,851.1 ns |
6.56 ns |
6.14 ns |
3.36 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
728,718.8 ns |
899.56 ns |
751.17 ns |
1,323.24 |
1.40 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
556.5 ns |
0.59 ns |
0.52 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,058,390.4 ns |
239,954.17 ns |
224,453.28 ns |
104,321.69 |
401.88 |
333.3333 |
222.2222 |
222.2222 |
16001823 B |
51,287.89 |
| InvokeIntArrayFixed |
100000 |
60,593.8 ns |
236.77 ns |
209.89 ns |
108.88 |
0.38 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,312.4 ns |
302.38 ns |
268.05 ns |
108.37 |
0.48 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
83,101,286.8 ns |
646,103.93 ns |
572,754.31 ns |
149,319.80 |
1,003.45 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-22.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.068 μs |
0.0085 μs |
0.0080 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.065 μs |
0.0093 μs |
0.0087 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.065 μs |
0.0076 μs |
0.0071 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
93.18 ns |
0.033 ns |
0.027 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
117.60 ns |
0.023 ns |
0.019 ns |
1.26 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
111.13 ns |
0.012 ns |
0.011 ns |
1.19 |
- |
- |
0.00 |
| SetInstanceStringField |
682.75 ns |
0.785 ns |
0.734 ns |
7.33 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
110.97 ns |
0.028 ns |
0.024 ns |
1.19 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
109.79 ns |
0.034 ns |
0.031 ns |
1.18 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
98.26 ns |
0.013 ns |
0.012 ns |
1.05 |
- |
- |
0.00 |
| SetStaticStringField |
670.96 ns |
0.949 ns |
0.887 ns |
7.20 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
108.18 ns |
0.042 ns |
0.037 ns |
1.16 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
303.9 ns |
0.11 ns |
0.09 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
310.3 ns |
0.14 ns |
0.13 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
547.5 ns |
0.25 ns |
0.22 ns |
1.80 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
321.6 ns |
0.23 ns |
0.19 ns |
1.06 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
551.9 ns |
0.15 ns |
0.11 ns |
1.82 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.305 μs |
0.0019 μs |
0.0017 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,901.3 ns |
18.61 ns |
17.41 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
575.3 ns |
0.41 ns |
0.37 ns |
0.30 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
62,488.7 ns |
213.49 ns |
199.70 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
581.4 ns |
0.22 ns |
0.20 ns |
0.009 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,165,141.7 ns |
54,831.86 ns |
48,607.02 ns |
1.000 |
62.5000 |
62.5000 |
62.5000 |
2400752 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
603.0 ns |
0.42 ns |
0.37 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,033.8 ns |
5.04 ns |
4.46 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,048.4 ns |
6.66 ns |
6.23 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,332.2 ns |
20.42 ns |
19.10 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,947.4 ns |
53.76 ns |
47.66 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
449.8 ns |
0.27 ns |
0.25 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
445.8 ns |
0.92 ns |
0.86 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
681.5 ns |
4.07 ns |
3.61 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
5,125.4 ns |
57.00 ns |
47.59 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
588.35 ns |
2.877 ns |
2.246 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
589.67 ns |
1.096 ns |
0.856 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
808.42 ns |
9.452 ns |
8.841 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,061.22 ns |
15.589 ns |
12.171 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
42.53 ns |
0.225 ns |
0.210 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
42.55 ns |
0.168 ns |
0.157 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
256.58 ns |
0.299 ns |
0.280 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,456.15 ns |
67.451 ns |
90.046 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
549.1 ns |
0.58 ns |
0.51 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,131.1 ns |
13.23 ns |
12.37 ns |
12.99 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,158.1 ns |
2.43 ns |
2.15 ns |
2.11 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,155.4 ns |
1.62 ns |
1.35 ns |
2.10 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,992.3 ns |
22.71 ns |
21.25 ns |
16.38 |
0.04 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
545.7 ns |
0.36 ns |
0.32 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
577,461.7 ns |
900.68 ns |
752.11 ns |
1,058.30 |
1.46 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,922.5 ns |
7.00 ns |
6.20 ns |
3.52 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,920.7 ns |
13.40 ns |
12.53 ns |
3.52 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
745,154.6 ns |
1,547.70 ns |
1,447.72 ns |
1,365.62 |
2.68 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
557.3 ns |
1.15 ns |
1.07 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,266,171.3 ns |
313,286.04 ns |
277,719.92 ns |
106,341.89 |
520.43 |
250.0000 |
125.0000 |
125.0000 |
16000681 B |
51,284.23 |
| InvokeIntArrayFixed |
100000 |
61,055.2 ns |
712.73 ns |
666.69 ns |
109.55 |
1.18 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,788.2 ns |
907.43 ns |
848.81 ns |
109.07 |
1.49 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
84,918,117.0 ns |
503,368.35 ns |
446,222.93 ns |
152,369.44 |
823.73 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-22.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.110 μs |
0.0089 μs |
0.0083 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.077 μs |
0.0015 μs |
0.0011 μs |
0.97 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.078 μs |
0.0011 μs |
0.0009 μs |
0.97 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
95.85 ns |
0.042 ns |
0.037 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
116.80 ns |
0.032 ns |
0.029 ns |
1.22 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
115.57 ns |
0.021 ns |
0.019 ns |
1.21 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
696.95 ns |
0.960 ns |
0.898 ns |
7.27 |
0.01 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
120.70 ns |
0.020 ns |
0.018 ns |
1.26 |
0.00 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
121.38 ns |
0.049 ns |
0.043 ns |
1.27 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
112.56 ns |
0.016 ns |
0.015 ns |
1.17 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
702.08 ns |
1.855 ns |
1.735 ns |
7.33 |
0.02 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
109.73 ns |
0.063 ns |
0.059 ns |
1.14 |
0.00 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
374.2 ns |
0.17 ns |
0.16 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
380.6 ns |
0.30 ns |
0.28 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
539.9 ns |
0.31 ns |
0.26 ns |
1.44 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
394.0 ns |
0.25 ns |
0.23 ns |
1.05 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
556.6 ns |
0.64 ns |
0.60 ns |
1.49 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.322 μs |
0.0033 μs |
0.0031 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,006.3 ns |
2.50 ns |
2.22 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
586.5 ns |
0.41 ns |
0.34 ns |
0.29 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
65,191.8 ns |
248.61 ns |
232.55 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
577.3 ns |
0.31 ns |
0.27 ns |
0.009 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,194,196.5 ns |
56,095.78 ns |
52,472.03 ns |
1.000 |
62.5000 |
62.5000 |
62.5000 |
2400752 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
615.1 ns |
0.46 ns |
0.40 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,070.5 ns |
4.85 ns |
4.30 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,091.4 ns |
11.56 ns |
10.82 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,301.2 ns |
0.99 ns |
0.83 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,945.1 ns |
12.62 ns |
11.80 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
475.8 ns |
0.27 ns |
0.22 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
478.9 ns |
0.38 ns |
0.32 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
702.9 ns |
0.59 ns |
0.52 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,229.0 ns |
4.84 ns |
4.29 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
613.70 ns |
4.507 ns |
4.216 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
605.40 ns |
1.619 ns |
1.515 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
819.95 ns |
0.869 ns |
0.726 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,307.55 ns |
6.515 ns |
6.094 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
50.56 ns |
0.038 ns |
0.034 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
50.81 ns |
0.019 ns |
0.018 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
272.62 ns |
0.552 ns |
0.489 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,562.78 ns |
10.960 ns |
9.716 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
553.5 ns |
3.93 ns |
3.68 ns |
1.00 |
0.01 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,299.1 ns |
11.55 ns |
10.24 ns |
13.19 |
0.09 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,130.3 ns |
1.75 ns |
1.63 ns |
2.04 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,138.7 ns |
1.89 ns |
1.68 ns |
2.06 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,306.0 ns |
39.37 ns |
36.83 ns |
16.81 |
0.13 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
547.7 ns |
0.39 ns |
0.35 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
551,387.3 ns |
1,349.57 ns |
1,262.39 ns |
1,006.70 |
2.32 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,937.9 ns |
18.30 ns |
16.23 ns |
3.54 |
0.03 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,921.1 ns |
15.11 ns |
14.13 ns |
3.51 |
0.03 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
737,664.3 ns |
2,205.27 ns |
1,841.50 ns |
1,346.80 |
3.34 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
543.7 ns |
0.75 ns |
0.66 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,038,279.2 ns |
129,164.23 ns |
114,500.73 ns |
106,748.26 |
238.95 |
333.3333 |
222.2222 |
222.2222 |
16001604 B |
51,287.19 |
| InvokeIntArrayFixed |
100000 |
62,897.0 ns |
555.19 ns |
519.33 ns |
115.68 |
0.93 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
62,295.1 ns |
562.44 ns |
526.11 ns |
114.58 |
0.95 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
83,146,121.4 ns |
709,764.61 ns |
663,914.26 ns |
152,928.44 |
1,196.08 |
666.6667 |
500.0000 |
500.0000 |
27894008 B |
89,403.87 |
core-ubuntu-22.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.089 μs |
0.0151 μs |
0.0141 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.074 μs |
0.0120 μs |
0.0112 μs |
0.99 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.089 μs |
0.0119 μs |
0.0111 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
88.96 ns |
0.026 ns |
0.021 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
112.43 ns |
0.022 ns |
0.019 ns |
1.26 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
97.71 ns |
0.014 ns |
0.013 ns |
1.10 |
- |
- |
0.00 |
| SetInstanceStringField |
672.62 ns |
0.846 ns |
0.791 ns |
7.56 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
98.19 ns |
0.035 ns |
0.031 ns |
1.10 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
101.29 ns |
0.031 ns |
0.028 ns |
1.14 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
98.05 ns |
0.033 ns |
0.031 ns |
1.10 |
- |
- |
0.00 |
| SetStaticStringField |
659.75 ns |
1.083 ns |
1.013 ns |
7.42 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
97.72 ns |
0.030 ns |
0.025 ns |
1.10 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
293.1 ns |
0.08 ns |
0.07 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
298.5 ns |
0.11 ns |
0.09 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
563.0 ns |
0.37 ns |
0.33 ns |
1.92 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
303.8 ns |
0.13 ns |
0.12 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
562.1 ns |
0.35 ns |
0.31 ns |
1.92 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.301 μs |
0.0022 μs |
0.0019 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,898.7 ns |
24.48 ns |
22.90 ns |
1.00 |
0.02 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
566.8 ns |
0.28 ns |
0.24 ns |
0.30 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,643.4 ns |
223.13 ns |
186.33 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
569.4 ns |
0.26 ns |
0.23 ns |
0.010 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,789,507.2 ns |
132,830.92 ns |
190,502.15 ns |
1.001 |
0.04 |
62.5000 |
62.5000 |
62.5000 |
2400832 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
605.5 ns |
0.49 ns |
0.43 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,025.3 ns |
7.58 ns |
6.72 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,015.5 ns |
7.31 ns |
6.83 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,254.5 ns |
6.05 ns |
5.36 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,688.7 ns |
53.71 ns |
50.24 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
438.0 ns |
2.28 ns |
2.13 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
433.2 ns |
1.13 ns |
1.06 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
667.5 ns |
1.32 ns |
1.10 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,969.9 ns |
41.45 ns |
38.78 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
562.70 ns |
1.525 ns |
1.274 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
562.65 ns |
1.890 ns |
1.768 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
777.93 ns |
5.079 ns |
4.751 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,247.31 ns |
55.348 ns |
51.772 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
42.97 ns |
0.631 ns |
0.560 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
43.76 ns |
0.365 ns |
0.323 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
255.59 ns |
0.939 ns |
0.878 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,554.21 ns |
43.797 ns |
40.967 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
548.6 ns |
0.56 ns |
0.47 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,745.9 ns |
13.16 ns |
11.67 ns |
12.30 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,124.1 ns |
1.77 ns |
1.57 ns |
2.05 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,136.5 ns |
2.11 ns |
1.87 ns |
2.07 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,603.7 ns |
25.18 ns |
23.55 ns |
15.68 |
0.04 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
555.8 ns |
0.50 ns |
0.39 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
540,235.9 ns |
1,369.80 ns |
1,281.31 ns |
971.98 |
2.33 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,818.6 ns |
3.99 ns |
3.54 ns |
3.27 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,854.2 ns |
4.17 ns |
3.69 ns |
3.34 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
712,347.9 ns |
2,337.84 ns |
1,952.21 ns |
1,281.64 |
3.49 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
548.0 ns |
0.30 ns |
0.25 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,146,596.1 ns |
231,414.33 ns |
216,465.11 ns |
104,274.56 |
385.30 |
333.3333 |
222.2222 |
222.2222 |
16001361 B |
51,286.41 |
| InvokeIntArrayFixed |
100000 |
59,969.5 ns |
338.85 ns |
316.96 ns |
109.43 |
0.56 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
59,531.8 ns |
272.10 ns |
254.53 ns |
108.63 |
0.45 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
85,092,459.2 ns |
159,293.24 ns |
124,365.69 ns |
155,266.97 |
228.40 |
1285.7143 |
1142.8571 |
1000.0000 |
27898230 B |
89,417.40 |
core-ubuntu-22.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.057 μs |
0.0075 μs |
0.0066 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.050 μs |
0.0100 μs |
0.0094 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.050 μs |
0.0101 μs |
0.0094 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
95.78 ns |
0.017 ns |
0.015 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
110.31 ns |
0.045 ns |
0.040 ns |
1.15 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
102.87 ns |
0.013 ns |
0.012 ns |
1.07 |
- |
- |
0.00 |
| SetInstanceStringField |
668.36 ns |
1.339 ns |
1.253 ns |
6.98 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
107.04 ns |
0.025 ns |
0.022 ns |
1.12 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
111.86 ns |
0.024 ns |
0.020 ns |
1.17 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
97.75 ns |
0.041 ns |
0.036 ns |
1.02 |
- |
- |
0.00 |
| SetStaticStringField |
652.22 ns |
0.852 ns |
0.797 ns |
6.81 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
101.61 ns |
0.060 ns |
0.050 ns |
1.06 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
303.3 ns |
0.17 ns |
0.15 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
307.1 ns |
0.24 ns |
0.22 ns |
1.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
534.7 ns |
0.21 ns |
0.18 ns |
1.76 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
313.8 ns |
0.25 ns |
0.22 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
555.1 ns |
0.50 ns |
0.44 ns |
1.83 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.303 μs |
0.0020 μs |
0.0018 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,870.8 ns |
2.22 ns |
1.97 ns |
1.00 |
0.0095 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
582.8 ns |
0.28 ns |
0.24 ns |
0.31 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
56,932.7 ns |
125.25 ns |
104.59 ns |
1.00 |
0.3052 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
580.4 ns |
0.34 ns |
0.30 ns |
0.01 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,464,440.9 ns |
47,572.67 ns |
44,499.51 ns |
1.000 |
54.6875 |
54.6875 |
54.6875 |
2400795 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
604.5 ns |
0.70 ns |
0.58 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,034.8 ns |
6.27 ns |
5.86 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,032.4 ns |
6.32 ns |
5.61 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,239.3 ns |
6.08 ns |
5.39 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,820.8 ns |
35.15 ns |
32.88 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
438.3 ns |
2.23 ns |
2.08 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
438.5 ns |
2.99 ns |
2.79 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
681.0 ns |
1.91 ns |
1.59 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
5,251.6 ns |
54.39 ns |
50.88 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Median |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
579.76 ns |
5.896 ns |
5.515 ns |
575.44 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
574.13 ns |
1.584 ns |
1.323 ns |
573.63 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
788.66 ns |
6.478 ns |
6.060 ns |
785.20 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
3,981.36 ns |
12.696 ns |
11.876 ns |
3,978.86 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
46.17 ns |
0.907 ns |
1.045 ns |
46.50 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
45.27 ns |
0.937 ns |
0.782 ns |
45.58 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
256.66 ns |
0.446 ns |
0.395 ns |
256.60 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,185.96 ns |
14.613 ns |
13.669 ns |
3,185.21 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
563.3 ns |
0.45 ns |
0.40 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,059.9 ns |
18.35 ns |
17.17 ns |
12.53 |
0.03 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,153.0 ns |
1.77 ns |
1.57 ns |
2.05 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,141.7 ns |
1.10 ns |
0.98 ns |
2.03 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,340.0 ns |
39.75 ns |
37.18 ns |
16.58 |
0.06 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
553.9 ns |
0.33 ns |
0.25 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
557,822.1 ns |
1,052.32 ns |
932.86 ns |
1,007.15 |
1.69 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,844.5 ns |
4.87 ns |
4.31 ns |
3.33 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,862.5 ns |
6.90 ns |
6.11 ns |
3.36 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
723,957.0 ns |
1,686.52 ns |
1,408.32 ns |
1,307.10 |
2.52 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
560.0 ns |
0.46 ns |
0.41 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,897,593.6 ns |
152,985.51 ns |
143,102.74 ns |
103,390.40 |
257.96 |
333.3333 |
222.2222 |
222.2222 |
16001208 B |
51,285.92 |
| InvokeIntArrayFixed |
100000 |
60,237.8 ns |
227.31 ns |
201.51 ns |
107.57 |
0.36 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,612.8 ns |
501.27 ns |
468.89 ns |
108.24 |
0.81 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,985,886.5 ns |
771,611.47 ns |
684,013.47 ns |
148,191.72 |
1,184.67 |
1166.6667 |
1000.0000 |
1000.0000 |
27897003 B |
89,413.47 |
core-ubuntu-22.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.055 μs |
0.0137 μs |
0.0128 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.073 μs |
0.0127 μs |
0.0119 μs |
1.02 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.065 μs |
0.0121 μs |
0.0114 μs |
1.01 |
0.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
95.49 ns |
0.062 ns |
0.055 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
118.02 ns |
0.060 ns |
0.053 ns |
1.24 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
111.63 ns |
0.083 ns |
0.078 ns |
1.17 |
- |
- |
0.00 |
| SetInstanceStringField |
672.76 ns |
1.051 ns |
0.983 ns |
7.05 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
113.96 ns |
0.027 ns |
0.024 ns |
1.19 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
113.14 ns |
0.039 ns |
0.034 ns |
1.18 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
100.13 ns |
0.059 ns |
0.052 ns |
1.05 |
- |
- |
0.00 |
| SetStaticStringField |
684.66 ns |
1.250 ns |
1.170 ns |
7.17 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
104.71 ns |
0.080 ns |
0.071 ns |
1.10 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
303.6 ns |
0.11 ns |
0.10 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
303.8 ns |
0.18 ns |
0.15 ns |
1.00 |
- |
- |
NA |
| InvokeStaticWithFeedback |
542.3 ns |
0.31 ns |
0.27 ns |
1.79 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
322.8 ns |
0.15 ns |
0.14 ns |
1.06 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
570.9 ns |
0.34 ns |
0.30 ns |
1.88 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.323 μs |
0.0071 μs |
0.0059 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,932.0 ns |
12.13 ns |
10.13 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
585.9 ns |
0.17 ns |
0.15 ns |
0.30 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
63,798.4 ns |
156.01 ns |
138.30 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
602.7 ns |
0.37 ns |
0.31 ns |
0.009 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,450,798.6 ns |
116,123.44 ns |
108,621.94 ns |
1.000 |
0.02 |
62.5000 |
62.5000 |
62.5000 |
2400808 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
622.2 ns |
0.35 ns |
0.31 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,033.1 ns |
8.91 ns |
8.33 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,030.4 ns |
0.92 ns |
0.72 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,306.2 ns |
12.89 ns |
12.06 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,537.8 ns |
51.31 ns |
47.99 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
451.6 ns |
0.63 ns |
0.56 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
467.2 ns |
8.94 ns |
8.36 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
1,194.2 ns |
9.91 ns |
9.27 ns |
- |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,977.7 ns |
89.48 ns |
74.72 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
577.61 ns |
1.180 ns |
0.921 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
578.56 ns |
3.630 ns |
3.395 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
801.31 ns |
6.866 ns |
6.423 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,429.57 ns |
39.763 ns |
48.833 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
42.85 ns |
0.144 ns |
0.135 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
42.60 ns |
0.828 ns |
0.813 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
259.87 ns |
0.510 ns |
0.452 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,603.02 ns |
26.621 ns |
32.693 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
553.1 ns |
0.44 ns |
0.39 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,180.5 ns |
9.27 ns |
8.21 ns |
12.98 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,197.4 ns |
1.71 ns |
1.60 ns |
2.17 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,178.0 ns |
0.89 ns |
0.69 ns |
2.13 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,141.5 ns |
17.91 ns |
16.76 ns |
16.53 |
0.03 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
564.0 ns |
0.30 ns |
0.25 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
580,852.9 ns |
1,087.62 ns |
1,017.36 ns |
1,029.89 |
1.80 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,942.7 ns |
2.15 ns |
1.79 ns |
3.44 |
0.00 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,911.4 ns |
5.29 ns |
4.69 ns |
3.39 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
755,098.4 ns |
1,000.43 ns |
935.81 ns |
1,338.84 |
1.71 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
540.7 ns |
0.38 ns |
0.34 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,156,955.9 ns |
387,352.49 ns |
362,329.76 ns |
111,267.69 |
652.50 |
250.0000 |
125.0000 |
125.0000 |
16001274 B |
51,286.13 |
| InvokeIntArrayFixed |
100000 |
60,896.6 ns |
318.33 ns |
297.77 ns |
112.64 |
0.54 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,717.6 ns |
433.33 ns |
384.13 ns |
112.30 |
0.69 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
83,430,109.5 ns |
1,319,878.41 ns |
1,234,615.08 ns |
154,314.25 |
2,213.40 |
1000.0000 |
833.3333 |
833.3333 |
27896893 B |
89,413.12 |
core-ubuntu-22.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.106 μs |
0.0072 μs |
0.0060 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.090 μs |
0.0049 μs |
0.0038 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.100 μs |
0.0016 μs |
0.0012 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
92.50 ns |
0.028 ns |
0.025 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
115.14 ns |
0.041 ns |
0.036 ns |
1.24 |
0.00 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
110.63 ns |
0.081 ns |
0.075 ns |
1.20 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
687.08 ns |
1.486 ns |
1.390 ns |
7.43 |
0.01 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
117.60 ns |
0.036 ns |
0.030 ns |
1.27 |
0.00 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
119.78 ns |
0.048 ns |
0.043 ns |
1.29 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
109.15 ns |
0.019 ns |
0.016 ns |
1.18 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
703.39 ns |
5.526 ns |
5.169 ns |
7.60 |
0.05 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
109.10 ns |
0.055 ns |
0.049 ns |
1.18 |
0.00 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
376.6 ns |
0.31 ns |
0.26 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
380.1 ns |
0.34 ns |
0.32 ns |
1.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
546.4 ns |
0.22 ns |
0.18 ns |
1.45 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
399.7 ns |
0.39 ns |
0.37 ns |
1.06 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
557.1 ns |
0.30 ns |
0.26 ns |
1.48 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.325 μs |
0.0021 μs |
0.0019 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,033.3 ns |
4.56 ns |
3.81 ns |
1.00 |
0.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
579.7 ns |
1.28 ns |
1.20 ns |
0.29 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
67,110.1 ns |
236.33 ns |
221.07 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
579.8 ns |
0.44 ns |
0.37 ns |
0.009 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,158,713.0 ns |
103,902.37 ns |
97,190.34 ns |
1.000 |
0.02 |
62.5000 |
62.5000 |
62.5000 |
2400870 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
611.7 ns |
0.50 ns |
0.44 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,081.6 ns |
7.28 ns |
6.81 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,065.9 ns |
6.90 ns |
6.46 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,320.2 ns |
8.33 ns |
7.39 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,974.4 ns |
13.04 ns |
11.56 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
464.6 ns |
0.59 ns |
0.46 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
472.3 ns |
0.80 ns |
0.71 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
723.8 ns |
1.64 ns |
1.45 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,230.9 ns |
22.05 ns |
20.62 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
609.49 ns |
1.166 ns |
0.910 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
606.56 ns |
1.161 ns |
1.029 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
819.35 ns |
1.049 ns |
0.819 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,289.36 ns |
16.462 ns |
15.399 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
51.28 ns |
0.720 ns |
0.674 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
51.31 ns |
0.976 ns |
0.913 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
272.80 ns |
0.360 ns |
0.337 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,574.02 ns |
12.048 ns |
11.270 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
576.5 ns |
1.12 ns |
0.99 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,347.9 ns |
23.56 ns |
22.04 ns |
12.75 |
0.04 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,165.2 ns |
1.96 ns |
1.74 ns |
2.02 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,154.6 ns |
1.98 ns |
1.85 ns |
2.00 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,658.4 ns |
37.09 ns |
34.69 ns |
16.75 |
0.06 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
578.7 ns |
0.50 ns |
0.45 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
556,099.9 ns |
1,155.05 ns |
1,080.43 ns |
960.87 |
1.94 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,886.9 ns |
12.09 ns |
11.31 ns |
3.26 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,888.0 ns |
5.09 ns |
4.51 ns |
3.26 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
742,939.7 ns |
946.54 ns |
839.09 ns |
1,283.71 |
1.69 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
581.4 ns |
0.70 ns |
0.62 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,228,374.9 ns |
262,032.30 ns |
245,105.18 ns |
101,875.66 |
421.58 |
333.3333 |
222.2222 |
222.2222 |
16001309 B |
51,286.25 |
| InvokeIntArrayFixed |
100000 |
60,415.8 ns |
486.60 ns |
431.36 ns |
103.92 |
0.72 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,587.3 ns |
464.55 ns |
434.54 ns |
104.21 |
0.73 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
84,448,109.7 ns |
565,888.85 ns |
501,645.73 ns |
145,254.82 |
846.97 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-22.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.107 μs |
0.0078 μs |
0.0073 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.103 μs |
0.0083 μs |
0.0078 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.102 μs |
0.0091 μs |
0.0085 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
93.74 ns |
0.013 ns |
0.011 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
110.31 ns |
0.056 ns |
0.052 ns |
1.18 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
101.04 ns |
0.020 ns |
0.019 ns |
1.08 |
- |
- |
0.00 |
| SetInstanceStringField |
682.38 ns |
1.053 ns |
0.985 ns |
7.28 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
106.03 ns |
0.022 ns |
0.018 ns |
1.13 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
107.20 ns |
0.033 ns |
0.029 ns |
1.14 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
95.48 ns |
0.045 ns |
0.042 ns |
1.02 |
- |
- |
0.00 |
| SetStaticStringField |
681.82 ns |
1.067 ns |
0.946 ns |
7.27 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
101.10 ns |
0.059 ns |
0.049 ns |
1.08 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
311.9 ns |
0.17 ns |
0.16 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
310.5 ns |
0.16 ns |
0.15 ns |
1.00 |
- |
- |
NA |
| InvokeStaticWithFeedback |
566.0 ns |
3.43 ns |
3.21 ns |
1.81 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
321.8 ns |
0.41 ns |
0.38 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
571.2 ns |
0.42 ns |
0.35 ns |
1.83 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.370 μs |
0.0047 μs |
0.0041 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,937.6 ns |
17.45 ns |
16.33 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
589.1 ns |
0.45 ns |
0.40 ns |
0.30 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
58,087.0 ns |
63.87 ns |
56.62 ns |
1.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
592.5 ns |
0.19 ns |
0.16 ns |
0.01 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,649,066.5 ns |
40,722.24 ns |
38,091.60 ns |
1.000 |
54.6875 |
54.6875 |
54.6875 |
2400712 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
624.0 ns |
0.31 ns |
0.27 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,078.0 ns |
4.93 ns |
4.62 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,112.4 ns |
8.35 ns |
7.81 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,362.3 ns |
10.27 ns |
9.60 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
6,029.9 ns |
58.62 ns |
54.84 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
463.8 ns |
2.35 ns |
2.19 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
459.1 ns |
3.33 ns |
3.12 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
706.8 ns |
3.44 ns |
2.69 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
5,336.2 ns |
60.77 ns |
56.84 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
596.58 ns |
3.086 ns |
2.887 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
603.24 ns |
1.214 ns |
1.076 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
812.05 ns |
5.668 ns |
5.302 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,835.93 ns |
48.200 ns |
45.087 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
42.72 ns |
0.849 ns |
0.795 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
44.20 ns |
0.012 ns |
0.009 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
258.45 ns |
0.683 ns |
0.639 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,951.21 ns |
34.721 ns |
32.478 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
563.7 ns |
0.91 ns |
0.81 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,020.0 ns |
10.53 ns |
8.79 ns |
12.45 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,180.5 ns |
2.10 ns |
1.96 ns |
2.09 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,174.1 ns |
1.54 ns |
1.36 ns |
2.08 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,124.6 ns |
21.48 ns |
20.09 ns |
16.19 |
0.04 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
563.4 ns |
0.72 ns |
0.64 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
556,491.9 ns |
891.42 ns |
833.83 ns |
987.80 |
1.79 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,887.1 ns |
3.60 ns |
3.00 ns |
3.35 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,884.3 ns |
4.10 ns |
3.83 ns |
3.34 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
752,448.9 ns |
1,241.32 ns |
1,036.56 ns |
1,335.63 |
2.29 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
553.6 ns |
0.47 ns |
0.40 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,427,071.2 ns |
200,734.71 ns |
187,767.37 ns |
105,536.34 |
336.45 |
333.3333 |
222.2222 |
222.2222 |
16001711 B |
51,287.54 |
| InvokeIntArrayFixed |
100000 |
61,687.4 ns |
241.80 ns |
214.35 ns |
111.43 |
0.38 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
61,878.5 ns |
220.15 ns |
183.83 ns |
111.77 |
0.33 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
81,448,863.4 ns |
615,635.50 ns |
545,744.84 ns |
147,120.41 |
957.91 |
666.6667 |
500.0000 |
500.0000 |
27894008 B |
89,403.87 |
core-ubuntu-22.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.071 μs |
0.0118 μs |
0.0105 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.063 μs |
0.0016 μs |
0.0012 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.072 μs |
0.0123 μs |
0.0115 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
93.90 ns |
0.055 ns |
0.051 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
112.48 ns |
0.046 ns |
0.041 ns |
1.20 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
105.42 ns |
0.016 ns |
0.013 ns |
1.12 |
- |
- |
0.00 |
| SetInstanceStringField |
675.35 ns |
1.287 ns |
1.204 ns |
7.19 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
108.64 ns |
0.080 ns |
0.071 ns |
1.16 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
111.24 ns |
0.032 ns |
0.027 ns |
1.18 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
99.05 ns |
0.043 ns |
0.040 ns |
1.05 |
- |
- |
0.00 |
| SetStaticStringField |
673.27 ns |
0.844 ns |
0.789 ns |
7.17 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
100.65 ns |
0.057 ns |
0.050 ns |
1.07 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
314.7 ns |
0.14 ns |
0.13 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
313.9 ns |
0.11 ns |
0.09 ns |
1.00 |
- |
- |
NA |
| InvokeStaticWithFeedback |
550.6 ns |
0.30 ns |
0.25 ns |
1.75 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
331.1 ns |
0.20 ns |
0.18 ns |
1.05 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
557.5 ns |
0.37 ns |
0.33 ns |
1.77 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.324 μs |
0.0013 μs |
0.0011 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,967.2 ns |
23.46 ns |
21.95 ns |
1.00 |
0.02 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
591.9 ns |
0.22 ns |
0.20 ns |
0.30 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,831.0 ns |
181.93 ns |
161.28 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
594.7 ns |
0.34 ns |
0.30 ns |
0.010 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,819,002.5 ns |
51,826.12 ns |
48,478.18 ns |
1.000 |
0.01 |
62.5000 |
62.5000 |
62.5000 |
2400808 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
613.7 ns |
0.48 ns |
0.42 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,034.8 ns |
7.01 ns |
6.21 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,046.1 ns |
10.50 ns |
9.82 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,309.5 ns |
9.45 ns |
8.84 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,076.2 ns |
24.37 ns |
22.79 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
466.0 ns |
3.67 ns |
2.87 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
457.4 ns |
0.31 ns |
0.28 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
681.8 ns |
1.36 ns |
1.06 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,148.9 ns |
23.80 ns |
22.27 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
585.47 ns |
0.823 ns |
0.770 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
583.67 ns |
0.516 ns |
0.431 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
802.75 ns |
7.669 ns |
7.174 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,204.14 ns |
33.588 ns |
31.418 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
45.95 ns |
0.914 ns |
1.189 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
46.09 ns |
0.911 ns |
0.761 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
262.16 ns |
0.381 ns |
0.357 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,411.39 ns |
15.883 ns |
14.857 ns |
- |
656 B |
core-ubuntu-22.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
569.8 ns |
0.58 ns |
0.45 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,357.9 ns |
34.37 ns |
32.15 ns |
12.91 |
0.06 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,171.9 ns |
1.76 ns |
1.56 ns |
2.06 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,184.4 ns |
2.17 ns |
2.03 ns |
2.08 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,083.1 ns |
24.74 ns |
23.15 ns |
15.94 |
0.04 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
552.0 ns |
0.41 ns |
0.37 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
563,888.1 ns |
1,723.89 ns |
1,612.53 ns |
1,021.48 |
2.90 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,916.1 ns |
11.30 ns |
10.57 ns |
3.47 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,851.7 ns |
5.47 ns |
4.85 ns |
3.35 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
740,550.1 ns |
1,485.67 ns |
1,240.61 ns |
1,341.50 |
2.33 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
549.9 ns |
0.93 ns |
0.78 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,026,350.4 ns |
300,777.93 ns |
281,347.86 ns |
107,340.30 |
516.63 |
333.3333 |
222.2222 |
222.2222 |
16001465 B |
51,286.75 |
| InvokeIntArrayFixed |
100000 |
61,020.7 ns |
589.11 ns |
522.23 ns |
110.97 |
0.93 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,609.5 ns |
592.16 ns |
553.90 ns |
110.22 |
0.99 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
85,079,820.0 ns |
727,010.74 ns |
644,476.09 ns |
154,718.92 |
1,151.88 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-22.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.079 μs |
0.0111 μs |
0.0103 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.074 μs |
0.0086 μs |
0.0080 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.078 μs |
0.0095 μs |
0.0089 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
94.08 ns |
0.046 ns |
0.041 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
119.49 ns |
0.019 ns |
0.017 ns |
1.27 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
109.61 ns |
0.025 ns |
0.024 ns |
1.17 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
667.67 ns |
1.592 ns |
1.489 ns |
7.10 |
0.02 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
109.50 ns |
0.123 ns |
0.109 ns |
1.16 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
113.31 ns |
0.077 ns |
0.072 ns |
1.20 |
0.00 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
98.90 ns |
0.032 ns |
0.030 ns |
1.05 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
661.54 ns |
1.312 ns |
1.227 ns |
7.03 |
0.01 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
110.75 ns |
0.042 ns |
0.037 ns |
1.18 |
0.00 |
0.0004 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
313.8 ns |
0.17 ns |
0.16 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
320.8 ns |
0.15 ns |
0.14 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
551.1 ns |
0.83 ns |
0.74 ns |
1.76 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
325.2 ns |
0.14 ns |
0.12 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
567.1 ns |
0.86 ns |
0.80 ns |
1.81 |
0.0038 |
312 B |
NA |
core-ubuntu-22.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
2.873 μs |
0.0568 μs |
0.0531 μs |
1.00 |
0.03 |
0.0076 |
680 B |
1.00 |
core-ubuntu-22.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,961.3 ns |
11.37 ns |
9.50 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
591.3 ns |
0.42 ns |
0.37 ns |
0.30 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
65,798.9 ns |
438.66 ns |
410.32 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
594.9 ns |
0.41 ns |
0.36 ns |
0.009 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,399,387.1 ns |
145,656.08 ns |
143,053.75 ns |
1.000 |
0.03 |
62.5000 |
62.5000 |
62.5000 |
2400682 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
617.7 ns |
0.57 ns |
0.50 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,038.9 ns |
1.35 ns |
1.13 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,033.9 ns |
7.60 ns |
6.74 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,314.9 ns |
4.30 ns |
3.59 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,872.3 ns |
74.34 ns |
58.04 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
455.5 ns |
0.39 ns |
0.35 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
455.9 ns |
0.38 ns |
0.35 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
694.6 ns |
6.02 ns |
5.33 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
5,267.6 ns |
50.93 ns |
47.64 ns |
0.0076 |
680 B |
core-ubuntu-22.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
585.12 ns |
1.663 ns |
1.298 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
589.17 ns |
1.313 ns |
1.025 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
800.41 ns |
7.239 ns |
6.771 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,397.58 ns |
42.387 ns |
33.093 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
42.47 ns |
0.518 ns |
0.485 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
41.97 ns |
0.167 ns |
0.156 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
255.88 ns |
0.685 ns |
0.535 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,700.70 ns |
42.096 ns |
35.152 ns |
- |
656 B |
core-ubuntu-22.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
533.0 ns |
0.45 ns |
0.38 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,183.0 ns |
25.16 ns |
23.54 ns |
13.48 |
0.04 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,206.8 ns |
1.61 ns |
1.26 ns |
2.26 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,205.4 ns |
2.37 ns |
2.10 ns |
2.26 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,936.2 ns |
8.33 ns |
6.96 ns |
16.76 |
0.02 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
539.4 ns |
0.56 ns |
0.50 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
584,932.7 ns |
1,438.49 ns |
1,345.57 ns |
1,084.45 |
2.60 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,922.4 ns |
7.80 ns |
6.91 ns |
3.56 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,943.1 ns |
9.14 ns |
8.55 ns |
3.60 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
762,256.0 ns |
737.09 ns |
615.50 ns |
1,413.21 |
1.67 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
532.0 ns |
0.69 ns |
0.64 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,656,039.9 ns |
433,450.87 ns |
405,450.22 ns |
112,133.61 |
749.54 |
250.0000 |
125.0000 |
125.0000 |
16001423 B |
46,515.76 |
| InvokeIntArrayFixed |
100000 |
60,267.5 ns |
369.89 ns |
346.00 ns |
113.28 |
0.64 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
59,880.3 ns |
476.48 ns |
445.70 ns |
112.56 |
0.82 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
86,171,373.1 ns |
473,798.06 ns |
443,191.00 ns |
161,973.65 |
828.67 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-22.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.124 μs |
0.0060 μs |
0.0050 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.145 μs |
0.0014 μs |
0.0011 μs |
1.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.124 μs |
0.0066 μs |
0.0058 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
105.5 ns |
0.03 ns |
0.03 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
144.2 ns |
0.03 ns |
0.03 ns |
1.37 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
116.2 ns |
0.03 ns |
0.02 ns |
1.10 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
714.6 ns |
2.29 ns |
2.14 ns |
6.78 |
0.02 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
129.4 ns |
0.05 ns |
0.04 ns |
1.23 |
0.00 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
155.4 ns |
0.04 ns |
0.03 ns |
1.47 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
116.3 ns |
0.02 ns |
0.02 ns |
1.10 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
719.0 ns |
1.35 ns |
1.27 ns |
6.82 |
0.01 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
151.7 ns |
0.04 ns |
0.03 ns |
1.44 |
0.00 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
374.8 ns |
0.21 ns |
0.19 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
349.4 ns |
0.14 ns |
0.12 ns |
0.93 |
- |
- |
NA |
| InvokeStaticWithFeedback |
525.1 ns |
0.33 ns |
0.29 ns |
1.40 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
398.1 ns |
0.21 ns |
0.20 ns |
1.06 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
546.2 ns |
0.51 ns |
0.45 ns |
1.46 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.333 μs |
0.0010 μs |
0.0009 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,976.8 ns |
3.37 ns |
2.63 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
589.7 ns |
0.18 ns |
0.16 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,669.9 ns |
446.60 ns |
417.75 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
590.2 ns |
0.50 ns |
0.44 ns |
0.010 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,125,496.4 ns |
70,674.01 ns |
62,650.67 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
621.5 ns |
0.32 ns |
0.28 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,038.6 ns |
5.35 ns |
5.00 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,038.8 ns |
3.88 ns |
3.63 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,250.9 ns |
4.28 ns |
4.01 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,747.1 ns |
8.16 ns |
7.63 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
446.1 ns |
1.65 ns |
1.54 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
430.0 ns |
1.17 ns |
1.04 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
632.3 ns |
0.30 ns |
0.25 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,015.0 ns |
3.20 ns |
2.99 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
616.25 ns |
0.471 ns |
0.393 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
611.62 ns |
0.795 ns |
0.621 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
829.12 ns |
4.683 ns |
4.380 ns |
0.0017 |
176 B |
| PredicateSustained |
False |
True |
True |
4,225.64 ns |
11.453 ns |
10.713 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
59.32 ns |
1.131 ns |
1.303 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
58.54 ns |
1.149 ns |
1.229 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
248.38 ns |
0.437 ns |
0.387 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,550.47 ns |
9.412 ns |
8.804 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
540.1 ns |
0.55 ns |
0.48 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,229.8 ns |
7.94 ns |
7.43 ns |
13.39 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,216.2 ns |
1.67 ns |
1.48 ns |
2.25 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,207.5 ns |
1.69 ns |
1.41 ns |
2.24 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,829.3 ns |
49.85 ns |
46.63 ns |
18.20 |
0.09 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
543.9 ns |
0.37 ns |
0.31 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
583,416.0 ns |
917.78 ns |
858.49 ns |
1,072.67 |
1.64 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,966.1 ns |
4.86 ns |
4.54 ns |
3.61 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,944.7 ns |
6.49 ns |
6.07 ns |
3.58 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
780,567.4 ns |
2,358.97 ns |
1,969.85 ns |
1,435.15 |
3.58 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
552.1 ns |
0.85 ns |
0.75 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,143,506.0 ns |
193,681.35 ns |
181,169.65 ns |
108,938.15 |
348.44 |
250.0000 |
125.0000 |
125.0000 |
16000746 B |
46,513.80 |
| InvokeIntArrayFixed |
100000 |
62,000.4 ns |
569.15 ns |
504.54 ns |
112.30 |
0.90 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
62,716.2 ns |
1,252.72 ns |
1,392.39 ns |
113.60 |
2.46 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
86,501,556.1 ns |
682,379.42 ns |
569,817.72 ns |
156,680.58 |
1,015.40 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-22.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.166 μs |
0.0095 μs |
0.0089 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.151 μs |
0.0105 μs |
0.0098 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.169 μs |
0.0012 μs |
0.0011 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
109.1 ns |
0.03 ns |
0.02 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
146.4 ns |
0.03 ns |
0.02 ns |
1.34 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
113.8 ns |
0.02 ns |
0.02 ns |
1.04 |
- |
- |
0.00 |
| SetInstanceStringField |
731.1 ns |
0.84 ns |
0.79 ns |
6.70 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
119.9 ns |
0.03 ns |
0.02 ns |
1.10 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
144.9 ns |
0.06 ns |
0.06 ns |
1.33 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
110.6 ns |
0.03 ns |
0.03 ns |
1.01 |
- |
- |
0.00 |
| SetStaticStringField |
723.0 ns |
0.95 ns |
0.89 ns |
6.63 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
146.3 ns |
0.07 ns |
0.06 ns |
1.34 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
306.9 ns |
0.13 ns |
0.11 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
274.3 ns |
0.08 ns |
0.07 ns |
0.89 |
- |
- |
NA |
| InvokeStaticWithFeedback |
553.4 ns |
0.31 ns |
0.28 ns |
1.80 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
321.0 ns |
0.10 ns |
0.10 ns |
1.05 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
549.0 ns |
0.64 ns |
0.56 ns |
1.79 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.362 μs |
0.0015 μs |
0.0013 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,957.4 ns |
14.00 ns |
12.41 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
605.6 ns |
0.29 ns |
0.26 ns |
0.31 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,276.0 ns |
175.97 ns |
164.61 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
601.5 ns |
0.34 ns |
0.30 ns |
0.010 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,935,727.9 ns |
168,756.10 ns |
180,567.13 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
635.0 ns |
0.56 ns |
0.50 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,068.4 ns |
5.21 ns |
4.88 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,048.7 ns |
6.20 ns |
5.80 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,272.9 ns |
3.63 ns |
3.40 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,789.5 ns |
54.07 ns |
50.57 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
430.5 ns |
2.90 ns |
2.71 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
434.0 ns |
1.43 ns |
1.33 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
623.8 ns |
1.56 ns |
1.22 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,622.4 ns |
51.58 ns |
48.25 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
609.26 ns |
1.176 ns |
0.982 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
617.19 ns |
1.345 ns |
1.192 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
815.74 ns |
9.737 ns |
9.108 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,827.10 ns |
32.162 ns |
30.085 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
51.62 ns |
0.976 ns |
0.959 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
51.24 ns |
0.950 ns |
0.889 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
240.42 ns |
0.297 ns |
0.248 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,619.58 ns |
19.079 ns |
17.846 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
542.0 ns |
0.43 ns |
0.36 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,124.1 ns |
25.00 ns |
23.38 ns |
13.14 |
0.04 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,180.7 ns |
2.01 ns |
1.88 ns |
2.18 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,196.5 ns |
1.46 ns |
1.29 ns |
2.21 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,939.5 ns |
19.84 ns |
18.56 ns |
16.49 |
0.03 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
544.4 ns |
0.62 ns |
0.55 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
563,992.3 ns |
1,242.72 ns |
1,162.44 ns |
1,036.07 |
2.30 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,877.1 ns |
7.15 ns |
6.69 ns |
3.45 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,884.5 ns |
8.76 ns |
7.77 ns |
3.46 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
740,060.0 ns |
1,124.66 ns |
996.99 ns |
1,359.51 |
2.21 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
533.9 ns |
0.51 ns |
0.43 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,476,939.8 ns |
289,836.52 ns |
271,113.27 ns |
111,410.72 |
499.42 |
333.3333 |
222.2222 |
222.2222 |
16001191 B |
46,515.09 |
| InvokeIntArrayFixed |
100000 |
60,140.6 ns |
304.07 ns |
284.42 ns |
112.65 |
0.52 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,042.7 ns |
343.73 ns |
321.52 ns |
112.47 |
0.59 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,833,969.6 ns |
492,128.20 ns |
436,258.83 ns |
158,908.87 |
799.20 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-22.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.102 μs |
0.0082 μs |
0.0072 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.122 μs |
0.0085 μs |
0.0079 μs |
1.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.106 μs |
0.0088 μs |
0.0082 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
109.0 ns |
0.08 ns |
0.07 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
146.6 ns |
0.26 ns |
0.23 ns |
1.35 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
115.2 ns |
0.03 ns |
0.03 ns |
1.06 |
- |
- |
0.00 |
| SetInstanceStringField |
717.4 ns |
1.52 ns |
1.42 ns |
6.58 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
123.2 ns |
0.06 ns |
0.05 ns |
1.13 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
143.0 ns |
0.09 ns |
0.08 ns |
1.31 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
115.7 ns |
0.05 ns |
0.05 ns |
1.06 |
- |
- |
0.00 |
| SetStaticStringField |
696.0 ns |
1.33 ns |
1.18 ns |
6.39 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
158.0 ns |
0.05 ns |
0.04 ns |
1.45 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
316.9 ns |
0.12 ns |
0.11 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
275.1 ns |
0.12 ns |
0.11 ns |
0.87 |
- |
- |
NA |
| InvokeStaticWithFeedback |
524.3 ns |
0.60 ns |
0.53 ns |
1.65 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
319.3 ns |
0.09 ns |
0.08 ns |
1.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
544.4 ns |
0.45 ns |
0.40 ns |
1.72 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.288 μs |
0.0023 μs |
0.0021 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,932.0 ns |
17.02 ns |
15.92 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
596.9 ns |
0.97 ns |
0.91 ns |
0.31 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,556.3 ns |
169.80 ns |
158.83 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
591.7 ns |
0.53 ns |
0.47 ns |
0.010 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,928,063.6 ns |
34,199.35 ns |
31,990.10 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
626.5 ns |
0.25 ns |
0.22 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,016.1 ns |
4.94 ns |
4.38 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,009.8 ns |
5.27 ns |
4.93 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,240.4 ns |
6.11 ns |
5.71 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,596.2 ns |
26.04 ns |
24.36 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
428.3 ns |
1.10 ns |
1.03 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
433.1 ns |
0.53 ns |
0.50 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
613.0 ns |
0.94 ns |
0.73 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,963.8 ns |
7.79 ns |
7.29 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
592.40 ns |
1.099 ns |
0.974 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
594.93 ns |
1.537 ns |
1.438 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
786.29 ns |
5.909 ns |
5.528 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,330.33 ns |
33.907 ns |
31.716 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
51.56 ns |
1.107 ns |
1.088 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
51.46 ns |
1.004 ns |
0.939 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
237.55 ns |
0.534 ns |
0.446 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,507.48 ns |
12.013 ns |
11.237 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
554.4 ns |
0.39 ns |
0.34 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,131.7 ns |
11.68 ns |
10.35 ns |
12.86 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,207.2 ns |
1.82 ns |
1.62 ns |
2.18 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,215.6 ns |
1.24 ns |
1.10 ns |
2.19 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,172.9 ns |
33.45 ns |
31.28 ns |
16.55 |
0.06 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
564.1 ns |
0.36 ns |
0.28 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
564,317.4 ns |
1,094.45 ns |
1,023.75 ns |
1,000.33 |
1.82 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,912.4 ns |
7.55 ns |
6.70 ns |
3.39 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,912.8 ns |
9.01 ns |
8.43 ns |
3.39 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
747,061.7 ns |
1,451.44 ns |
1,133.19 ns |
1,324.27 |
2.03 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
561.0 ns |
0.27 ns |
0.24 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,364,161.3 ns |
202,013.84 ns |
188,963.87 ns |
107,593.00 |
329.18 |
333.3333 |
222.2222 |
222.2222 |
16001706 B |
46,516.59 |
| InvokeIntArrayFixed |
100000 |
60,189.1 ns |
242.07 ns |
214.59 ns |
107.28 |
0.37 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,458.5 ns |
391.39 ns |
346.96 ns |
107.76 |
0.60 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,758,599.3 ns |
411,995.95 ns |
344,035.28 ns |
151,073.62 |
594.07 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-22.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.120 μs |
0.0097 μs |
0.0086 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.136 μs |
0.0123 μs |
0.0115 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.129 μs |
0.0144 μs |
0.0135 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
110.5 ns |
0.04 ns |
0.04 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
152.4 ns |
0.11 ns |
0.09 ns |
1.38 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
116.6 ns |
0.05 ns |
0.05 ns |
1.06 |
- |
- |
0.00 |
| SetInstanceStringField |
702.8 ns |
0.94 ns |
0.84 ns |
6.36 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
122.6 ns |
0.05 ns |
0.04 ns |
1.11 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
141.8 ns |
0.05 ns |
0.05 ns |
1.28 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
113.4 ns |
0.04 ns |
0.04 ns |
1.03 |
- |
- |
0.00 |
| SetStaticStringField |
695.8 ns |
1.02 ns |
0.96 ns |
6.30 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
155.9 ns |
0.09 ns |
0.08 ns |
1.41 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
307.0 ns |
0.14 ns |
0.14 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
270.5 ns |
0.10 ns |
0.10 ns |
0.88 |
- |
- |
NA |
| InvokeStaticWithFeedback |
530.9 ns |
1.04 ns |
0.92 ns |
1.73 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
316.5 ns |
0.13 ns |
0.12 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
559.2 ns |
0.38 ns |
0.31 ns |
1.82 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.319 μs |
0.0028 μs |
0.0026 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,976.1 ns |
8.65 ns |
7.23 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
601.8 ns |
0.71 ns |
0.67 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
62,248.1 ns |
145.05 ns |
128.59 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
604.1 ns |
0.18 ns |
0.16 ns |
0.010 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,561,141.3 ns |
65,933.39 ns |
61,674.14 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
642.4 ns |
0.38 ns |
0.34 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,038.0 ns |
0.86 ns |
0.72 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,049.2 ns |
6.29 ns |
5.88 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,282.5 ns |
9.36 ns |
8.75 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,555.6 ns |
9.54 ns |
7.97 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
437.2 ns |
0.24 ns |
0.22 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
449.5 ns |
0.35 ns |
0.31 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
635.0 ns |
5.49 ns |
4.86 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,947.3 ns |
8.47 ns |
6.61 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
595.02 ns |
0.795 ns |
0.620 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
600.45 ns |
1.339 ns |
1.045 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
785.20 ns |
6.639 ns |
6.210 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,199.14 ns |
82.594 ns |
113.055 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
50.42 ns |
0.023 ns |
0.022 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
49.81 ns |
0.248 ns |
0.220 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
238.82 ns |
0.335 ns |
0.313 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,478.40 ns |
67.975 ns |
63.583 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
544.7 ns |
0.46 ns |
0.41 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,063.7 ns |
9.22 ns |
8.18 ns |
12.97 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,187.5 ns |
1.18 ns |
1.05 ns |
2.18 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,221.9 ns |
0.91 ns |
0.81 ns |
2.24 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,264.6 ns |
27.18 ns |
25.43 ns |
17.01 |
0.05 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
543.3 ns |
0.47 ns |
0.42 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
559,753.4 ns |
857.68 ns |
760.31 ns |
1,030.27 |
1.55 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,724.4 ns |
7.90 ns |
7.39 ns |
3.17 |
0.01 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,755.2 ns |
7.25 ns |
6.06 ns |
3.23 |
0.01 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
748,066.6 ns |
584.92 ns |
518.52 ns |
1,376.87 |
1.38 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
543.8 ns |
0.45 ns |
0.40 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,016,858.1 ns |
153,287.07 ns |
128,001.64 ns |
108,522.75 |
239.66 |
333.3333 |
222.2222 |
222.2222 |
16001988 B |
46,517.41 |
| InvokeIntArrayFixed |
100000 |
44,492.1 ns |
294.49 ns |
275.47 ns |
81.81 |
0.49 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
44,473.9 ns |
307.86 ns |
272.91 ns |
81.78 |
0.49 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
85,653,600.1 ns |
497,227.16 ns |
465,106.59 ns |
157,503.54 |
835.84 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-22.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.143 μs |
0.0097 μs |
0.0091 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.148 μs |
0.0103 μs |
0.0096 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.154 μs |
0.0087 μs |
0.0082 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
108.1 ns |
0.03 ns |
0.03 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
154.8 ns |
0.07 ns |
0.06 ns |
1.43 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
111.6 ns |
0.03 ns |
0.03 ns |
1.03 |
- |
- |
0.00 |
| SetInstanceStringField |
719.8 ns |
0.69 ns |
0.57 ns |
6.66 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
121.5 ns |
0.06 ns |
0.05 ns |
1.12 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
146.7 ns |
0.08 ns |
0.07 ns |
1.36 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
113.5 ns |
0.03 ns |
0.02 ns |
1.05 |
- |
- |
0.00 |
| SetStaticStringField |
707.6 ns |
0.89 ns |
0.79 ns |
6.54 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
148.8 ns |
0.07 ns |
0.06 ns |
1.38 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
305.1 ns |
0.08 ns |
0.07 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
268.1 ns |
0.19 ns |
0.18 ns |
0.88 |
- |
- |
NA |
| InvokeStaticWithFeedback |
527.0 ns |
0.46 ns |
0.43 ns |
1.73 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
309.6 ns |
0.13 ns |
0.12 ns |
1.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
543.8 ns |
1.09 ns |
1.01 ns |
1.78 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.333 μs |
0.0022 μs |
0.0020 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,925.0 ns |
6.11 ns |
4.77 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
600.6 ns |
0.47 ns |
0.42 ns |
0.31 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,316.9 ns |
166.29 ns |
147.41 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
587.1 ns |
0.36 ns |
0.32 ns |
0.010 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,210,608.4 ns |
45,476.43 ns |
42,538.68 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400822 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
620.8 ns |
0.32 ns |
0.29 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,040.7 ns |
7.53 ns |
7.04 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,039.7 ns |
5.69 ns |
5.32 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,259.7 ns |
5.96 ns |
5.58 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,749.4 ns |
13.18 ns |
12.33 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
430.9 ns |
0.17 ns |
0.15 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
430.3 ns |
0.21 ns |
0.19 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
625.7 ns |
0.79 ns |
0.62 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,111.0 ns |
15.60 ns |
14.59 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
609.78 ns |
0.789 ns |
0.659 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
610.02 ns |
0.452 ns |
0.401 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
801.56 ns |
1.982 ns |
1.655 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,240.69 ns |
23.730 ns |
22.197 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
52.54 ns |
0.022 ns |
0.021 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
51.20 ns |
0.031 ns |
0.026 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
243.99 ns |
0.407 ns |
0.381 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,535.77 ns |
27.674 ns |
25.886 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
533.3 ns |
0.72 ns |
0.63 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,965.8 ns |
7.40 ns |
6.56 ns |
13.06 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,191.3 ns |
2.00 ns |
1.77 ns |
2.23 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,204.4 ns |
1.19 ns |
0.99 ns |
2.26 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,871.0 ns |
15.98 ns |
14.16 ns |
16.63 |
0.03 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
532.1 ns |
0.30 ns |
0.27 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
567,181.4 ns |
1,224.47 ns |
1,145.37 ns |
1,065.88 |
2.15 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,741.5 ns |
13.67 ns |
12.78 ns |
3.27 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,747.5 ns |
7.17 ns |
6.36 ns |
3.28 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
735,090.5 ns |
716.46 ns |
635.13 ns |
1,381.42 |
1.33 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
534.4 ns |
0.24 ns |
0.22 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,441,632.4 ns |
185,331.04 ns |
173,358.77 ns |
111,240.55 |
317.15 |
333.3333 |
222.2222 |
222.2222 |
16001846 B |
46,516.99 |
| InvokeIntArrayFixed |
100000 |
45,333.5 ns |
282.57 ns |
250.49 ns |
84.84 |
0.45 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
45,173.9 ns |
327.68 ns |
306.51 ns |
84.54 |
0.56 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
86,745,816.2 ns |
686,069.35 ns |
641,749.70 ns |
162,338.28 |
1,164.75 |
1142.8571 |
1000.0000 |
857.1429 |
27894739 B |
81,089.36 |
core-ubuntu-22.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.115 μs |
0.0101 μs |
0.0095 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.103 μs |
0.0103 μs |
0.0096 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.112 μs |
0.0087 μs |
0.0082 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
108.0 ns |
0.03 ns |
0.03 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
146.1 ns |
0.03 ns |
0.03 ns |
1.35 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
115.2 ns |
0.03 ns |
0.03 ns |
1.07 |
- |
- |
0.00 |
| SetInstanceStringField |
714.5 ns |
1.21 ns |
1.14 ns |
6.61 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
122.0 ns |
0.05 ns |
0.04 ns |
1.13 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
148.1 ns |
0.10 ns |
0.08 ns |
1.37 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
117.3 ns |
0.04 ns |
0.04 ns |
1.09 |
- |
- |
0.00 |
| SetStaticStringField |
710.2 ns |
1.76 ns |
1.64 ns |
6.57 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
156.8 ns |
0.05 ns |
0.04 ns |
1.45 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
305.8 ns |
0.07 ns |
0.07 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
270.2 ns |
0.16 ns |
0.15 ns |
0.88 |
- |
- |
NA |
| InvokeStaticWithFeedback |
519.6 ns |
0.75 ns |
0.67 ns |
1.70 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
314.0 ns |
0.14 ns |
0.13 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
546.2 ns |
0.53 ns |
0.47 ns |
1.79 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.334 μs |
0.0017 μs |
0.0015 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,904.9 ns |
3.75 ns |
2.93 ns |
1.00 |
0.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
590.2 ns |
0.30 ns |
0.26 ns |
0.31 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,113.4 ns |
56.23 ns |
49.84 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
579.9 ns |
0.25 ns |
0.22 ns |
0.010 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,201,509.6 ns |
106,659.14 ns |
94,550.55 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
623.0 ns |
0.39 ns |
0.35 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,022.3 ns |
6.19 ns |
5.79 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,040.9 ns |
4.04 ns |
3.59 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,229.7 ns |
6.29 ns |
5.89 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,709.3 ns |
15.05 ns |
14.08 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
430.1 ns |
0.61 ns |
0.57 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
425.3 ns |
0.42 ns |
0.39 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
616.4 ns |
0.48 ns |
0.38 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,831.9 ns |
13.03 ns |
11.55 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
595.47 ns |
0.436 ns |
0.387 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
596.01 ns |
0.394 ns |
0.329 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
787.76 ns |
2.073 ns |
1.618 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,091.35 ns |
16.506 ns |
13.783 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
52.44 ns |
1.022 ns |
1.217 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
52.62 ns |
1.002 ns |
1.114 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
238.65 ns |
0.582 ns |
0.516 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,450.26 ns |
14.845 ns |
13.886 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
544.7 ns |
0.34 ns |
0.30 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,159.9 ns |
8.91 ns |
7.90 ns |
13.15 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,200.9 ns |
1.42 ns |
1.26 ns |
2.20 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,209.6 ns |
1.43 ns |
1.26 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,014.2 ns |
21.08 ns |
18.69 ns |
16.55 |
0.03 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
550.7 ns |
0.28 ns |
0.22 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
558,875.2 ns |
1,559.78 ns |
1,459.02 ns |
1,014.81 |
2.60 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,627.0 ns |
10.57 ns |
9.88 ns |
2.95 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,735.6 ns |
12.05 ns |
10.68 ns |
3.15 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
733,333.7 ns |
1,641.80 ns |
1,370.97 ns |
1,331.59 |
2.45 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
549.5 ns |
0.21 ns |
0.17 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,911,279.2 ns |
242,600.36 ns |
226,928.52 ns |
107,216.43 |
401.33 |
333.3333 |
222.2222 |
222.2222 |
16000844 B |
46,514.08 |
| InvokeIntArrayFixed |
100000 |
44,835.1 ns |
208.29 ns |
184.65 ns |
81.60 |
0.33 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
44,401.9 ns |
477.72 ns |
446.86 ns |
80.81 |
0.79 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,985,503.2 ns |
720,749.63 ns |
638,925.77 ns |
154,670.58 |
1,124.78 |
1000.0000 |
833.3333 |
833.3333 |
27895404 B |
81,091.29 |
core-ubuntu-22.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.110 μs |
0.0020 μs |
0.0016 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.110 μs |
0.0073 μs |
0.0068 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.130 μs |
0.0092 μs |
0.0086 μs |
1.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
106.3 ns |
0.04 ns |
0.03 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
146.4 ns |
0.06 ns |
0.05 ns |
1.38 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
115.1 ns |
0.02 ns |
0.02 ns |
1.08 |
- |
- |
0.00 |
| SetInstanceStringField |
709.4 ns |
1.25 ns |
1.17 ns |
6.67 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
123.4 ns |
0.03 ns |
0.03 ns |
1.16 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
145.0 ns |
0.04 ns |
0.04 ns |
1.36 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
116.4 ns |
0.03 ns |
0.02 ns |
1.10 |
- |
- |
0.00 |
| SetStaticStringField |
697.1 ns |
1.65 ns |
1.46 ns |
6.56 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
156.9 ns |
0.04 ns |
0.04 ns |
1.48 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
311.4 ns |
0.12 ns |
0.11 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
279.3 ns |
0.14 ns |
0.13 ns |
0.90 |
- |
- |
NA |
| InvokeStaticWithFeedback |
537.5 ns |
0.34 ns |
0.30 ns |
1.73 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
311.9 ns |
0.12 ns |
0.11 ns |
1.00 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
547.1 ns |
1.44 ns |
1.35 ns |
1.76 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.301 μs |
0.0019 μs |
0.0017 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,947.5 ns |
8.59 ns |
7.17 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
600.0 ns |
0.33 ns |
0.29 ns |
0.31 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,455.5 ns |
311.95 ns |
291.80 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
601.1 ns |
1.33 ns |
1.24 ns |
0.010 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,873,066.6 ns |
89,588.38 ns |
79,417.77 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
636.1 ns |
0.57 ns |
0.53 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,023.8 ns |
7.09 ns |
6.64 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,006.9 ns |
6.58 ns |
6.16 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,240.9 ns |
5.08 ns |
4.50 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,570.7 ns |
30.94 ns |
24.16 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
433.0 ns |
0.42 ns |
0.39 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
441.8 ns |
0.29 ns |
0.25 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
631.4 ns |
1.72 ns |
1.44 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,050.8 ns |
25.64 ns |
22.72 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
605.41 ns |
0.493 ns |
0.385 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
611.35 ns |
6.789 ns |
6.350 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
793.48 ns |
5.149 ns |
4.816 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,010.69 ns |
51.266 ns |
47.954 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
52.31 ns |
0.471 ns |
0.441 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
50.25 ns |
0.935 ns |
0.961 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
236.98 ns |
0.432 ns |
0.404 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,400.45 ns |
53.981 ns |
47.853 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
529.8 ns |
0.38 ns |
0.34 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,179.7 ns |
20.84 ns |
19.50 ns |
13.55 |
0.04 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,210.4 ns |
2.65 ns |
2.48 ns |
2.28 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,214.8 ns |
3.87 ns |
3.62 ns |
2.29 |
0.01 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,163.9 ns |
20.15 ns |
18.84 ns |
17.30 |
0.04 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
535.5 ns |
0.49 ns |
0.43 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
570,804.9 ns |
1,580.91 ns |
1,478.79 ns |
1,066.00 |
2.80 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,943.9 ns |
10.62 ns |
9.93 ns |
3.63 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,962.0 ns |
12.95 ns |
12.11 ns |
3.66 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
767,537.8 ns |
431.59 ns |
360.40 ns |
1,433.40 |
1.29 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
529.7 ns |
0.56 ns |
0.49 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,899,444.8 ns |
248,688.31 ns |
232,623.20 ns |
111,193.79 |
436.97 |
250.0000 |
125.0000 |
125.0000 |
16000539 B |
46,513.19 |
| InvokeIntArrayFixed |
100000 |
61,419.3 ns |
624.87 ns |
584.51 ns |
115.95 |
1.07 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
61,284.6 ns |
573.62 ns |
536.57 ns |
115.70 |
0.99 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,578,906.9 ns |
762,378.80 ns |
675,828.95 ns |
159,672.96 |
1,241.01 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-22.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.139 μs |
0.0009 μs |
0.0008 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.152 μs |
0.0014 μs |
0.0011 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.154 μs |
0.0097 μs |
0.0091 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
106.6 ns |
0.02 ns |
0.02 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
144.8 ns |
0.04 ns |
0.04 ns |
1.36 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
115.7 ns |
0.06 ns |
0.06 ns |
1.09 |
- |
- |
0.00 |
| SetInstanceStringField |
725.4 ns |
1.34 ns |
1.26 ns |
6.81 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
127.3 ns |
0.05 ns |
0.04 ns |
1.19 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
153.7 ns |
0.06 ns |
0.05 ns |
1.44 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
113.4 ns |
0.03 ns |
0.03 ns |
1.06 |
- |
- |
0.00 |
| SetStaticStringField |
715.5 ns |
1.43 ns |
1.34 ns |
6.71 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
149.1 ns |
0.05 ns |
0.05 ns |
1.40 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
380.8 ns |
0.20 ns |
0.19 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
355.8 ns |
0.13 ns |
0.12 ns |
0.93 |
- |
- |
NA |
| InvokeStaticWithFeedback |
540.6 ns |
0.32 ns |
0.29 ns |
1.42 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
387.0 ns |
0.25 ns |
0.23 ns |
1.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
535.9 ns |
0.67 ns |
0.52 ns |
1.41 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.322 μs |
0.0015 μs |
0.0012 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,975.4 ns |
2.16 ns |
1.80 ns |
1.00 |
0.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
588.8 ns |
0.84 ns |
0.79 ns |
0.30 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
61,514.9 ns |
266.95 ns |
222.92 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
593.6 ns |
0.40 ns |
0.35 ns |
0.010 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,529,449.8 ns |
162,745.04 ns |
159,837.39 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400822 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
625.1 ns |
0.40 ns |
0.36 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,028.4 ns |
5.40 ns |
5.05 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,037.3 ns |
6.26 ns |
5.55 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,263.6 ns |
3.44 ns |
3.05 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,709.6 ns |
11.53 ns |
10.79 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
437.3 ns |
1.05 ns |
0.98 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
441.6 ns |
0.68 ns |
0.64 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
639.9 ns |
0.56 ns |
0.44 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,938.7 ns |
9.20 ns |
8.15 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
611.05 ns |
0.645 ns |
0.539 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
611.34 ns |
0.416 ns |
0.325 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
806.10 ns |
5.335 ns |
4.990 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,238.43 ns |
12.969 ns |
12.131 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
59.07 ns |
1.151 ns |
1.231 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
58.85 ns |
1.174 ns |
1.305 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
251.10 ns |
1.798 ns |
1.682 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,668.78 ns |
16.172 ns |
15.127 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
530.8 ns |
0.35 ns |
0.31 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,094.0 ns |
9.57 ns |
8.95 ns |
13.37 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,167.1 ns |
0.96 ns |
0.80 ns |
2.20 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,171.3 ns |
1.18 ns |
1.04 ns |
2.21 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,495.6 ns |
37.08 ns |
32.87 ns |
17.89 |
0.06 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
535.0 ns |
0.27 ns |
0.24 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
549,057.6 ns |
995.90 ns |
931.57 ns |
1,026.28 |
1.74 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,877.3 ns |
5.90 ns |
5.52 ns |
3.51 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,872.1 ns |
4.88 ns |
4.33 ns |
3.50 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
750,399.6 ns |
964.82 ns |
753.27 ns |
1,402.63 |
1.48 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
530.9 ns |
0.40 ns |
0.36 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,776,890.8 ns |
170,353.44 ns |
159,348.72 ns |
110,701.75 |
299.48 |
333.3333 |
222.2222 |
222.2222 |
16001764 B |
46,516.76 |
| InvokeIntArrayFixed |
100000 |
60,597.9 ns |
114.50 ns |
95.62 ns |
114.13 |
0.19 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,677.0 ns |
348.31 ns |
308.76 ns |
114.28 |
0.57 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
87,149,850.3 ns |
601,360.06 ns |
562,512.58 ns |
164,140.04 |
1,031.55 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-22.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.125 μs |
0.0134 μs |
0.0125 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.148 μs |
0.0135 μs |
0.0126 μs |
1.02 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.138 μs |
0.0123 μs |
0.0115 μs |
1.01 |
0.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
106.01 ns |
0.022 ns |
0.019 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
133.65 ns |
0.040 ns |
0.036 ns |
1.26 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
110.40 ns |
0.011 ns |
0.009 ns |
1.04 |
- |
- |
0.00 |
| SetInstanceStringField |
722.80 ns |
0.987 ns |
0.923 ns |
6.82 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
110.75 ns |
0.017 ns |
0.015 ns |
1.04 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
134.06 ns |
0.044 ns |
0.037 ns |
1.26 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
99.83 ns |
0.019 ns |
0.018 ns |
0.94 |
- |
- |
0.00 |
| SetStaticStringField |
709.55 ns |
1.370 ns |
1.281 ns |
6.69 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
154.14 ns |
0.032 ns |
0.027 ns |
1.45 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
301.6 ns |
0.08 ns |
0.07 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
265.1 ns |
0.13 ns |
0.12 ns |
0.88 |
- |
- |
NA |
| InvokeStaticWithFeedback |
536.1 ns |
0.30 ns |
0.27 ns |
1.78 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
312.8 ns |
0.19 ns |
0.16 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
533.0 ns |
0.24 ns |
0.22 ns |
1.77 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.295 μs |
0.0019 μs |
0.0018 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,882.5 ns |
2.44 ns |
2.28 ns |
1.00 |
0.0095 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
575.5 ns |
0.25 ns |
0.22 ns |
0.31 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
57,539.3 ns |
73.65 ns |
61.50 ns |
1.00 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
575.9 ns |
0.17 ns |
0.14 ns |
0.01 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,966,322.6 ns |
59,057.36 ns |
55,242.29 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
616.3 ns |
0.33 ns |
0.27 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,002.8 ns |
8.00 ns |
7.48 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,001.8 ns |
7.00 ns |
6.55 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,210.3 ns |
7.84 ns |
7.34 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,939.7 ns |
30.49 ns |
27.03 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
419.3 ns |
1.66 ns |
1.55 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
416.3 ns |
0.98 ns |
0.91 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
624.1 ns |
0.78 ns |
0.61 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,991.4 ns |
16.70 ns |
15.62 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
570.80 ns |
1.636 ns |
1.530 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
582.80 ns |
1.196 ns |
1.118 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
765.28 ns |
5.663 ns |
5.020 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,142.80 ns |
21.510 ns |
20.120 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
51.51 ns |
0.979 ns |
0.916 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
50.70 ns |
0.982 ns |
1.009 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
239.94 ns |
0.409 ns |
0.382 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,548.51 ns |
18.384 ns |
17.197 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
531.4 ns |
0.41 ns |
0.36 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,053.0 ns |
9.02 ns |
8.43 ns |
13.27 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,182.0 ns |
1.78 ns |
1.58 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,186.9 ns |
1.75 ns |
1.55 ns |
2.23 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,966.2 ns |
20.60 ns |
18.26 ns |
16.87 |
0.04 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
528.4 ns |
0.48 ns |
0.43 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
555,696.1 ns |
1,609.98 ns |
1,427.21 ns |
1,051.65 |
2.74 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,910.8 ns |
9.58 ns |
8.96 ns |
3.62 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,887.6 ns |
4.78 ns |
4.24 ns |
3.57 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
724,760.3 ns |
1,481.47 ns |
1,237.09 ns |
1,371.61 |
2.50 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
532.3 ns |
0.41 ns |
0.36 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,797,488.5 ns |
304,468.82 ns |
284,800.32 ns |
110,460.56 |
523.18 |
333.3333 |
222.2222 |
222.2222 |
16002165 B |
46,517.92 |
| InvokeIntArrayFixed |
100000 |
60,604.4 ns |
433.72 ns |
384.48 ns |
113.86 |
0.70 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,438.7 ns |
573.88 ns |
536.81 ns |
113.54 |
0.98 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,300,949.8 ns |
727,378.40 ns |
680,390.21 ns |
158,372.92 |
1,242.18 |
1000.0000 |
833.3333 |
833.3333 |
27895029 B |
81,090.20 |
core-ubuntu-22.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.099 μs |
0.0112 μs |
0.0105 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.104 μs |
0.0077 μs |
0.0072 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.105 μs |
0.0019 μs |
0.0016 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
105.2 ns |
0.03 ns |
0.02 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
151.2 ns |
0.02 ns |
0.02 ns |
1.44 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
120.0 ns |
0.05 ns |
0.04 ns |
1.14 |
- |
- |
0.00 |
| SetInstanceStringField |
706.2 ns |
1.41 ns |
1.32 ns |
6.71 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
124.9 ns |
0.08 ns |
0.07 ns |
1.19 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
148.0 ns |
0.02 ns |
0.02 ns |
1.41 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
118.1 ns |
0.03 ns |
0.03 ns |
1.12 |
- |
- |
0.00 |
| SetStaticStringField |
714.7 ns |
0.85 ns |
0.75 ns |
6.79 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
151.5 ns |
0.03 ns |
0.02 ns |
1.44 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
319.1 ns |
0.10 ns |
0.09 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
271.9 ns |
0.11 ns |
0.10 ns |
0.85 |
- |
- |
NA |
| InvokeStaticWithFeedback |
538.9 ns |
0.55 ns |
0.49 ns |
1.69 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
313.0 ns |
0.14 ns |
0.13 ns |
0.98 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
523.2 ns |
0.39 ns |
0.35 ns |
1.64 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.296 μs |
0.0018 μs |
0.0015 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,884.5 ns |
3.63 ns |
3.40 ns |
1.00 |
0.0095 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
584.5 ns |
0.22 ns |
0.19 ns |
0.31 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
55,874.9 ns |
126.49 ns |
118.32 ns |
1.00 |
0.3052 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
582.2 ns |
0.30 ns |
0.27 ns |
0.01 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,904,658.2 ns |
41,401.34 ns |
32,323.44 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
615.9 ns |
0.34 ns |
0.30 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
997.2 ns |
5.45 ns |
4.83 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,010.3 ns |
5.03 ns |
4.71 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,197.6 ns |
5.01 ns |
4.44 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,425.8 ns |
8.75 ns |
8.18 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
426.2 ns |
2.81 ns |
2.63 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
417.1 ns |
0.36 ns |
0.32 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
628.7 ns |
0.70 ns |
0.62 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,799.6 ns |
15.13 ns |
14.15 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
582.50 ns |
0.586 ns |
0.457 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
580.05 ns |
0.735 ns |
0.651 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
768.20 ns |
0.872 ns |
0.816 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
3,987.03 ns |
14.250 ns |
13.330 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
50.94 ns |
0.977 ns |
1.086 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
51.22 ns |
0.983 ns |
1.171 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
240.52 ns |
0.489 ns |
0.457 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,542.65 ns |
31.239 ns |
29.221 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
550.0 ns |
1.03 ns |
0.91 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,993.7 ns |
16.66 ns |
15.59 ns |
12.72 |
0.03 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,197.0 ns |
2.75 ns |
2.44 ns |
2.18 |
0.01 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,200.6 ns |
2.04 ns |
1.91 ns |
2.18 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,940.8 ns |
43.33 ns |
40.53 ns |
16.26 |
0.08 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
548.8 ns |
0.32 ns |
0.29 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
556,464.8 ns |
1,306.80 ns |
1,222.38 ns |
1,014.03 |
2.22 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,920.8 ns |
3.89 ns |
3.45 ns |
3.50 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,928.4 ns |
2.77 ns |
2.45 ns |
3.51 |
0.00 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
742,130.6 ns |
2,534.59 ns |
2,116.49 ns |
1,352.36 |
3.78 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
551.5 ns |
0.68 ns |
0.60 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,944,290.4 ns |
213,233.56 ns |
199,458.80 ns |
105,065.09 |
367.33 |
333.3333 |
222.2222 |
222.2222 |
16001736 B |
46,516.67 |
| InvokeIntArrayFixed |
100000 |
60,745.6 ns |
257.88 ns |
228.61 ns |
110.14 |
0.42 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,777.1 ns |
171.27 ns |
151.83 ns |
110.20 |
0.29 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
85,717,056.9 ns |
736,796.44 ns |
689,199.85 ns |
155,422.91 |
1,221.22 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-22.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.102 μs |
0.0071 μs |
0.0067 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.107 μs |
0.0111 μs |
0.0104 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.111 μs |
0.0079 μs |
0.0074 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
106.4 ns |
0.05 ns |
0.04 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
147.2 ns |
0.06 ns |
0.05 ns |
1.38 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
117.7 ns |
0.04 ns |
0.04 ns |
1.11 |
- |
- |
0.00 |
| SetInstanceStringField |
712.8 ns |
0.82 ns |
0.76 ns |
6.70 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
121.6 ns |
0.04 ns |
0.04 ns |
1.14 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
145.1 ns |
0.04 ns |
0.03 ns |
1.36 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
112.7 ns |
0.03 ns |
0.03 ns |
1.06 |
- |
- |
0.00 |
| SetStaticStringField |
690.4 ns |
1.48 ns |
1.38 ns |
6.49 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
155.3 ns |
0.08 ns |
0.07 ns |
1.46 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
303.5 ns |
0.07 ns |
0.06 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
267.9 ns |
0.14 ns |
0.12 ns |
0.88 |
- |
- |
NA |
| InvokeStaticWithFeedback |
527.0 ns |
0.35 ns |
0.31 ns |
1.74 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
310.4 ns |
0.13 ns |
0.12 ns |
1.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
551.2 ns |
0.24 ns |
0.21 ns |
1.82 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.336 μs |
0.0011 μs |
0.0009 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,986.1 ns |
15.46 ns |
14.46 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
601.2 ns |
0.48 ns |
0.42 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,713.8 ns |
187.30 ns |
175.20 ns |
1.00 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
614.6 ns |
0.45 ns |
0.40 ns |
0.01 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,252,456.6 ns |
60,382.83 ns |
56,482.13 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400822 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
642.0 ns |
0.20 ns |
0.16 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,017.0 ns |
3.96 ns |
3.30 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,017.0 ns |
7.65 ns |
7.15 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,230.7 ns |
5.41 ns |
5.06 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,453.3 ns |
13.08 ns |
12.24 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
429.0 ns |
0.38 ns |
0.33 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
428.7 ns |
0.34 ns |
0.28 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
633.4 ns |
4.99 ns |
4.43 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,986.9 ns |
24.49 ns |
22.91 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
577.91 ns |
1.048 ns |
0.818 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
577.92 ns |
0.751 ns |
0.586 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
774.45 ns |
5.127 ns |
4.796 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,081.21 ns |
25.725 ns |
21.481 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
49.80 ns |
0.290 ns |
0.271 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
51.91 ns |
0.019 ns |
0.018 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
240.40 ns |
0.399 ns |
0.354 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,312.06 ns |
31.555 ns |
29.517 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
535.9 ns |
0.47 ns |
0.39 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,060.2 ns |
10.07 ns |
8.41 ns |
13.17 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,211.3 ns |
1.09 ns |
0.97 ns |
2.26 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,203.1 ns |
1.78 ns |
1.57 ns |
2.24 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,116.8 ns |
26.45 ns |
22.09 ns |
17.01 |
0.04 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
544.4 ns |
0.36 ns |
0.32 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
558,486.1 ns |
880.32 ns |
780.38 ns |
1,025.94 |
1.50 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,907.1 ns |
4.38 ns |
3.88 ns |
3.50 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,886.0 ns |
3.04 ns |
2.54 ns |
3.46 |
0.00 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
754,432.3 ns |
722.23 ns |
563.87 ns |
1,385.89 |
1.26 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
539.2 ns |
0.36 ns |
0.32 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,315,427.7 ns |
130,977.89 ns |
122,516.80 ns |
108,158.69 |
228.38 |
333.3333 |
222.2222 |
222.2222 |
16001485 B |
46,515.94 |
| InvokeIntArrayFixed |
100000 |
60,050.2 ns |
320.50 ns |
299.79 ns |
111.38 |
0.54 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,088.6 ns |
306.92 ns |
287.09 ns |
111.45 |
0.52 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
85,566,351.3 ns |
800,726.28 ns |
748,999.86 ns |
158,701.48 |
1,348.27 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-22.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.148 μs |
0.0080 μs |
0.0075 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.159 μs |
0.0096 μs |
0.0090 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.160 μs |
0.0144 μs |
0.0134 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
104.7 ns |
0.04 ns |
0.03 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
151.1 ns |
0.09 ns |
0.08 ns |
1.44 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
113.0 ns |
0.04 ns |
0.03 ns |
1.08 |
- |
- |
0.00 |
| SetInstanceStringField |
717.4 ns |
1.35 ns |
1.26 ns |
6.85 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
121.4 ns |
0.03 ns |
0.03 ns |
1.16 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
147.7 ns |
0.06 ns |
0.05 ns |
1.41 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
114.0 ns |
0.11 ns |
0.10 ns |
1.09 |
- |
- |
0.00 |
| SetStaticStringField |
694.9 ns |
1.17 ns |
1.09 ns |
6.64 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
152.9 ns |
0.03 ns |
0.03 ns |
1.46 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
303.4 ns |
0.07 ns |
0.06 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
267.2 ns |
0.13 ns |
0.12 ns |
0.88 |
- |
- |
NA |
| InvokeStaticWithFeedback |
549.1 ns |
0.60 ns |
0.53 ns |
1.81 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
305.2 ns |
0.09 ns |
0.08 ns |
1.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
549.4 ns |
0.18 ns |
0.14 ns |
1.81 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.324 μs |
0.0014 μs |
0.0013 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,975.5 ns |
19.69 ns |
18.41 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
595.0 ns |
1.58 ns |
1.40 ns |
0.30 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,846.9 ns |
101.76 ns |
84.98 ns |
1.00 |
0.00 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
600.7 ns |
0.26 ns |
0.23 ns |
0.01 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,391,210.3 ns |
108,282.79 ns |
101,287.79 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
632.6 ns |
0.27 ns |
0.24 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,035.2 ns |
5.41 ns |
5.06 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,046.1 ns |
5.22 ns |
4.88 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,249.4 ns |
6.26 ns |
5.55 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,766.2 ns |
14.26 ns |
12.64 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
430.0 ns |
1.09 ns |
1.02 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
432.5 ns |
0.38 ns |
0.34 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
624.6 ns |
0.44 ns |
0.34 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,985.9 ns |
11.94 ns |
11.17 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
608.76 ns |
1.227 ns |
1.088 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
610.25 ns |
3.926 ns |
3.279 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
794.12 ns |
5.328 ns |
4.984 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,269.88 ns |
35.166 ns |
32.894 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
51.97 ns |
0.960 ns |
0.943 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
52.64 ns |
0.986 ns |
1.096 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
238.99 ns |
0.408 ns |
0.382 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,706.50 ns |
17.443 ns |
16.316 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
529.2 ns |
0.21 ns |
0.17 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,006.1 ns |
9.39 ns |
8.78 ns |
13.24 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,188.3 ns |
1.46 ns |
1.30 ns |
2.25 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,197.1 ns |
1.21 ns |
1.01 ns |
2.26 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,831.0 ns |
24.95 ns |
23.34 ns |
16.69 |
0.04 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
532.4 ns |
0.36 ns |
0.32 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
563,042.5 ns |
1,433.22 ns |
1,340.64 ns |
1,057.62 |
2.51 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,910.4 ns |
6.26 ns |
5.86 ns |
3.59 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,902.6 ns |
6.43 ns |
5.70 ns |
3.57 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
743,788.7 ns |
615.83 ns |
480.80 ns |
1,397.14 |
1.18 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
540.3 ns |
0.25 ns |
0.22 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,351,785.3 ns |
163,031.08 ns |
152,499.38 ns |
109,852.10 |
276.81 |
333.3333 |
222.2222 |
222.2222 |
16001332 B |
46,515.50 |
| InvokeIntArrayFixed |
100000 |
59,953.9 ns |
233.28 ns |
206.80 ns |
110.97 |
0.37 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
59,925.7 ns |
328.89 ns |
291.55 ns |
110.91 |
0.52 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
83,721,335.8 ns |
1,638,249.82 ns |
1,532,419.90 ns |
154,956.83 |
2,747.37 |
1000.0000 |
833.3333 |
833.3333 |
27894421 B |
81,088.43 |
core-ubuntu-22.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.106 μs |
0.0085 μs |
0.0079 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.112 μs |
0.0091 μs |
0.0081 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.124 μs |
0.0087 μs |
0.0082 μs |
1.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
108.2 ns |
0.06 ns |
0.05 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
152.2 ns |
0.02 ns |
0.02 ns |
1.41 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
115.6 ns |
0.01 ns |
0.01 ns |
1.07 |
- |
- |
0.00 |
| SetInstanceStringField |
717.3 ns |
0.95 ns |
0.89 ns |
6.63 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
123.6 ns |
0.02 ns |
0.02 ns |
1.14 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
155.7 ns |
0.04 ns |
0.04 ns |
1.44 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
114.9 ns |
0.02 ns |
0.02 ns |
1.06 |
- |
- |
0.00 |
| SetStaticStringField |
710.1 ns |
0.91 ns |
0.85 ns |
6.57 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
153.2 ns |
0.03 ns |
0.03 ns |
1.42 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
311.7 ns |
0.17 ns |
0.16 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
282.0 ns |
0.32 ns |
0.30 ns |
0.90 |
- |
- |
NA |
| InvokeStaticWithFeedback |
527.0 ns |
0.30 ns |
0.25 ns |
1.69 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
324.8 ns |
0.09 ns |
0.08 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
537.0 ns |
0.19 ns |
0.17 ns |
1.72 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.301 μs |
0.0030 μs |
0.0027 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,924.5 ns |
18.99 ns |
17.77 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
586.0 ns |
0.27 ns |
0.22 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
58,906.8 ns |
148.78 ns |
131.89 ns |
1.00 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
593.2 ns |
0.59 ns |
0.52 ns |
0.01 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,651,412.5 ns |
74,204.90 ns |
69,411.31 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
628.4 ns |
0.26 ns |
0.23 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,020.4 ns |
5.46 ns |
5.10 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,012.9 ns |
5.80 ns |
5.43 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,229.4 ns |
6.40 ns |
5.99 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,561.8 ns |
22.61 ns |
21.15 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
423.7 ns |
0.32 ns |
0.28 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
422.1 ns |
0.35 ns |
0.31 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
629.2 ns |
1.17 ns |
0.91 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,070.3 ns |
36.61 ns |
34.24 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
591.04 ns |
0.278 ns |
0.246 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
584.54 ns |
0.586 ns |
0.520 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
787.59 ns |
6.629 ns |
6.201 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,016.17 ns |
16.249 ns |
15.199 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
51.04 ns |
0.983 ns |
1.171 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
51.00 ns |
0.992 ns |
1.181 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
240.20 ns |
0.634 ns |
0.593 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,479.85 ns |
9.465 ns |
7.904 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
529.5 ns |
0.27 ns |
0.26 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,092.0 ns |
9.48 ns |
8.41 ns |
13.39 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,182.1 ns |
1.64 ns |
1.45 ns |
2.23 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,175.1 ns |
2.00 ns |
1.87 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,050.5 ns |
24.75 ns |
23.15 ns |
17.09 |
0.04 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
532.7 ns |
0.27 ns |
0.24 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
558,949.6 ns |
1,467.65 ns |
1,372.84 ns |
1,049.25 |
2.54 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,896.8 ns |
5.41 ns |
5.06 ns |
3.56 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,892.1 ns |
6.25 ns |
5.84 ns |
3.55 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
745,193.1 ns |
1,584.04 ns |
1,322.75 ns |
1,398.86 |
2.47 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
536.6 ns |
0.44 ns |
0.39 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,729,283.1 ns |
203,268.36 ns |
190,137.35 ns |
109,453.73 |
351.84 |
333.3333 |
222.2222 |
222.2222 |
16001203 B |
46,515.12 |
| InvokeIntArrayFixed |
100000 |
60,467.7 ns |
301.43 ns |
267.21 ns |
112.69 |
0.49 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,320.9 ns |
263.96 ns |
234.00 ns |
112.42 |
0.43 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
82,343,234.5 ns |
1,239,125.85 ns |
1,098,452.79 ns |
153,463.03 |
1,980.77 |
1000.0000 |
833.3333 |
833.3333 |
27895180 B |
81,090.64 |
core-ubuntu-22.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.128 μs |
0.0077 μs |
0.0072 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.123 μs |
0.0082 μs |
0.0077 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.123 μs |
0.0086 μs |
0.0081 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
112.3 ns |
0.02 ns |
0.02 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
152.2 ns |
0.13 ns |
0.11 ns |
1.35 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
114.0 ns |
0.02 ns |
0.02 ns |
1.01 |
- |
- |
0.00 |
| SetInstanceStringField |
701.4 ns |
0.90 ns |
0.80 ns |
6.24 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
120.1 ns |
0.04 ns |
0.04 ns |
1.07 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
149.6 ns |
0.06 ns |
0.05 ns |
1.33 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
114.1 ns |
0.02 ns |
0.01 ns |
1.02 |
- |
- |
0.00 |
| SetStaticStringField |
702.0 ns |
0.55 ns |
0.49 ns |
6.25 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
152.7 ns |
0.15 ns |
0.13 ns |
1.36 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
299.8 ns |
0.09 ns |
0.08 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
266.3 ns |
0.09 ns |
0.08 ns |
0.89 |
- |
- |
NA |
| InvokeStaticWithFeedback |
533.3 ns |
0.20 ns |
0.17 ns |
1.78 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
310.8 ns |
0.10 ns |
0.09 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
531.1 ns |
0.41 ns |
0.38 ns |
1.77 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.296 μs |
0.0028 μs |
0.0026 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,961.8 ns |
15.29 ns |
14.30 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
594.5 ns |
0.51 ns |
0.48 ns |
0.30 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,898.6 ns |
439.23 ns |
410.86 ns |
1.00 |
0.01 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
611.8 ns |
0.26 ns |
0.23 ns |
0.01 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,770,163.6 ns |
165,124.07 ns |
176,680.90 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
642.3 ns |
0.32 ns |
0.28 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,021.9 ns |
6.26 ns |
5.86 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,006.5 ns |
0.90 ns |
0.70 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,225.3 ns |
5.20 ns |
4.61 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,429.2 ns |
32.79 ns |
27.38 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
429.6 ns |
0.27 ns |
0.24 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
435.9 ns |
0.36 ns |
0.33 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
633.2 ns |
3.68 ns |
3.26 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,900.6 ns |
9.52 ns |
7.95 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
595.84 ns |
0.959 ns |
0.749 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
591.61 ns |
0.872 ns |
0.681 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
784.73 ns |
5.627 ns |
5.263 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,058.73 ns |
18.201 ns |
14.210 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
48.79 ns |
0.952 ns |
1.059 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
48.81 ns |
0.244 ns |
0.228 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
238.32 ns |
0.392 ns |
0.348 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,381.28 ns |
29.091 ns |
27.212 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
547.6 ns |
0.31 ns |
0.27 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,353.2 ns |
16.63 ns |
14.74 ns |
13.43 |
0.03 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,230.8 ns |
1.99 ns |
1.55 ns |
2.25 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,247.1 ns |
2.06 ns |
1.83 ns |
2.28 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,156.9 ns |
29.36 ns |
26.03 ns |
16.72 |
0.05 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
546.7 ns |
0.56 ns |
0.49 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
590,220.3 ns |
1,307.90 ns |
1,223.41 ns |
1,079.59 |
2.36 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,991.5 ns |
3.07 ns |
2.57 ns |
3.64 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,994.3 ns |
2.29 ns |
1.92 ns |
3.65 |
0.00 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
788,258.5 ns |
908.15 ns |
805.05 ns |
1,441.83 |
1.90 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
549.8 ns |
0.62 ns |
0.55 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
61,339,732.1 ns |
443,550.19 ns |
414,897.12 ns |
111,565.23 |
738.69 |
250.0000 |
125.0000 |
125.0000 |
16001241 B |
46,515.24 |
| InvokeIntArrayFixed |
100000 |
62,413.0 ns |
244.42 ns |
216.67 ns |
113.52 |
0.40 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
62,296.1 ns |
196.39 ns |
174.10 ns |
113.30 |
0.32 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,698,991.9 ns |
544,398.04 ns |
482,594.68 ns |
154,051.25 |
860.96 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-22.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.186 μs |
0.0107 μs |
0.0101 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.163 μs |
0.0007 μs |
0.0006 μs |
0.98 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.173 μs |
0.0010 μs |
0.0008 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
108.2 ns |
0.03 ns |
0.03 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
150.9 ns |
0.05 ns |
0.04 ns |
1.39 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
123.4 ns |
0.25 ns |
0.24 ns |
1.14 |
- |
- |
0.00 |
| SetInstanceStringField |
731.0 ns |
1.04 ns |
0.92 ns |
6.76 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
130.8 ns |
0.08 ns |
0.06 ns |
1.21 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
154.2 ns |
0.06 ns |
0.05 ns |
1.42 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
118.3 ns |
0.04 ns |
0.04 ns |
1.09 |
- |
- |
0.00 |
| SetStaticStringField |
734.5 ns |
1.39 ns |
1.30 ns |
6.79 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
148.4 ns |
0.06 ns |
0.05 ns |
1.37 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
378.1 ns |
0.22 ns |
0.20 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
351.3 ns |
0.31 ns |
0.29 ns |
0.93 |
- |
- |
NA |
| InvokeStaticWithFeedback |
533.6 ns |
0.53 ns |
0.42 ns |
1.41 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
390.0 ns |
0.18 ns |
0.16 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
559.2 ns |
0.30 ns |
0.26 ns |
1.48 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.370 μs |
0.0022 μs |
0.0021 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,007.2 ns |
1.02 ns |
0.80 ns |
1.00 |
0.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
599.3 ns |
0.31 ns |
0.27 ns |
0.30 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
61,604.7 ns |
275.00 ns |
257.24 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
592.0 ns |
0.37 ns |
0.33 ns |
0.010 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,852,529.4 ns |
116,692.43 ns |
109,154.17 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
645.0 ns |
0.27 ns |
0.24 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,063.9 ns |
10.25 ns |
9.59 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,070.0 ns |
4.96 ns |
4.64 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,283.8 ns |
6.66 ns |
6.23 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,718.0 ns |
6.60 ns |
5.15 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
439.6 ns |
0.69 ns |
0.61 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
449.2 ns |
0.52 ns |
0.46 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
643.5 ns |
0.68 ns |
0.57 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,993.2 ns |
2.61 ns |
2.31 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
620.41 ns |
0.989 ns |
0.826 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
621.18 ns |
0.978 ns |
0.763 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
815.55 ns |
4.932 ns |
4.372 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,233.90 ns |
13.374 ns |
12.510 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
60.16 ns |
1.191 ns |
1.114 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
59.13 ns |
1.143 ns |
1.316 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
252.91 ns |
0.590 ns |
0.552 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,616.14 ns |
17.577 ns |
16.441 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
540.3 ns |
0.36 ns |
0.30 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,063.8 ns |
16.64 ns |
14.75 ns |
13.07 |
0.03 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,217.7 ns |
2.14 ns |
2.00 ns |
2.25 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,194.2 ns |
2.12 ns |
1.88 ns |
2.21 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,932.2 ns |
49.78 ns |
46.56 ns |
18.38 |
0.08 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
533.0 ns |
0.47 ns |
0.36 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
565,784.0 ns |
1,100.32 ns |
1,029.24 ns |
1,061.51 |
2.00 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,934.0 ns |
18.52 ns |
16.42 ns |
3.63 |
0.03 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,933.6 ns |
7.86 ns |
7.36 ns |
3.63 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
764,210.9 ns |
1,524.36 ns |
1,425.89 ns |
1,433.80 |
2.76 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
533.8 ns |
0.60 ns |
0.47 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,866,180.7 ns |
339,854.17 ns |
301,271.87 ns |
110,269.85 |
553.25 |
333.3333 |
222.2222 |
222.2222 |
16001828 B |
46,516.94 |
| InvokeIntArrayFixed |
100000 |
61,163.3 ns |
472.87 ns |
442.32 ns |
114.57 |
0.81 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
61,332.8 ns |
453.10 ns |
401.66 ns |
114.89 |
0.73 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
88,298,004.0 ns |
1,185,777.64 ns |
1,051,160.99 ns |
165,402.40 |
1,908.17 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-22.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Median |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.160 μs |
0.0134 μs |
0.0125 μs |
1.150 μs |
1.00 |
0.01 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.162 μs |
0.0150 μs |
0.0141 μs |
1.153 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.158 μs |
0.0126 μs |
0.0118 μs |
1.151 μs |
1.00 |
0.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
104.5 ns |
0.04 ns |
0.04 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
150.5 ns |
0.06 ns |
0.05 ns |
1.44 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
112.8 ns |
0.02 ns |
0.02 ns |
1.08 |
- |
- |
0.00 |
| SetInstanceStringField |
726.1 ns |
1.14 ns |
1.06 ns |
6.95 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
110.6 ns |
0.04 ns |
0.03 ns |
1.06 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
134.7 ns |
0.05 ns |
0.04 ns |
1.29 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
104.8 ns |
0.01 ns |
0.01 ns |
1.00 |
- |
- |
0.00 |
| SetStaticStringField |
699.0 ns |
0.99 ns |
0.88 ns |
6.69 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
149.1 ns |
0.04 ns |
0.03 ns |
1.43 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
291.0 ns |
0.05 ns |
0.05 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
262.4 ns |
0.12 ns |
0.11 ns |
0.90 |
- |
- |
NA |
| InvokeStaticWithFeedback |
539.1 ns |
0.65 ns |
0.54 ns |
1.85 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
303.6 ns |
0.12 ns |
0.11 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
539.3 ns |
0.64 ns |
0.57 ns |
1.85 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.306 μs |
0.0019 μs |
0.0018 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,955.4 ns |
25.93 ns |
24.26 ns |
1.00 |
0.02 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
574.7 ns |
0.57 ns |
0.54 ns |
0.29 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
56,877.7 ns |
157.46 ns |
139.59 ns |
1.00 |
0.00 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
594.1 ns |
0.20 ns |
0.18 ns |
0.01 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,730,181.0 ns |
138,897.26 ns |
123,128.81 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400822 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
624.6 ns |
0.88 ns |
0.82 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
987.2 ns |
6.17 ns |
5.47 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,003.2 ns |
5.42 ns |
5.07 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,211.5 ns |
5.78 ns |
5.12 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,592.4 ns |
16.55 ns |
15.48 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
420.4 ns |
0.80 ns |
0.75 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
412.8 ns |
0.41 ns |
0.36 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
618.5 ns |
1.99 ns |
1.56 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,195.5 ns |
37.94 ns |
35.49 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
563.13 ns |
0.768 ns |
0.718 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
568.81 ns |
0.661 ns |
0.552 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
768.51 ns |
6.625 ns |
6.197 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,220.58 ns |
21.734 ns |
20.330 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
50.96 ns |
1.009 ns |
1.036 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
52.95 ns |
0.040 ns |
0.037 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
239.53 ns |
0.336 ns |
0.298 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,517.45 ns |
17.835 ns |
16.683 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
535.5 ns |
0.72 ns |
0.64 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,983.5 ns |
8.40 ns |
7.86 ns |
13.04 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,175.7 ns |
1.72 ns |
1.52 ns |
2.20 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,185.3 ns |
1.47 ns |
1.23 ns |
2.21 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,836.8 ns |
15.18 ns |
12.67 ns |
16.50 |
0.03 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
535.9 ns |
0.23 ns |
0.20 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
556,392.7 ns |
1,693.24 ns |
1,583.86 ns |
1,038.19 |
2.89 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,886.6 ns |
8.48 ns |
7.08 ns |
3.52 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,887.7 ns |
8.03 ns |
7.51 ns |
3.52 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
737,162.5 ns |
2,198.90 ns |
1,949.27 ns |
1,375.49 |
3.55 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
535.1 ns |
1.31 ns |
1.22 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,038,547.2 ns |
181,512.11 ns |
169,786.54 ns |
110,327.84 |
391.99 |
333.3333 |
222.2222 |
222.2222 |
16001844 B |
46,516.99 |
| InvokeIntArrayFixed |
100000 |
60,298.6 ns |
544.03 ns |
508.88 ns |
112.68 |
0.95 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,077.0 ns |
251.45 ns |
222.90 ns |
112.27 |
0.47 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,175,504.5 ns |
778,692.95 ns |
690,291.02 ns |
157,302.34 |
1,293.49 |
1000.0000 |
833.3333 |
833.3333 |
27894269 B |
81,087.99 |
core-ubuntu-22.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.123 μs |
0.0099 μs |
0.0092 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.117 μs |
0.0106 μs |
0.0099 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.137 μs |
0.0096 μs |
0.0090 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
109.2 ns |
0.07 ns |
0.07 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
147.1 ns |
0.05 ns |
0.04 ns |
1.35 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
122.2 ns |
0.02 ns |
0.02 ns |
1.12 |
- |
- |
0.00 |
| SetInstanceStringField |
705.5 ns |
1.10 ns |
0.92 ns |
6.46 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
125.7 ns |
0.03 ns |
0.03 ns |
1.15 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
151.9 ns |
0.06 ns |
0.05 ns |
1.39 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
116.6 ns |
0.04 ns |
0.03 ns |
1.07 |
- |
- |
0.00 |
| SetStaticStringField |
702.5 ns |
1.16 ns |
1.08 ns |
6.43 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
154.7 ns |
0.06 ns |
0.05 ns |
1.42 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
310.7 ns |
0.14 ns |
0.13 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
271.3 ns |
0.12 ns |
0.11 ns |
0.87 |
- |
- |
NA |
| InvokeStaticWithFeedback |
522.7 ns |
0.46 ns |
0.40 ns |
1.68 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
313.2 ns |
0.11 ns |
0.10 ns |
1.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
527.8 ns |
0.69 ns |
0.61 ns |
1.70 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.291 μs |
0.0031 μs |
0.0029 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,883.2 ns |
2.20 ns |
1.84 ns |
1.00 |
0.0095 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
588.9 ns |
0.30 ns |
0.26 ns |
0.31 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
56,928.5 ns |
172.93 ns |
161.76 ns |
1.00 |
0.3052 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
588.6 ns |
0.25 ns |
0.23 ns |
0.01 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,882,060.1 ns |
40,318.76 ns |
37,714.19 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
631.6 ns |
0.30 ns |
0.25 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,002.3 ns |
4.29 ns |
4.01 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
996.3 ns |
5.61 ns |
5.24 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,210.7 ns |
5.44 ns |
5.09 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,421.5 ns |
12.94 ns |
11.47 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
416.0 ns |
0.46 ns |
0.43 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
417.9 ns |
0.24 ns |
0.21 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
617.7 ns |
0.65 ns |
0.58 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,810.7 ns |
12.39 ns |
10.98 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
583.95 ns |
0.651 ns |
0.544 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
576.98 ns |
0.684 ns |
0.572 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
785.80 ns |
6.714 ns |
6.280 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
3,922.74 ns |
19.892 ns |
18.607 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
52.58 ns |
1.017 ns |
1.044 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
52.02 ns |
1.030 ns |
1.145 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
242.59 ns |
0.410 ns |
0.383 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,522.46 ns |
24.321 ns |
22.750 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
552.8 ns |
0.37 ns |
0.35 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,057.7 ns |
10.01 ns |
8.87 ns |
12.77 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,198.3 ns |
1.57 ns |
1.39 ns |
2.17 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,214.2 ns |
2.88 ns |
2.69 ns |
2.20 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,343.8 ns |
34.18 ns |
31.97 ns |
16.90 |
0.06 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
547.7 ns |
0.45 ns |
0.39 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
558,515.9 ns |
1,190.11 ns |
1,113.23 ns |
1,019.73 |
2.09 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,919.9 ns |
6.09 ns |
5.70 ns |
3.51 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,912.6 ns |
8.28 ns |
7.74 ns |
3.49 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
737,412.9 ns |
1,072.98 ns |
837.71 ns |
1,346.35 |
1.74 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
555.2 ns |
0.45 ns |
0.40 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,531,775.9 ns |
198,288.40 ns |
175,777.50 ns |
107,227.89 |
314.82 |
333.3333 |
222.2222 |
222.2222 |
16000898 B |
46,514.24 |
| InvokeIntArrayFixed |
100000 |
60,110.2 ns |
286.62 ns |
268.10 ns |
108.27 |
0.47 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,436.9 ns |
447.89 ns |
418.96 ns |
108.86 |
0.73 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
86,650,196.4 ns |
699,844.11 ns |
654,634.61 ns |
156,073.25 |
1,147.00 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-22.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.109 μs |
0.0147 μs |
0.0137 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.117 μs |
0.0112 μs |
0.0105 μs |
1.01 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.103 μs |
0.0131 μs |
0.0122 μs |
0.99 |
0.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
109.1 ns |
0.06 ns |
0.06 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
154.4 ns |
0.04 ns |
0.04 ns |
1.42 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
115.7 ns |
0.04 ns |
0.03 ns |
1.06 |
- |
- |
0.00 |
| SetInstanceStringField |
703.6 ns |
1.15 ns |
1.08 ns |
6.45 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
125.9 ns |
0.10 ns |
0.09 ns |
1.15 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
153.4 ns |
0.08 ns |
0.07 ns |
1.41 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
116.6 ns |
0.16 ns |
0.15 ns |
1.07 |
- |
- |
0.00 |
| SetStaticStringField |
712.3 ns |
1.02 ns |
0.95 ns |
6.53 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
153.8 ns |
0.04 ns |
0.04 ns |
1.41 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
301.3 ns |
0.07 ns |
0.07 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
269.6 ns |
0.09 ns |
0.08 ns |
0.89 |
- |
- |
NA |
| InvokeStaticWithFeedback |
539.7 ns |
0.44 ns |
0.39 ns |
1.79 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
319.3 ns |
0.12 ns |
0.12 ns |
1.06 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
536.4 ns |
0.40 ns |
0.35 ns |
1.78 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.326 μs |
0.0034 μs |
0.0031 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,927.1 ns |
10.69 ns |
8.92 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
599.8 ns |
0.24 ns |
0.20 ns |
0.31 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,540.8 ns |
202.34 ns |
179.37 ns |
1.00 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
616.0 ns |
0.33 ns |
0.29 ns |
0.01 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,048,159.5 ns |
55,135.72 ns |
51,573.98 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400946 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
640.6 ns |
0.26 ns |
0.20 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,001.8 ns |
0.67 ns |
0.52 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,012.6 ns |
3.16 ns |
2.80 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,237.4 ns |
8.06 ns |
7.54 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,401.2 ns |
11.21 ns |
9.94 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
441.7 ns |
0.17 ns |
0.13 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
437.9 ns |
0.23 ns |
0.19 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
634.4 ns |
5.79 ns |
5.13 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,802.6 ns |
6.46 ns |
5.04 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
579.50 ns |
0.961 ns |
0.750 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
583.19 ns |
1.037 ns |
0.809 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
767.64 ns |
6.148 ns |
5.751 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,027.13 ns |
41.144 ns |
38.486 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
48.34 ns |
0.235 ns |
0.220 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
49.77 ns |
0.696 ns |
0.651 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
235.74 ns |
0.423 ns |
0.395 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,295.22 ns |
18.321 ns |
15.299 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
545.6 ns |
0.22 ns |
0.17 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,259.8 ns |
12.40 ns |
10.99 ns |
13.31 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,220.2 ns |
4.36 ns |
4.08 ns |
2.24 |
0.01 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,232.7 ns |
3.92 ns |
3.67 ns |
2.26 |
0.01 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,310.0 ns |
21.02 ns |
19.66 ns |
17.06 |
0.04 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
540.4 ns |
0.40 ns |
0.36 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
584,389.8 ns |
990.33 ns |
926.36 ns |
1,081.49 |
1.80 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,952.6 ns |
8.87 ns |
8.30 ns |
3.61 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,976.6 ns |
8.77 ns |
8.20 ns |
3.66 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
763,269.7 ns |
844.12 ns |
789.59 ns |
1,412.53 |
1.68 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
543.4 ns |
0.27 ns |
0.23 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
61,801,225.4 ns |
281,624.83 ns |
249,653.08 ns |
113,722.66 |
446.29 |
250.0000 |
125.0000 |
125.0000 |
16001355 B |
46,515.57 |
| InvokeIntArrayFixed |
100000 |
60,678.2 ns |
451.58 ns |
400.32 ns |
111.66 |
0.71 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
61,045.5 ns |
236.73 ns |
221.44 ns |
112.33 |
0.40 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
86,176,524.4 ns |
608,480.12 ns |
539,401.78 ns |
158,576.52 |
961.25 |
1000.0000 |
833.3333 |
833.3333 |
27895129 B |
81,090.49 |
core-ubuntu-22.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.148 μs |
0.0010 μs |
0.0008 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.180 μs |
0.0008 μs |
0.0007 μs |
1.03 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.155 μs |
0.0003 μs |
0.0003 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
107.0 ns |
0.07 ns |
0.07 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
149.9 ns |
0.05 ns |
0.05 ns |
1.40 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
118.2 ns |
0.03 ns |
0.03 ns |
1.10 |
- |
- |
0.00 |
| SetInstanceStringField |
729.8 ns |
1.04 ns |
0.98 ns |
6.82 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
129.1 ns |
0.05 ns |
0.05 ns |
1.21 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
151.1 ns |
0.05 ns |
0.04 ns |
1.41 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
115.9 ns |
0.07 ns |
0.07 ns |
1.08 |
- |
- |
0.00 |
| SetStaticStringField |
733.5 ns |
0.91 ns |
0.85 ns |
6.86 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
148.2 ns |
0.05 ns |
0.04 ns |
1.39 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
378.1 ns |
0.33 ns |
0.31 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
348.9 ns |
0.23 ns |
0.22 ns |
0.92 |
- |
- |
NA |
| InvokeStaticWithFeedback |
541.1 ns |
0.26 ns |
0.23 ns |
1.43 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
399.5 ns |
0.37 ns |
0.34 ns |
1.06 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
546.0 ns |
0.36 ns |
0.32 ns |
1.44 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.328 μs |
0.0010 μs |
0.0008 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,001.8 ns |
3.41 ns |
2.66 ns |
1.00 |
0.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
593.2 ns |
0.36 ns |
0.32 ns |
0.30 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
64,927.6 ns |
259.07 ns |
242.33 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
605.9 ns |
0.33 ns |
0.27 ns |
0.009 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,247,134.2 ns |
118,957.02 ns |
111,272.47 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
634.5 ns |
0.33 ns |
0.28 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,058.5 ns |
5.00 ns |
4.44 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,052.6 ns |
5.60 ns |
5.24 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,279.3 ns |
13.29 ns |
12.44 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,733.9 ns |
7.59 ns |
7.10 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
460.2 ns |
0.58 ns |
0.52 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
446.8 ns |
0.48 ns |
0.42 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
643.8 ns |
3.65 ns |
3.41 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,132.0 ns |
6.76 ns |
5.99 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
622.38 ns |
0.441 ns |
0.345 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
619.06 ns |
0.830 ns |
0.648 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
816.21 ns |
6.281 ns |
5.875 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,244.11 ns |
14.828 ns |
13.870 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
58.30 ns |
1.135 ns |
1.061 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
59.23 ns |
0.027 ns |
0.025 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
253.26 ns |
0.450 ns |
0.399 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,684.35 ns |
9.737 ns |
9.108 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
546.8 ns |
0.26 ns |
0.23 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,245.3 ns |
5.92 ns |
4.94 ns |
13.25 |
0.01 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,215.7 ns |
1.28 ns |
1.14 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,229.9 ns |
1.78 ns |
1.58 ns |
2.25 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,994.8 ns |
52.84 ns |
46.84 ns |
18.28 |
0.08 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
548.8 ns |
0.55 ns |
0.46 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
571,787.0 ns |
1,341.16 ns |
1,254.53 ns |
1,041.92 |
2.37 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,942.4 ns |
5.21 ns |
4.62 ns |
3.54 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,965.5 ns |
6.45 ns |
6.03 ns |
3.58 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
766,542.3 ns |
1,899.93 ns |
1,586.53 ns |
1,396.81 |
3.00 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
550.0 ns |
0.29 ns |
0.24 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,145,109.8 ns |
176,273.51 ns |
156,261.87 ns |
107,539.05 |
278.19 |
250.0000 |
125.0000 |
125.0000 |
16000979 B |
46,514.47 |
| InvokeIntArrayFixed |
100000 |
60,988.7 ns |
569.11 ns |
504.50 ns |
110.89 |
0.89 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,170.5 ns |
359.92 ns |
319.06 ns |
109.40 |
0.56 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
88,846,289.5 ns |
1,050,550.84 ns |
931,285.95 ns |
161,542.44 |
1,637.58 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-22.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.144 μs |
0.0129 μs |
0.0121 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.162 μs |
0.0128 μs |
0.0119 μs |
1.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.157 μs |
0.0009 μs |
0.0007 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
102.3 ns |
0.03 ns |
0.02 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
140.3 ns |
0.03 ns |
0.03 ns |
1.37 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
115.4 ns |
0.05 ns |
0.04 ns |
1.13 |
- |
- |
0.00 |
| SetInstanceStringField |
731.2 ns |
0.81 ns |
0.72 ns |
7.15 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
120.7 ns |
0.04 ns |
0.03 ns |
1.18 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
147.2 ns |
0.05 ns |
0.04 ns |
1.44 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
107.5 ns |
0.04 ns |
0.04 ns |
1.05 |
- |
- |
0.00 |
| SetStaticStringField |
720.3 ns |
1.36 ns |
1.27 ns |
7.04 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
156.8 ns |
0.04 ns |
0.03 ns |
1.53 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
304.1 ns |
0.13 ns |
0.11 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
278.0 ns |
0.05 ns |
0.05 ns |
0.91 |
- |
- |
NA |
| InvokeStaticWithFeedback |
547.4 ns |
0.32 ns |
0.28 ns |
1.80 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
320.8 ns |
0.14 ns |
0.12 ns |
1.05 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
550.6 ns |
0.73 ns |
0.65 ns |
1.81 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.325 μs |
0.0021 μs |
0.0019 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,969.6 ns |
24.96 ns |
23.35 ns |
1.00 |
0.02 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
593.8 ns |
0.82 ns |
0.64 ns |
0.30 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,705.5 ns |
241.38 ns |
225.79 ns |
1.00 |
0.01 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
599.6 ns |
0.39 ns |
0.35 ns |
0.01 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,448,780.4 ns |
83,259.18 ns |
69,525.19 ns |
1.000 |
0.01 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
637.7 ns |
0.31 ns |
0.27 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,059.8 ns |
7.14 ns |
6.68 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,052.3 ns |
7.82 ns |
7.32 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,285.8 ns |
7.38 ns |
6.90 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,816.2 ns |
47.68 ns |
44.60 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
441.1 ns |
1.91 ns |
1.78 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
432.9 ns |
0.26 ns |
0.21 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
641.5 ns |
0.98 ns |
0.87 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,505.7 ns |
30.13 ns |
28.18 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Median |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
612.30 ns |
1.026 ns |
0.857 ns |
612.24 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
614.64 ns |
0.907 ns |
0.804 ns |
614.42 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
820.38 ns |
7.022 ns |
6.568 ns |
815.31 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,324.27 ns |
21.745 ns |
20.341 ns |
4,319.40 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
51.41 ns |
1.024 ns |
0.958 ns |
51.76 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
51.52 ns |
1.055 ns |
0.936 ns |
51.88 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
247.65 ns |
0.454 ns |
0.424 ns |
247.64 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,796.73 ns |
25.812 ns |
24.145 ns |
3,786.97 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
544.5 ns |
0.36 ns |
0.30 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,130.5 ns |
13.88 ns |
12.98 ns |
13.10 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,209.3 ns |
2.64 ns |
2.47 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,208.8 ns |
2.29 ns |
2.14 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,124.3 ns |
35.67 ns |
33.37 ns |
16.76 |
0.06 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
551.3 ns |
0.48 ns |
0.42 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
564,654.4 ns |
1,608.22 ns |
1,504.33 ns |
1,024.22 |
2.75 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,960.7 ns |
18.24 ns |
17.06 ns |
3.56 |
0.03 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,949.5 ns |
10.70 ns |
10.01 ns |
3.54 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
752,707.7 ns |
1,274.92 ns |
1,064.62 ns |
1,365.33 |
2.12 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
553.3 ns |
0.65 ns |
0.57 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,612,695.9 ns |
155,013.30 ns |
144,999.54 ns |
105,932.23 |
274.94 |
250.0000 |
125.0000 |
125.0000 |
16000904 B |
46,514.26 |
| InvokeIntArrayFixed |
100000 |
60,693.7 ns |
694.03 ns |
649.19 ns |
109.69 |
1.14 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,672.9 ns |
817.65 ns |
764.83 ns |
109.66 |
1.34 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
83,470,223.3 ns |
676,310.11 ns |
564,749.57 ns |
150,857.88 |
994.83 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-22.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.123 μs |
0.0122 μs |
0.0114 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.136 μs |
0.0102 μs |
0.0095 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.143 μs |
0.0109 μs |
0.0102 μs |
1.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
106.3 ns |
0.11 ns |
0.10 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
149.2 ns |
0.03 ns |
0.03 ns |
1.40 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
115.7 ns |
0.02 ns |
0.02 ns |
1.09 |
- |
- |
0.00 |
| SetInstanceStringField |
710.7 ns |
0.96 ns |
0.90 ns |
6.69 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
122.3 ns |
0.04 ns |
0.03 ns |
1.15 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
153.5 ns |
0.05 ns |
0.04 ns |
1.44 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
115.5 ns |
0.02 ns |
0.02 ns |
1.09 |
- |
- |
0.00 |
| SetStaticStringField |
705.4 ns |
1.06 ns |
0.99 ns |
6.64 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
157.3 ns |
0.10 ns |
0.08 ns |
1.48 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
311.9 ns |
0.19 ns |
0.17 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
275.2 ns |
0.16 ns |
0.15 ns |
0.88 |
- |
- |
NA |
| InvokeStaticWithFeedback |
523.2 ns |
0.58 ns |
0.52 ns |
1.68 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
324.4 ns |
0.12 ns |
0.11 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
553.4 ns |
0.26 ns |
0.23 ns |
1.77 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.320 μs |
0.0018 μs |
0.0015 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,972.7 ns |
11.45 ns |
10.71 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
604.9 ns |
0.26 ns |
0.23 ns |
0.31 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,349.1 ns |
340.61 ns |
318.61 ns |
1.00 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
604.1 ns |
0.22 ns |
0.20 ns |
0.01 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,222,131.4 ns |
114,187.01 ns |
89,149.71 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
667.0 ns |
0.33 ns |
0.29 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,029.3 ns |
6.80 ns |
6.36 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,025.9 ns |
7.10 ns |
6.64 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,224.3 ns |
7.98 ns |
7.46 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,685.8 ns |
30.81 ns |
28.82 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
439.9 ns |
0.43 ns |
0.40 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
436.4 ns |
0.26 ns |
0.23 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
630.5 ns |
0.91 ns |
0.71 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,976.0 ns |
8.90 ns |
8.32 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
590.74 ns |
0.376 ns |
0.294 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
596.37 ns |
1.742 ns |
1.629 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
783.64 ns |
2.622 ns |
2.047 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,220.64 ns |
17.460 ns |
16.332 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
52.36 ns |
0.990 ns |
1.100 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
52.66 ns |
1.020 ns |
1.047 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
240.56 ns |
0.381 ns |
0.338 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,624.22 ns |
24.986 ns |
23.372 ns |
0.0100 |
688 B |
core-ubuntu-22.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
542.4 ns |
0.57 ns |
0.54 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,109.4 ns |
8.56 ns |
8.01 ns |
13.11 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,217.8 ns |
2.13 ns |
1.99 ns |
2.25 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,210.4 ns |
1.87 ns |
1.66 ns |
2.23 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,152.1 ns |
22.09 ns |
19.59 ns |
16.87 |
0.04 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
554.0 ns |
0.20 ns |
0.17 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
560,301.2 ns |
1,540.85 ns |
1,441.31 ns |
1,011.39 |
2.54 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,929.0 ns |
3.31 ns |
2.76 ns |
3.48 |
0.00 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,933.3 ns |
7.64 ns |
6.78 ns |
3.49 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
760,331.7 ns |
1,346.50 ns |
1,124.39 ns |
1,372.46 |
2.00 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
558.4 ns |
0.59 ns |
0.52 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,783,559.6 ns |
227,461.55 ns |
212,767.68 ns |
107,064.70 |
381.50 |
333.3333 |
222.2222 |
222.2222 |
16001688 B |
46,516.53 |
| InvokeIntArrayFixed |
100000 |
61,197.2 ns |
140.69 ns |
124.72 ns |
109.60 |
0.24 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,967.4 ns |
332.98 ns |
311.47 ns |
109.18 |
0.55 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
87,086,286.0 ns |
716,320.64 ns |
634,999.59 ns |
155,960.39 |
1,107.67 |
1000.0000 |
833.3333 |
833.3333 |
27894556 B |
81,088.83 |
core-ubuntu-22.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.124 μs |
0.0113 μs |
0.0106 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.132 μs |
0.0110 μs |
0.0103 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.127 μs |
0.0084 μs |
0.0079 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
106.0 ns |
0.04 ns |
0.03 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
144.3 ns |
0.08 ns |
0.07 ns |
1.36 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
115.9 ns |
0.02 ns |
0.02 ns |
1.09 |
- |
- |
0.00 |
| SetInstanceStringField |
713.3 ns |
1.04 ns |
0.97 ns |
6.73 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
124.0 ns |
0.04 ns |
0.04 ns |
1.17 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
149.8 ns |
0.05 ns |
0.04 ns |
1.41 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
113.6 ns |
0.04 ns |
0.04 ns |
1.07 |
- |
- |
0.00 |
| SetStaticStringField |
707.9 ns |
1.36 ns |
1.27 ns |
6.68 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
149.2 ns |
0.05 ns |
0.04 ns |
1.41 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
315.2 ns |
0.10 ns |
0.09 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
277.3 ns |
0.21 ns |
0.19 ns |
0.88 |
- |
- |
NA |
| InvokeStaticWithFeedback |
539.8 ns |
0.41 ns |
0.36 ns |
1.71 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
322.3 ns |
0.12 ns |
0.11 ns |
1.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
570.5 ns |
0.49 ns |
0.43 ns |
1.81 |
0.0048 |
344 B |
NA |
core-ubuntu-22.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.340 μs |
0.0017 μs |
0.0014 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-22.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,959.4 ns |
8.59 ns |
7.17 ns |
1.00 |
0.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
596.8 ns |
0.43 ns |
0.38 ns |
0.30 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
64,842.7 ns |
410.08 ns |
383.59 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
606.8 ns |
0.41 ns |
0.36 ns |
0.009 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,483,445.3 ns |
121,380.49 ns |
113,539.39 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
638.6 ns |
0.25 ns |
0.21 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,026.3 ns |
4.77 ns |
4.23 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,029.5 ns |
6.32 ns |
5.91 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,267.8 ns |
5.53 ns |
5.18 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,663.2 ns |
73.16 ns |
57.12 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
437.3 ns |
0.74 ns |
0.66 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
430.9 ns |
0.39 ns |
0.36 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
638.7 ns |
4.89 ns |
4.33 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,817.6 ns |
11.46 ns |
9.57 ns |
0.0076 |
712 B |
core-ubuntu-22.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Unknown processor, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
595.57 ns |
1.008 ns |
0.787 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
592.29 ns |
0.797 ns |
0.622 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
789.13 ns |
4.715 ns |
4.411 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,795.27 ns |
61.624 ns |
70.967 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
48.27 ns |
0.964 ns |
0.947 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
49.30 ns |
0.921 ns |
0.946 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
239.52 ns |
0.287 ns |
0.254 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,408.88 ns |
44.027 ns |
41.183 ns |
0.0100 |
688 B |
core-ubuntu-22.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
679.1 ns |
13.33 ns |
13.69 ns |
1.00 |
0.03 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,968.1 ns |
110.82 ns |
103.66 ns |
11.74 |
0.27 |
0.1068 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,483.9 ns |
21.99 ns |
20.57 ns |
2.19 |
0.05 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,458.1 ns |
27.10 ns |
26.62 ns |
2.15 |
0.06 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,941.9 ns |
100.97 ns |
94.45 ns |
14.65 |
0.31 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
697.2 ns |
13.98 ns |
14.35 ns |
1.00 |
0.03 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
596,292.1 ns |
5,064.92 ns |
3,954.36 ns |
855.56 |
17.86 |
8.7891 |
1.9531 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
2,159.3 ns |
21.04 ns |
19.68 ns |
3.10 |
0.07 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
2,185.8 ns |
17.00 ns |
15.90 ns |
3.14 |
0.07 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
783,996.5 ns |
8,098.52 ns |
7,575.36 ns |
1,124.88 |
24.71 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
665.5 ns |
6.68 ns |
5.92 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
71,280,818.8 ns |
1,074,344.68 ns |
1,004,942.68 ns |
107,118.94 |
1,726.45 |
1000.0000 |
857.1429 |
285.7143 |
16001025 B |
51,285.34 |
| InvokeIntArrayFixed |
100000 |
70,080.0 ns |
311.32 ns |
275.97 ns |
105.31 |
0.99 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
71,931.4 ns |
310.27 ns |
290.22 ns |
108.10 |
1.02 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
96,118,557.5 ns |
1,547,591.93 ns |
1,447,618.45 ns |
144,444.44 |
2,443.12 |
1833.3333 |
1666.6667 |
833.3333 |
27894296 B |
89,404.79 |
core-ubuntu-22.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.351 μs |
0.0182 μs |
0.0170 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.366 μs |
0.0133 μs |
0.0124 μs |
1.01 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.370 μs |
0.0125 μs |
0.0117 μs |
1.01 |
0.01 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
111.5 ns |
2.22 ns |
2.38 ns |
1.00 |
0.03 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
120.9 ns |
2.41 ns |
2.37 ns |
1.08 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
122.1 ns |
2.36 ns |
2.53 ns |
1.10 |
0.03 |
- |
- |
0.00 |
| SetInstanceStringField |
744.4 ns |
7.44 ns |
6.96 ns |
6.68 |
0.15 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
122.1 ns |
1.18 ns |
0.99 ns |
1.10 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
130.0 ns |
1.95 ns |
1.73 ns |
1.17 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
111.1 ns |
1.98 ns |
1.85 ns |
1.00 |
0.03 |
- |
- |
0.00 |
| SetStaticStringField |
773.2 ns |
8.71 ns |
8.14 ns |
6.94 |
0.16 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
125.4 ns |
1.62 ns |
1.44 ns |
1.12 |
0.03 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
392.7 ns |
7.80 ns |
8.99 ns |
1.00 |
0.03 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
394.5 ns |
5.61 ns |
5.25 ns |
1.00 |
0.03 |
- |
- |
NA |
| InvokeStaticWithFeedback |
658.2 ns |
12.37 ns |
12.15 ns |
1.68 |
0.05 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
428.9 ns |
7.49 ns |
7.01 ns |
1.09 |
0.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
685.3 ns |
13.18 ns |
14.10 ns |
1.75 |
0.05 |
0.0181 |
312 B |
NA |
core-ubuntu-22.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.659 μs |
0.0197 μs |
0.0184 μs |
1.00 |
0.02 |
0.0401 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,469.8 ns |
28.12 ns |
26.30 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
737.2 ns |
11.59 ns |
10.84 ns |
0.30 |
0.01 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
69,694.1 ns |
1,150.25 ns |
1,075.94 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
719.0 ns |
4.66 ns |
4.13 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,481,093.5 ns |
164,220.17 ns |
161,286.17 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400467 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
771.6 ns |
14.07 ns |
13.17 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,377.1 ns |
13.85 ns |
12.95 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,357.1 ns |
26.41 ns |
24.71 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,633.9 ns |
30.39 ns |
28.43 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,436.6 ns |
46.80 ns |
43.78 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
497.2 ns |
9.42 ns |
10.47 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
522.2 ns |
9.93 ns |
9.75 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
804.7 ns |
5.86 ns |
5.48 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,620.7 ns |
39.82 ns |
35.30 ns |
0.0381 |
680 B |
core-ubuntu-22.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
707.20 ns |
12.154 ns |
11.369 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
False |
True |
732.64 ns |
14.552 ns |
16.175 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
True |
False |
1,009.75 ns |
11.825 ns |
9.232 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,768.05 ns |
21.725 ns |
16.961 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
33.91 ns |
0.513 ns |
0.480 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
33.24 ns |
0.251 ns |
0.222 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
248.61 ns |
3.063 ns |
2.865 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,967.48 ns |
29.734 ns |
26.358 ns |
0.0300 |
656 B |
core-ubuntu-22.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
485.2 ns |
3.06 ns |
2.39 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,714.4 ns |
85.56 ns |
80.04 ns |
11.78 |
0.17 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,103.9 ns |
13.05 ns |
12.21 ns |
2.28 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,094.1 ns |
13.81 ns |
12.92 ns |
2.26 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
7,322.7 ns |
57.95 ns |
51.37 ns |
15.09 |
0.12 |
0.2060 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
491.8 ns |
9.26 ns |
8.66 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
413,574.0 ns |
5,217.09 ns |
4,624.81 ns |
841.26 |
16.72 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,834.5 ns |
8.60 ns |
7.62 ns |
3.73 |
0.06 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,847.2 ns |
10.52 ns |
8.21 ns |
3.76 |
0.06 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
587,569.5 ns |
9,515.21 ns |
8,900.53 ns |
1,195.19 |
26.55 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
487.7 ns |
8.10 ns |
7.57 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
51,012,647.5 ns |
413,223.66 ns |
386,529.67 ns |
104,616.78 |
1,732.96 |
1100.0000 |
1000.0000 |
300.0000 |
16001981 B |
51,288.40 |
| InvokeIntArrayFixed |
100000 |
50,952.3 ns |
126.45 ns |
118.28 ns |
104.49 |
1.57 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
50,845.5 ns |
193.21 ns |
180.73 ns |
104.27 |
1.59 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
77,762,826.9 ns |
1,077,157.69 ns |
899,475.46 ns |
159,476.07 |
2,961.60 |
2000.0000 |
1857.1429 |
857.1429 |
27893400 B |
89,401.92 |
core-ubuntu-22.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.002 μs |
0.0113 μs |
0.0106 μs |
1.00 |
0.01 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.013 μs |
0.0157 μs |
0.0146 μs |
1.01 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.025 μs |
0.0175 μs |
0.0164 μs |
1.02 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
85.26 ns |
0.939 ns |
0.833 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
98.89 ns |
1.349 ns |
1.196 ns |
1.16 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
89.39 ns |
1.071 ns |
1.002 ns |
1.05 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
548.08 ns |
5.306 ns |
4.704 ns |
6.43 |
0.08 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
90.48 ns |
0.655 ns |
0.613 ns |
1.06 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
94.80 ns |
1.051 ns |
0.983 ns |
1.11 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
87.56 ns |
1.448 ns |
1.354 ns |
1.03 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
558.86 ns |
6.570 ns |
5.824 ns |
6.56 |
0.09 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
88.79 ns |
0.442 ns |
0.392 ns |
1.04 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
243.5 ns |
4.06 ns |
3.80 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
236.4 ns |
4.24 ns |
3.97 ns |
0.97 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
481.2 ns |
5.78 ns |
5.40 ns |
1.98 |
0.04 |
0.0186 |
312 B |
NA |
| InvokeInstanceEmpty |
238.4 ns |
4.06 ns |
3.80 ns |
0.98 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
515.7 ns |
8.59 ns |
8.03 ns |
2.12 |
0.05 |
0.0181 |
312 B |
NA |
core-ubuntu-22.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.251 μs |
0.0162 μs |
0.0152 μs |
1.00 |
0.02 |
0.0401 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,812.8 ns |
18.79 ns |
17.58 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
499.1 ns |
8.33 ns |
7.79 ns |
0.28 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
54,687.5 ns |
854.83 ns |
799.61 ns |
1.000 |
0.02 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
510.7 ns |
8.99 ns |
8.41 ns |
0.009 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,105,552.6 ns |
71,597.54 ns |
63,469.35 ns |
1.000 |
0.01 |
70.3125 |
70.3125 |
70.3125 |
2400978 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
536.6 ns |
7.89 ns |
7.38 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
950.6 ns |
13.61 ns |
12.73 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
969.5 ns |
15.10 ns |
14.12 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,238.4 ns |
19.55 ns |
18.29 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,957.5 ns |
31.75 ns |
29.69 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
336.3 ns |
4.77 ns |
4.46 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
337.0 ns |
4.54 ns |
3.79 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
601.7 ns |
6.61 ns |
6.18 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,403.1 ns |
32.35 ns |
30.26 ns |
0.0381 |
680 B |
core-ubuntu-22.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
507.21 ns |
9.537 ns |
8.921 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
487.82 ns |
9.487 ns |
9.317 ns |
0.0045 |
80 B |
| PredicateSustained |
False |
True |
False |
706.75 ns |
10.928 ns |
10.223 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,542.59 ns |
64.012 ns |
59.877 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
26.42 ns |
0.310 ns |
0.290 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
26.85 ns |
0.314 ns |
0.294 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
182.12 ns |
1.347 ns |
1.260 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,863.20 ns |
14.449 ns |
11.281 ns |
0.0350 |
656 B |
core-ubuntu-22.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
696.3 ns |
11.80 ns |
11.04 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,684.3 ns |
68.26 ns |
60.51 ns |
11.04 |
0.19 |
0.1068 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,482.5 ns |
13.75 ns |
12.86 ns |
2.13 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,515.6 ns |
21.53 ns |
20.14 ns |
2.18 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,695.1 ns |
95.84 ns |
84.96 ns |
13.93 |
0.24 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
696.0 ns |
8.70 ns |
8.14 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
566,391.1 ns |
5,957.56 ns |
5,281.22 ns |
813.88 |
11.85 |
8.7891 |
1.9531 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
2,173.1 ns |
14.95 ns |
13.98 ns |
3.12 |
0.04 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
2,186.2 ns |
18.42 ns |
17.23 ns |
3.14 |
0.04 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
742,593.5 ns |
7,769.82 ns |
7,267.89 ns |
1,067.08 |
15.84 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
705.5 ns |
12.83 ns |
12.00 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
66,456,155.4 ns |
579,063.08 ns |
483,543.90 ns |
94,222.38 |
1,683.92 |
1000.0000 |
875.0000 |
250.0000 |
16001079 B |
51,285.51 |
| InvokeIntArrayFixed |
100000 |
70,105.7 ns |
242.58 ns |
215.04 ns |
99.40 |
1.66 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
69,990.2 ns |
216.60 ns |
192.01 ns |
99.23 |
1.65 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
94,433,082.2 ns |
1,159,656.92 ns |
1,084,743.80 ns |
133,888.43 |
2,656.98 |
1833.3333 |
1666.6667 |
833.3333 |
27893431 B |
89,402.02 |
core-ubuntu-22.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.349 μs |
0.0152 μs |
0.0142 μs |
1.00 |
0.01 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.334 μs |
0.0192 μs |
0.0180 μs |
0.99 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.364 μs |
0.0171 μs |
0.0160 μs |
1.01 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
105.4 ns |
2.02 ns |
1.99 ns |
1.00 |
0.03 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
121.0 ns |
2.28 ns |
2.14 ns |
1.15 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
113.2 ns |
1.39 ns |
1.30 ns |
1.07 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
743.0 ns |
5.66 ns |
4.72 ns |
7.05 |
0.14 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
111.8 ns |
2.28 ns |
2.24 ns |
1.06 |
0.03 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
114.7 ns |
1.91 ns |
1.79 ns |
1.09 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
103.5 ns |
1.45 ns |
1.29 ns |
0.98 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
745.5 ns |
11.67 ns |
10.92 ns |
7.08 |
0.16 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
118.3 ns |
2.36 ns |
2.42 ns |
1.12 |
0.03 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
336.2 ns |
3.81 ns |
2.97 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
325.9 ns |
6.26 ns |
5.85 ns |
0.97 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
690.2 ns |
11.80 ns |
11.04 ns |
2.05 |
0.04 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
346.9 ns |
6.75 ns |
6.31 ns |
1.03 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
718.7 ns |
12.13 ns |
11.35 ns |
2.14 |
0.04 |
0.0181 |
312 B |
NA |
core-ubuntu-22.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.691 μs |
0.0180 μs |
0.0168 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,427.6 ns |
30.83 ns |
28.84 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
726.4 ns |
13.80 ns |
13.55 ns |
0.30 |
0.01 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
66,227.1 ns |
1,253.20 ns |
1,392.93 ns |
1.00 |
0.03 |
1.3428 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
718.6 ns |
9.79 ns |
8.17 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,961,341.5 ns |
175,171.19 ns |
201,727.41 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400467 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
805.7 ns |
10.89 ns |
9.65 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,320.2 ns |
21.15 ns |
19.78 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,320.2 ns |
17.37 ns |
16.25 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,632.0 ns |
18.74 ns |
17.53 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,288.9 ns |
80.56 ns |
71.42 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
518.4 ns |
4.17 ns |
3.69 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
510.8 ns |
10.04 ns |
12.33 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
839.1 ns |
10.02 ns |
8.36 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,534.6 ns |
45.32 ns |
42.39 ns |
0.0381 |
680 B |
core-ubuntu-22.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
677.63 ns |
12.822 ns |
14.766 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
682.12 ns |
13.231 ns |
12.994 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
954.11 ns |
12.956 ns |
12.119 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,669.95 ns |
33.668 ns |
29.845 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
33.16 ns |
0.576 ns |
0.539 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
34.30 ns |
0.488 ns |
0.432 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
246.10 ns |
4.548 ns |
4.032 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,928.02 ns |
63.869 ns |
59.743 ns |
0.0300 |
656 B |
core-ubuntu-22.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
683.2 ns |
11.19 ns |
10.47 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,404.0 ns |
134.51 ns |
125.82 ns |
10.84 |
0.24 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,472.7 ns |
16.71 ns |
14.81 ns |
2.16 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,498.0 ns |
15.75 ns |
13.96 ns |
2.19 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
10,000.5 ns |
138.41 ns |
129.47 ns |
14.64 |
0.29 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
675.5 ns |
11.61 ns |
10.86 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
552,072.5 ns |
6,886.53 ns |
6,104.73 ns |
817.45 |
15.32 |
8.7891 |
1.9531 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
2,208.2 ns |
26.91 ns |
25.17 ns |
3.27 |
0.06 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
2,184.8 ns |
15.60 ns |
12.18 ns |
3.24 |
0.05 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
791,830.0 ns |
12,728.32 ns |
11,906.08 ns |
1,172.46 |
24.85 |
15.6250 |
5.8594 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
700.9 ns |
9.24 ns |
7.71 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
67,794,692.9 ns |
1,333,520.28 ns |
1,869,409.35 ns |
96,731.77 |
2,812.15 |
1000.0000 |
875.0000 |
250.0000 |
16001525 B |
51,286.94 |
| InvokeIntArrayFixed |
100000 |
72,824.2 ns |
849.07 ns |
752.68 ns |
103.91 |
1.51 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
72,708.4 ns |
680.03 ns |
567.85 ns |
103.74 |
1.34 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
93,717,996.8 ns |
1,857,743.01 ns |
2,480,033.77 ns |
133,720.02 |
3,747.10 |
1833.3333 |
1666.6667 |
833.3333 |
27894629 B |
89,405.86 |
core-ubuntu-22.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.370 μs |
0.0198 μs |
0.0185 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.313 μs |
0.0232 μs |
0.0217 μs |
0.96 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.357 μs |
0.0126 μs |
0.0111 μs |
0.99 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
102.4 ns |
1.49 ns |
1.39 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
117.9 ns |
2.30 ns |
2.16 ns |
1.15 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
107.3 ns |
2.12 ns |
2.08 ns |
1.05 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
723.3 ns |
9.87 ns |
9.24 ns |
7.07 |
0.13 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
113.6 ns |
0.92 ns |
0.81 ns |
1.11 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
122.5 ns |
2.47 ns |
2.42 ns |
1.20 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
104.3 ns |
1.06 ns |
0.94 ns |
1.02 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
718.0 ns |
9.04 ns |
8.46 ns |
7.01 |
0.12 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
106.5 ns |
1.39 ns |
1.30 ns |
1.04 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
327.0 ns |
3.58 ns |
3.35 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
326.8 ns |
2.40 ns |
2.25 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
659.8 ns |
10.18 ns |
9.52 ns |
2.02 |
0.03 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
368.5 ns |
2.22 ns |
1.85 ns |
1.13 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
685.2 ns |
13.07 ns |
12.23 ns |
2.10 |
0.04 |
0.0181 |
312 B |
NA |
core-ubuntu-22.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.682 μs |
0.0219 μs |
0.0204 μs |
1.00 |
0.02 |
0.0401 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,431.5 ns |
22.99 ns |
20.38 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
755.7 ns |
10.61 ns |
9.92 ns |
0.31 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
67,983.9 ns |
1,155.30 ns |
1,080.66 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
726.0 ns |
7.83 ns |
6.94 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,657,562.8 ns |
192,718.15 ns |
454,259.38 ns |
1.002 |
0.07 |
78.1250 |
78.1250 |
78.1250 |
2400467 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
769.1 ns |
13.71 ns |
12.82 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,297.9 ns |
24.58 ns |
21.79 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,289.5 ns |
18.47 ns |
17.28 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,585.5 ns |
22.73 ns |
21.26 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,311.7 ns |
80.98 ns |
86.65 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
511.2 ns |
6.97 ns |
6.52 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
528.6 ns |
9.88 ns |
9.24 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
808.9 ns |
9.29 ns |
8.69 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,502.3 ns |
49.11 ns |
45.93 ns |
0.0381 |
680 B |
core-ubuntu-22.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
651.28 ns |
10.988 ns |
9.741 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
655.42 ns |
9.534 ns |
8.918 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
929.32 ns |
17.904 ns |
16.747 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,650.30 ns |
69.733 ns |
65.228 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
34.46 ns |
0.598 ns |
0.559 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
34.05 ns |
0.458 ns |
0.428 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
246.81 ns |
3.665 ns |
3.428 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,842.68 ns |
51.260 ns |
47.948 ns |
0.0300 |
656 B |
core-ubuntu-22.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
672.2 ns |
8.38 ns |
7.43 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,726.0 ns |
136.10 ns |
127.31 ns |
11.49 |
0.22 |
0.1068 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,469.3 ns |
13.20 ns |
11.71 ns |
2.19 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,475.8 ns |
9.11 ns |
7.61 ns |
2.20 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,939.2 ns |
119.17 ns |
105.64 ns |
14.79 |
0.22 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
678.4 ns |
9.85 ns |
9.22 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
569,441.9 ns |
2,960.33 ns |
2,311.23 ns |
839.51 |
11.54 |
8.7891 |
1.9531 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,947.3 ns |
17.93 ns |
16.77 ns |
2.87 |
0.04 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,951.9 ns |
17.13 ns |
14.30 ns |
2.88 |
0.04 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
801,735.6 ns |
10,531.70 ns |
9,336.08 ns |
1,181.97 |
20.48 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
692.7 ns |
13.38 ns |
13.14 ns |
1.00 |
0.03 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
68,526,555.2 ns |
669,718.60 ns |
593,688.09 ns |
98,965.71 |
1,989.12 |
1000.0000 |
857.1429 |
285.7143 |
16002783 B |
51,290.97 |
| InvokeIntArrayFixed |
100000 |
44,687.7 ns |
486.13 ns |
430.95 ns |
64.54 |
1.32 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
44,203.8 ns |
315.48 ns |
279.66 ns |
63.84 |
1.23 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
95,017,834.3 ns |
1,885,436.11 ns |
2,171,271.02 ns |
137,224.28 |
3,956.44 |
1833.3333 |
1666.6667 |
833.3333 |
27894837 B |
89,406.53 |
core-ubuntu-22.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.368 μs |
0.0140 μs |
0.0131 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.359 μs |
0.0148 μs |
0.0139 μs |
0.99 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.360 μs |
0.0179 μs |
0.0167 μs |
0.99 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
102.8 ns |
0.80 ns |
0.67 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
114.5 ns |
1.87 ns |
1.75 ns |
1.11 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
107.4 ns |
1.75 ns |
1.55 ns |
1.04 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
772.1 ns |
2.08 ns |
1.84 ns |
7.51 |
0.05 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
110.1 ns |
2.21 ns |
2.27 ns |
1.07 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
119.4 ns |
2.16 ns |
2.02 ns |
1.16 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
100.7 ns |
1.89 ns |
1.77 ns |
0.98 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
771.3 ns |
8.26 ns |
6.90 ns |
7.50 |
0.08 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
117.6 ns |
1.50 ns |
1.40 ns |
1.14 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
337.6 ns |
6.63 ns |
7.90 ns |
1.00 |
0.03 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
324.8 ns |
6.12 ns |
6.01 ns |
0.96 |
0.03 |
- |
- |
NA |
| InvokeStaticWithFeedback |
651.8 ns |
6.93 ns |
6.14 ns |
1.93 |
0.05 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
343.7 ns |
6.66 ns |
6.83 ns |
1.02 |
0.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
688.3 ns |
6.22 ns |
5.82 ns |
2.04 |
0.05 |
0.0181 |
312 B |
NA |
core-ubuntu-22.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.781 μs |
0.0231 μs |
0.0216 μs |
1.00 |
0.02 |
0.0401 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,417.4 ns |
39.04 ns |
36.51 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
724.8 ns |
10.55 ns |
9.87 ns |
0.30 |
0.01 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
61,454.3 ns |
882.39 ns |
825.39 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
705.0 ns |
12.19 ns |
11.40 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,129,056.0 ns |
152,558.42 ns |
163,235.80 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400593 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
756.6 ns |
10.50 ns |
9.82 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,308.5 ns |
25.48 ns |
26.16 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,350.7 ns |
22.79 ns |
21.31 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,634.0 ns |
14.40 ns |
13.47 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,357.8 ns |
41.85 ns |
37.10 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
507.6 ns |
9.36 ns |
8.75 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
494.8 ns |
4.38 ns |
3.66 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
831.7 ns |
12.71 ns |
11.89 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,553.0 ns |
66.81 ns |
62.50 ns |
0.0381 |
680 B |
core-ubuntu-22.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
661.95 ns |
7.087 ns |
5.918 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
685.68 ns |
13.564 ns |
15.076 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
979.20 ns |
15.775 ns |
14.756 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,782.56 ns |
43.428 ns |
38.497 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
32.36 ns |
0.516 ns |
0.483 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
33.58 ns |
0.649 ns |
0.575 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
247.14 ns |
1.742 ns |
1.455 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,949.30 ns |
55.145 ns |
51.583 ns |
0.0300 |
656 B |
core-ubuntu-22.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.04GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
705.6 ns |
11.30 ns |
10.57 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,429.2 ns |
78.12 ns |
65.23 ns |
10.53 |
0.18 |
0.1068 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,448.2 ns |
28.31 ns |
26.48 ns |
2.05 |
0.05 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,500.7 ns |
18.64 ns |
17.44 ns |
2.13 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,807.4 ns |
47.92 ns |
42.48 ns |
13.90 |
0.21 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
676.1 ns |
5.71 ns |
5.35 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
554,943.7 ns |
6,734.10 ns |
6,299.08 ns |
820.87 |
10.99 |
8.7891 |
1.9531 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,982.4 ns |
16.03 ns |
15.00 ns |
2.93 |
0.03 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,969.9 ns |
16.05 ns |
15.01 ns |
2.91 |
0.03 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
760,701.9 ns |
4,519.22 ns |
4,006.17 ns |
1,125.22 |
10.34 |
15.6250 |
5.8594 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
716.9 ns |
11.94 ns |
11.17 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
66,655,039.6 ns |
1,325,213.51 ns |
1,360,896.71 ns |
92,993.05 |
2,316.31 |
1000.0000 |
875.0000 |
250.0000 |
16001684 B |
51,287.45 |
| InvokeIntArrayFixed |
100000 |
48,326.7 ns |
316.47 ns |
280.54 ns |
67.42 |
1.08 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
49,429.5 ns |
511.48 ns |
478.44 ns |
68.96 |
1.22 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
93,343,609.0 ns |
752,662.22 ns |
667,215.46 ns |
130,227.32 |
2,156.96 |
1833.3333 |
1666.6667 |
833.3333 |
27894847 B |
89,406.56 |
core-ubuntu-22.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.04GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.286 μs |
0.0110 μs |
0.0097 μs |
1.00 |
0.01 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.409 μs |
0.0187 μs |
0.0175 μs |
1.10 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.298 μs |
0.0161 μs |
0.0150 μs |
1.01 |
0.01 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.04GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
99.90 ns |
1.433 ns |
1.341 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
124.44 ns |
1.350 ns |
1.197 ns |
1.25 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
105.09 ns |
1.739 ns |
1.541 ns |
1.05 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
739.26 ns |
6.292 ns |
5.577 ns |
7.40 |
0.11 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
129.93 ns |
2.363 ns |
2.211 ns |
1.30 |
0.03 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
115.41 ns |
1.538 ns |
1.439 ns |
1.16 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
121.38 ns |
1.864 ns |
1.743 ns |
1.22 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
750.43 ns |
6.690 ns |
6.258 ns |
7.51 |
0.12 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
114.92 ns |
1.603 ns |
1.500 ns |
1.15 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.04GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
336.0 ns |
6.12 ns |
5.72 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
315.8 ns |
4.62 ns |
3.86 ns |
0.94 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
649.8 ns |
12.10 ns |
11.32 ns |
1.93 |
0.05 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
355.7 ns |
6.61 ns |
6.19 ns |
1.06 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
687.3 ns |
7.45 ns |
6.61 ns |
2.05 |
0.04 |
0.0181 |
312 B |
NA |
core-ubuntu-22.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.04GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.710 μs |
0.0102 μs |
0.0090 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.04GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,358.2 ns |
16.69 ns |
13.03 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
726.9 ns |
4.02 ns |
3.36 ns |
0.31 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
64,327.2 ns |
753.77 ns |
705.08 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
694.1 ns |
9.01 ns |
7.04 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,773,198.6 ns |
120,612.80 ns |
106,920.11 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400467 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
763.3 ns |
14.10 ns |
13.18 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.04GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,274.4 ns |
24.93 ns |
24.48 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,294.8 ns |
25.91 ns |
26.60 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,589.7 ns |
19.26 ns |
18.02 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,237.5 ns |
77.33 ns |
72.34 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
500.9 ns |
9.46 ns |
10.52 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
484.9 ns |
8.89 ns |
8.31 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
782.5 ns |
12.88 ns |
12.05 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,346.0 ns |
49.80 ns |
44.14 ns |
0.0381 |
680 B |
core-ubuntu-22.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.04GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
615.80 ns |
7.486 ns |
6.636 ns |
0.0044 |
80 B |
| PredicateSustained |
False |
False |
True |
636.13 ns |
12.434 ns |
14.801 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
908.18 ns |
7.732 ns |
6.457 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,634.88 ns |
65.785 ns |
61.535 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
33.27 ns |
0.538 ns |
0.503 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
32.79 ns |
0.634 ns |
0.593 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
251.96 ns |
1.937 ns |
1.812 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,765.74 ns |
70.548 ns |
65.991 ns |
0.0300 |
656 B |
core-ubuntu-22.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 3.50GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
392.0 ns |
3.52 ns |
3.12 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
4,838.5 ns |
89.08 ns |
83.32 ns |
12.34 |
0.23 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
744.1 ns |
11.00 ns |
9.18 ns |
1.90 |
0.03 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
743.6 ns |
7.84 ns |
6.55 ns |
1.90 |
0.02 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
7,619.0 ns |
149.82 ns |
140.14 ns |
19.44 |
0.38 |
0.0381 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
391.8 ns |
7.74 ns |
11.10 ns |
1.00 |
0.04 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
371,151.5 ns |
5,965.99 ns |
4,657.86 ns |
948.04 |
28.16 |
1.4648 |
0.4883 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,300.8 ns |
15.71 ns |
13.12 ns |
3.32 |
0.10 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,315.9 ns |
11.00 ns |
9.19 ns |
3.36 |
0.09 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
625,357.9 ns |
12,466.44 ns |
21,833.97 ns |
1,597.37 |
70.09 |
2.9297 |
- |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
386.4 ns |
4.03 ns |
3.58 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
43,591,169.9 ns |
853,273.44 ns |
1,560,258.86 ns |
112,817.82 |
4,118.07 |
384.6154 |
307.6923 |
230.7692 |
16000714 B |
51,284.34 |
| InvokeIntArrayFixed |
100000 |
53,228.8 ns |
846.54 ns |
791.85 ns |
137.76 |
2.34 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
53,141.9 ns |
1,013.53 ns |
948.06 ns |
137.54 |
2.67 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
71,229,285.4 ns |
1,411,479.44 ns |
1,568,855.66 ns |
184,347.72 |
4,288.01 |
1142.8571 |
1000.0000 |
1000.0000 |
27898586 B |
89,418.54 |
core-ubuntu-22.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 3.50GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
748.2 ns |
6.02 ns |
4.70 ns |
1.00 |
0.01 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
772.7 ns |
14.02 ns |
20.10 ns |
1.03 |
0.03 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
759.5 ns |
10.86 ns |
9.07 ns |
1.02 |
0.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 3.50GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
63.16 ns |
0.681 ns |
0.532 ns |
1.00 |
0.01 |
0.0002 |
24 B |
1.00 |
| SetInstanceIntField |
69.83 ns |
0.968 ns |
0.809 ns |
1.11 |
0.02 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
63.08 ns |
0.380 ns |
0.337 ns |
1.00 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
458.22 ns |
4.845 ns |
4.295 ns |
7.26 |
0.09 |
0.0029 |
256 B |
10.67 |
| GetStaticIntField |
72.20 ns |
1.385 ns |
1.941 ns |
1.14 |
0.03 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
69.87 ns |
0.718 ns |
0.560 ns |
1.11 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
60.84 ns |
0.469 ns |
0.391 ns |
0.96 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
462.60 ns |
4.948 ns |
4.628 ns |
7.33 |
0.09 |
0.0029 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
68.22 ns |
0.922 ns |
1.292 ns |
1.08 |
0.02 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 3.50GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
189.2 ns |
2.00 ns |
1.67 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
191.7 ns |
1.46 ns |
1.14 ns |
1.01 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
382.3 ns |
6.17 ns |
9.04 ns |
2.02 |
0.05 |
0.0033 |
312 B |
NA |
| InvokeInstanceEmpty |
200.1 ns |
3.95 ns |
6.70 ns |
1.06 |
0.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
385.8 ns |
3.27 ns |
2.73 ns |
2.04 |
0.02 |
0.0033 |
312 B |
NA |
core-ubuntu-22.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 3.50GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
914.0 ns |
17.81 ns |
29.75 ns |
1.00 |
0.04 |
0.0076 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 3.50GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,361.4 ns |
14.21 ns |
11.10 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
390.3 ns |
4.79 ns |
3.74 ns |
0.29 |
0.00 |
0.0033 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
43,002.9 ns |
314.38 ns |
308.76 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
397.7 ns |
4.79 ns |
3.74 ns |
0.009 |
0.00 |
0.0033 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
5,365,316.4 ns |
105,456.79 ns |
98,644.34 ns |
1.000 |
0.03 |
70.3125 |
70.3125 |
70.3125 |
2400462 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
415.3 ns |
4.87 ns |
4.06 ns |
0.000 |
0.00 |
0.0033 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 3.50GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
695.9 ns |
9.88 ns |
8.25 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
731.5 ns |
14.43 ns |
24.90 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
897.3 ns |
17.64 ns |
21.66 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,284.7 ns |
64.72 ns |
84.15 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
291.5 ns |
5.71 ns |
8.89 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
273.3 ns |
2.25 ns |
1.75 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
485.1 ns |
5.37 ns |
4.19 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
2,778.9 ns |
52.65 ns |
60.63 ns |
0.0076 |
680 B |
core-ubuntu-22.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 3.50GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Median |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
423.51 ns |
8.387 ns |
18.232 ns |
414.23 ns |
0.0008 |
80 B |
| PredicateSustained |
False |
False |
True |
421.33 ns |
7.336 ns |
7.849 ns |
418.46 ns |
0.0008 |
80 B |
| PredicateSustained |
False |
True |
False |
580.59 ns |
8.888 ns |
13.838 ns |
578.70 ns |
0.0011 |
176 B |
| PredicateSustained |
False |
True |
True |
3,022.27 ns |
59.503 ns |
94.379 ns |
2,980.86 ns |
0.0050 |
736 B |
| PredicateSustained |
True |
False |
False |
34.94 ns |
0.446 ns |
0.438 ns |
34.78 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
35.00 ns |
0.601 ns |
0.502 ns |
34.83 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
162.83 ns |
3.141 ns |
3.618 ns |
162.09 ns |
0.0009 |
96 B |
| PredicateSustained |
True |
True |
True |
2,412.32 ns |
33.292 ns |
27.800 ns |
2,417.14 ns |
0.0050 |
656 B |
core-ubuntu-22.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.51GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
609.3 ns |
5.58 ns |
5.22 ns |
1.00 |
0.01 |
0.0124 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
8,054.1 ns |
64.59 ns |
53.94 ns |
13.22 |
0.14 |
0.0763 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,422.9 ns |
9.20 ns |
8.60 ns |
2.34 |
0.02 |
0.0153 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,437.0 ns |
10.55 ns |
9.87 ns |
2.36 |
0.03 |
0.0153 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
10,286.8 ns |
72.96 ns |
68.24 ns |
16.88 |
0.18 |
0.1373 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
613.4 ns |
4.10 ns |
3.84 ns |
1.00 |
0.01 |
0.0124 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
628,108.1 ns |
3,722.02 ns |
3,481.58 ns |
1,024.02 |
8.30 |
5.8594 |
1.9531 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
2,229.3 ns |
19.16 ns |
17.92 ns |
3.63 |
0.04 |
0.0153 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
2,197.9 ns |
16.00 ns |
14.96 ns |
3.58 |
0.03 |
0.0153 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
794,106.9 ns |
6,129.04 ns |
5,733.11 ns |
1,294.65 |
11.99 |
9.7656 |
2.9297 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
649.4 ns |
6.17 ns |
5.77 ns |
1.00 |
0.01 |
0.0124 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
72,386,530.8 ns |
591,820.05 ns |
553,588.84 ns |
111,467.11 |
1,265.56 |
714.2857 |
571.4286 |
285.7143 |
16002229 B |
51,289.20 |
| InvokeIntArrayFixed |
100000 |
78,261.4 ns |
420.57 ns |
393.40 ns |
120.51 |
1.19 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
78,282.5 ns |
599.80 ns |
561.06 ns |
120.55 |
1.33 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
95,651,535.0 ns |
1,690,064.12 ns |
1,659,868.95 ns |
147,292.60 |
2,785.22 |
1666.6667 |
1500.0000 |
1000.0000 |
27895797 B |
89,409.61 |
core-ubuntu-22.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.51GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.378 μs |
0.0113 μs |
0.0106 μs |
1.00 |
0.0134 |
360 B |
1.00 |
| NewWithSignature |
1.485 μs |
0.0098 μs |
0.0092 μs |
1.08 |
0.0134 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.366 μs |
0.0093 μs |
0.0082 μs |
0.99 |
0.0134 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.51GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
109.8 ns |
0.85 ns |
0.80 ns |
1.00 |
0.01 |
0.0010 |
24 B |
1.00 |
| SetInstanceIntField |
121.5 ns |
1.29 ns |
1.14 ns |
1.11 |
0.01 |
0.0010 |
24 B |
1.00 |
| GetInstanceStringField |
110.8 ns |
0.78 ns |
0.69 ns |
1.01 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
773.0 ns |
3.40 ns |
3.02 ns |
7.04 |
0.06 |
0.0095 |
256 B |
10.67 |
| GetStaticIntField |
126.3 ns |
1.30 ns |
1.21 ns |
1.15 |
0.01 |
0.0010 |
24 B |
1.00 |
| SetStaticIntField |
125.0 ns |
1.10 ns |
1.03 ns |
1.14 |
0.01 |
0.0010 |
24 B |
1.00 |
| GetStaticStringField |
109.2 ns |
0.86 ns |
0.80 ns |
0.99 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
787.5 ns |
5.68 ns |
5.31 ns |
7.17 |
0.07 |
0.0095 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
110.6 ns |
0.95 ns |
0.89 ns |
1.01 |
0.01 |
0.0010 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.51GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
382.1 ns |
3.34 ns |
3.13 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
386.5 ns |
3.25 ns |
3.04 ns |
1.01 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
643.5 ns |
8.12 ns |
7.60 ns |
1.68 |
0.02 |
0.0124 |
312 B |
NA |
| InvokeInstanceEmpty |
388.6 ns |
5.57 ns |
5.21 ns |
1.02 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
617.6 ns |
5.30 ns |
4.70 ns |
1.62 |
0.02 |
0.0124 |
312 B |
NA |
core-ubuntu-22.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.51GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.618 μs |
0.0142 μs |
0.0133 μs |
1.00 |
0.0267 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.51GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,403.5 ns |
18.76 ns |
17.55 ns |
1.00 |
0.01 |
0.0229 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
744.8 ns |
4.59 ns |
4.07 ns |
0.31 |
0.00 |
0.0114 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
64,816.5 ns |
780.38 ns |
729.97 ns |
1.00 |
0.02 |
0.8545 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
695.4 ns |
5.67 ns |
5.31 ns |
0.01 |
0.00 |
0.0114 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,909,844.0 ns |
190,443.42 ns |
178,140.90 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400467 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
659.4 ns |
6.61 ns |
6.18 ns |
0.000 |
0.00 |
0.0114 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.51GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,243.6 ns |
11.36 ns |
10.62 ns |
0.0038 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,231.8 ns |
11.73 ns |
10.97 ns |
0.0038 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,635.6 ns |
20.81 ns |
19.47 ns |
0.0076 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,508.3 ns |
38.35 ns |
35.87 ns |
0.0229 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
467.8 ns |
4.04 ns |
3.37 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
469.7 ns |
2.84 ns |
2.66 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
789.1 ns |
6.66 ns |
6.23 ns |
0.0048 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,700.5 ns |
33.15 ns |
31.01 ns |
0.0229 |
680 B |
core-ubuntu-22.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.51GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
699.34 ns |
7.506 ns |
7.021 ns |
0.0025 |
80 B |
| PredicateSustained |
False |
False |
True |
717.87 ns |
9.172 ns |
8.580 ns |
0.0029 |
80 B |
| PredicateSustained |
False |
True |
False |
995.62 ns |
12.006 ns |
11.231 ns |
0.0067 |
176 B |
| PredicateSustained |
False |
True |
True |
4,890.68 ns |
45.777 ns |
42.819 ns |
0.0200 |
736 B |
| PredicateSustained |
True |
False |
False |
49.17 ns |
0.977 ns |
1.786 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
50.01 ns |
0.966 ns |
1.322 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
289.44 ns |
1.969 ns |
1.842 ns |
0.0038 |
96 B |
| PredicateSustained |
True |
True |
True |
3,976.30 ns |
25.811 ns |
21.554 ns |
0.0200 |
656 B |
core-ubuntu-22.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
486.8 ns |
1.69 ns |
1.32 ns |
1.00 |
0.00 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,606.6 ns |
62.70 ns |
55.58 ns |
11.52 |
0.11 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,078.6 ns |
9.54 ns |
8.92 ns |
2.22 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,094.9 ns |
11.63 ns |
10.31 ns |
2.25 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
7,192.5 ns |
57.58 ns |
48.08 ns |
14.78 |
0.10 |
0.2060 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
490.9 ns |
8.75 ns |
8.18 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
410,214.4 ns |
2,441.61 ns |
2,164.42 ns |
835.89 |
14.19 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,784.2 ns |
13.59 ns |
12.71 ns |
3.64 |
0.06 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,802.9 ns |
9.21 ns |
8.61 ns |
3.67 |
0.06 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
563,116.7 ns |
11,176.01 ns |
11,476.93 ns |
1,147.46 |
29.35 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
446.5 ns |
3.87 ns |
3.62 ns |
1.00 |
0.01 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
49,811,178.0 ns |
765,683.66 ns |
716,220.97 ns |
111,559.88 |
1,780.80 |
1000.0000 |
909.0909 |
272.7273 |
16001341 B |
51,286.35 |
| InvokeIntArrayFixed |
100000 |
50,189.8 ns |
159.43 ns |
149.14 ns |
112.41 |
0.94 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
50,354.3 ns |
198.88 ns |
166.08 ns |
112.78 |
0.95 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
73,048,935.8 ns |
1,435,720.85 ns |
2,661,200.86 ns |
163,604.45 |
6,031.65 |
2000.0000 |
1857.1429 |
857.1429 |
27893786 B |
89,403.16 |
core-ubuntu-22.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
997.0 ns |
19.09 ns |
17.86 ns |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
984.0 ns |
9.68 ns |
9.06 ns |
0.99 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
990.2 ns |
12.92 ns |
12.09 ns |
0.99 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
87.33 ns |
1.560 ns |
1.460 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
90.90 ns |
1.115 ns |
1.043 ns |
1.04 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
86.07 ns |
1.018 ns |
0.953 ns |
0.99 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
559.29 ns |
6.922 ns |
5.780 ns |
6.41 |
0.12 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
98.48 ns |
1.435 ns |
1.342 ns |
1.13 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
93.57 ns |
0.696 ns |
0.582 ns |
1.07 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
83.45 ns |
1.590 ns |
1.487 ns |
0.96 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
525.13 ns |
3.690 ns |
3.271 ns |
6.01 |
0.10 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
91.66 ns |
1.321 ns |
1.235 ns |
1.05 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
234.0 ns |
1.79 ns |
1.59 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
233.4 ns |
3.13 ns |
2.93 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
452.6 ns |
4.05 ns |
3.79 ns |
1.93 |
0.02 |
0.0186 |
312 B |
NA |
| InvokeInstanceEmpty |
234.8 ns |
3.76 ns |
3.52 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
469.6 ns |
3.29 ns |
2.92 ns |
2.01 |
0.02 |
0.0181 |
312 B |
NA |
core-ubuntu-22.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.270 μs |
0.0171 μs |
0.0160 μs |
1.00 |
0.02 |
0.0401 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,767.8 ns |
21.75 ns |
19.28 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
474.9 ns |
7.90 ns |
7.39 ns |
0.27 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
48,878.4 ns |
825.62 ns |
772.29 ns |
1.00 |
0.02 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
489.5 ns |
5.62 ns |
4.69 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,767,512.2 ns |
82,681.75 ns |
73,295.22 ns |
1.000 |
0.01 |
70.3125 |
70.3125 |
70.3125 |
2400952 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
508.6 ns |
4.57 ns |
4.05 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
945.1 ns |
9.28 ns |
8.22 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
952.9 ns |
16.66 ns |
15.59 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,192.7 ns |
14.58 ns |
12.92 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,919.4 ns |
54.25 ns |
50.74 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
344.2 ns |
3.51 ns |
3.29 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
348.4 ns |
5.17 ns |
4.83 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
630.3 ns |
7.51 ns |
6.65 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,227.8 ns |
38.07 ns |
33.75 ns |
0.0381 |
680 B |
core-ubuntu-22.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
487.44 ns |
9.218 ns |
9.467 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
485.06 ns |
8.878 ns |
8.305 ns |
0.0045 |
80 B |
| PredicateSustained |
False |
True |
False |
690.36 ns |
10.144 ns |
8.993 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,424.42 ns |
58.458 ns |
51.822 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
26.22 ns |
0.261 ns |
0.218 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
26.19 ns |
0.289 ns |
0.271 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
184.86 ns |
1.430 ns |
1.267 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,770.80 ns |
43.074 ns |
40.292 ns |
0.0350 |
656 B |
core-ubuntu-22.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
470.3 ns |
6.43 ns |
5.70 ns |
1.00 |
0.02 |
0.0029 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,812.0 ns |
97.71 ns |
81.60 ns |
12.36 |
0.22 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,051.7 ns |
18.19 ns |
17.01 ns |
2.24 |
0.04 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
925.2 ns |
11.36 ns |
10.07 ns |
1.97 |
0.03 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,710.5 ns |
167.68 ns |
156.85 ns |
18.52 |
0.39 |
0.0305 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
467.1 ns |
6.99 ns |
6.19 ns |
1.00 |
0.02 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
461,024.1 ns |
5,397.67 ns |
4,784.89 ns |
987.15 |
16.01 |
1.4648 |
0.4883 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,676.0 ns |
13.08 ns |
10.22 ns |
3.59 |
0.05 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,683.5 ns |
11.30 ns |
8.82 ns |
3.60 |
0.05 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
758,764.6 ns |
15,174.61 ns |
18,064.30 ns |
1,624.68 |
43.11 |
2.9297 |
- |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
483.1 ns |
9.36 ns |
8.75 ns |
1.00 |
0.02 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
52,327,094.4 ns |
699,895.29 ns |
654,682.49 ns |
108,343.17 |
2,326.44 |
300.0000 |
200.0000 |
200.0000 |
16000614 B |
51,284.02 |
| InvokeIntArrayFixed |
100000 |
76,045.4 ns |
888.82 ns |
787.92 ns |
157.45 |
3.21 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
75,238.2 ns |
1,103.35 ns |
1,032.07 ns |
155.78 |
3.45 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
84,553,242.5 ns |
1,681,123.86 ns |
2,617,307.53 ns |
175,067.37 |
6,174.73 |
1166.6667 |
1000.0000 |
1000.0000 |
27898379 B |
89,417.88 |
core-ubuntu-22.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
936.8 ns |
10.86 ns |
10.15 ns |
1.00 |
0.01 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
930.8 ns |
15.08 ns |
14.11 ns |
0.99 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
950.2 ns |
13.50 ns |
12.63 ns |
1.01 |
0.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
79.42 ns |
0.766 ns |
0.640 ns |
1.00 |
0.01 |
0.0002 |
24 B |
1.00 |
| SetInstanceIntField |
84.40 ns |
0.879 ns |
0.822 ns |
1.06 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
80.40 ns |
0.884 ns |
0.690 ns |
1.01 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
589.88 ns |
11.067 ns |
10.352 ns |
7.43 |
0.14 |
0.0029 |
256 B |
10.67 |
| GetStaticIntField |
89.13 ns |
1.715 ns |
1.685 ns |
1.12 |
0.02 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
85.20 ns |
0.845 ns |
0.749 ns |
1.07 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
77.11 ns |
0.661 ns |
0.516 ns |
0.97 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
575.96 ns |
7.385 ns |
6.167 ns |
7.25 |
0.09 |
0.0029 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
87.09 ns |
0.828 ns |
0.691 ns |
1.10 |
0.01 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
226.2 ns |
3.07 ns |
2.57 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
228.7 ns |
1.81 ns |
1.51 ns |
1.01 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
472.2 ns |
8.65 ns |
7.67 ns |
2.09 |
0.04 |
0.0033 |
312 B |
NA |
| InvokeInstanceEmpty |
233.3 ns |
2.85 ns |
2.53 ns |
1.03 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
479.9 ns |
7.69 ns |
6.81 ns |
2.12 |
0.04 |
0.0033 |
312 B |
NA |
core-ubuntu-22.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.128 μs |
0.0175 μs |
0.0155 μs |
1.00 |
0.02 |
0.0076 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,677.4 ns |
18.90 ns |
17.68 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
486.4 ns |
7.26 ns |
6.44 ns |
0.29 |
0.00 |
0.0029 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
48,932.2 ns |
738.22 ns |
690.53 ns |
1.00 |
0.02 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
491.8 ns |
8.75 ns |
8.18 ns |
0.01 |
0.00 |
0.0029 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
5,579,958.4 ns |
108,910.60 ns |
125,421.61 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400467 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
508.4 ns |
2.76 ns |
2.31 ns |
0.000 |
0.00 |
0.0029 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
885.1 ns |
7.36 ns |
6.88 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
922.5 ns |
12.28 ns |
10.89 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,130.0 ns |
21.20 ns |
18.79 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,120.3 ns |
77.72 ns |
76.33 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
360.0 ns |
4.09 ns |
3.63 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
361.8 ns |
6.81 ns |
6.37 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
612.1 ns |
8.80 ns |
8.23 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,440.6 ns |
66.95 ns |
74.42 ns |
0.0076 |
680 B |
core-ubuntu-22.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
518.74 ns |
5.689 ns |
5.043 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
508.70 ns |
7.202 ns |
6.014 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
736.49 ns |
10.947 ns |
10.240 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
3,558.07 ns |
69.427 ns |
57.974 ns |
- |
736 B |
| PredicateSustained |
True |
False |
False |
45.36 ns |
0.234 ns |
0.183 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
44.62 ns |
0.822 ns |
0.769 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
207.56 ns |
4.039 ns |
6.046 ns |
0.0009 |
96 B |
| PredicateSustained |
True |
True |
True |
2,937.22 ns |
53.058 ns |
49.631 ns |
0.0050 |
656 B |
core-ubuntu-22.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
597.1 ns |
5.31 ns |
4.97 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,054.2 ns |
63.99 ns |
56.73 ns |
11.82 |
0.13 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,373.7 ns |
22.14 ns |
20.71 ns |
2.30 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,404.7 ns |
13.61 ns |
12.73 ns |
2.35 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,469.7 ns |
144.92 ns |
135.56 ns |
15.86 |
0.25 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
615.7 ns |
8.77 ns |
8.20 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
524,183.0 ns |
10,351.89 ns |
10,166.94 ns |
851.52 |
19.40 |
8.7891 |
1.9531 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
2,217.3 ns |
21.55 ns |
20.16 ns |
3.60 |
0.06 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
2,234.0 ns |
23.35 ns |
21.84 ns |
3.63 |
0.06 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
747,532.5 ns |
14,721.00 ns |
15,751.31 ns |
1,214.34 |
29.39 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
645.3 ns |
5.55 ns |
4.92 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
67,629,753.1 ns |
827,973.70 ns |
733,977.12 ns |
104,813.71 |
1,342.87 |
1000.0000 |
857.1429 |
285.7143 |
16000986 B |
51,285.21 |
| InvokeIntArrayFixed |
100000 |
62,172.5 ns |
125.77 ns |
105.02 ns |
96.36 |
0.73 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
62,413.4 ns |
216.56 ns |
191.97 ns |
96.73 |
0.77 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
93,978,122.7 ns |
1,786,057.19 ns |
1,985,197.84 ns |
145,648.85 |
3,185.99 |
1833.3333 |
1666.6667 |
833.3333 |
27892881 B |
89,400.26 |
core-ubuntu-22.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.295 μs |
0.0168 μs |
0.0157 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.271 μs |
0.0122 μs |
0.0114 μs |
0.98 |
0.01 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.290 μs |
0.0235 μs |
0.0208 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
108.9 ns |
1.65 ns |
1.55 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
114.2 ns |
1.11 ns |
0.98 ns |
1.05 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
108.2 ns |
1.41 ns |
1.32 ns |
0.99 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
661.4 ns |
7.00 ns |
6.54 ns |
6.08 |
0.10 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
113.0 ns |
1.93 ns |
1.80 ns |
1.04 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
113.5 ns |
1.33 ns |
1.24 ns |
1.04 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
104.2 ns |
1.47 ns |
1.31 ns |
0.96 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
666.8 ns |
8.26 ns |
7.73 ns |
6.13 |
0.11 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
113.3 ns |
1.81 ns |
1.70 ns |
1.04 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
300.6 ns |
1.27 ns |
1.06 ns |
1.00 |
0.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
298.2 ns |
3.74 ns |
3.31 ns |
0.99 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
607.8 ns |
5.48 ns |
5.12 ns |
2.02 |
0.02 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
296.6 ns |
3.64 ns |
3.23 ns |
0.99 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
626.4 ns |
4.23 ns |
3.75 ns |
2.08 |
0.01 |
0.0181 |
312 B |
NA |
core-ubuntu-22.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.570 μs |
0.0175 μs |
0.0163 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,356.2 ns |
33.55 ns |
28.01 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
655.5 ns |
11.25 ns |
10.52 ns |
0.28 |
0.01 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
69,564.0 ns |
572.78 ns |
535.78 ns |
1.000 |
0.01 |
1.3428 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
624.8 ns |
5.01 ns |
4.18 ns |
0.009 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,487,490.8 ns |
139,000.21 ns |
130,020.88 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400953 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
730.6 ns |
5.84 ns |
5.46 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,219.2 ns |
16.60 ns |
14.72 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,213.1 ns |
17.29 ns |
15.33 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,562.3 ns |
18.98 ns |
17.75 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,097.3 ns |
68.18 ns |
63.78 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
456.3 ns |
6.27 ns |
5.86 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
452.8 ns |
5.78 ns |
5.41 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
790.2 ns |
9.02 ns |
7.53 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,242.7 ns |
55.42 ns |
51.84 ns |
0.0381 |
680 B |
core-ubuntu-22.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
618.88 ns |
9.053 ns |
8.026 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
612.86 ns |
9.641 ns |
9.018 ns |
0.0044 |
80 B |
| PredicateSustained |
False |
True |
False |
853.71 ns |
16.284 ns |
14.435 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,377.11 ns |
83.301 ns |
81.812 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
35.90 ns |
0.573 ns |
0.508 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
35.67 ns |
0.500 ns |
0.467 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
239.33 ns |
2.368 ns |
2.099 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,605.74 ns |
64.407 ns |
60.246 ns |
0.0300 |
656 B |
core-ubuntu-22.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.31GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
470.2 ns |
9.32 ns |
10.36 ns |
1.00 |
0.03 |
0.0029 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,096.9 ns |
100.26 ns |
93.78 ns |
12.97 |
0.34 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
973.5 ns |
16.35 ns |
15.29 ns |
2.07 |
0.05 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
978.1 ns |
17.97 ns |
16.81 ns |
2.08 |
0.06 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,175.0 ns |
177.84 ns |
211.71 ns |
19.52 |
0.61 |
0.0305 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
478.0 ns |
8.07 ns |
7.15 ns |
1.00 |
0.02 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
477,781.4 ns |
7,423.05 ns |
6,943.53 ns |
999.68 |
20.09 |
0.9766 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,768.2 ns |
21.34 ns |
19.96 ns |
3.70 |
0.07 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,821.5 ns |
36.25 ns |
38.79 ns |
3.81 |
0.10 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
797,229.4 ns |
15,481.17 ns |
24,554.77 ns |
1,668.08 |
56.00 |
2.9297 |
- |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
475.2 ns |
9.33 ns |
11.10 ns |
1.00 |
0.03 |
0.0029 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
50,225,333.7 ns |
657,135.65 ns |
548,738.03 ns |
105,753.82 |
2,663.25 |
300.0000 |
200.0000 |
200.0000 |
16000746 B |
51,284.44 |
| InvokeIntArrayFixed |
100000 |
71,633.5 ns |
1,358.65 ns |
1,270.88 ns |
150.83 |
4.31 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
70,506.4 ns |
1,342.45 ns |
1,190.05 ns |
148.46 |
4.17 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
86,576,429.9 ns |
1,719,742.02 ns |
2,466,402.82 ns |
182,294.23 |
6,590.04 |
1142.8571 |
1000.0000 |
1000.0000 |
27899711 B |
89,422.15 |
core-ubuntu-22.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.31GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1,006.2 ns |
20.16 ns |
24.00 ns |
1.00 |
0.03 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
984.5 ns |
19.71 ns |
18.44 ns |
0.98 |
0.03 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
998.5 ns |
19.60 ns |
24.07 ns |
0.99 |
0.03 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.31GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
86.77 ns |
1.445 ns |
1.721 ns |
1.00 |
0.03 |
0.0002 |
24 B |
1.00 |
| SetInstanceIntField |
88.42 ns |
1.816 ns |
2.719 ns |
1.02 |
0.04 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
84.16 ns |
1.687 ns |
1.657 ns |
0.97 |
0.03 |
- |
- |
0.00 |
| SetInstanceStringField |
610.47 ns |
8.492 ns |
7.091 ns |
7.04 |
0.16 |
0.0029 |
256 B |
10.67 |
| GetStaticIntField |
88.70 ns |
1.801 ns |
1.769 ns |
1.02 |
0.03 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
94.22 ns |
1.622 ns |
1.803 ns |
1.09 |
0.03 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
79.95 ns |
1.562 ns |
1.604 ns |
0.92 |
0.03 |
- |
- |
0.00 |
| SetStaticStringField |
622.08 ns |
12.366 ns |
13.231 ns |
7.17 |
0.20 |
0.0029 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
88.43 ns |
1.474 ns |
1.379 ns |
1.02 |
0.03 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.31GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
234.4 ns |
3.75 ns |
3.32 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
241.7 ns |
4.87 ns |
6.67 ns |
1.03 |
0.03 |
- |
- |
NA |
| InvokeStaticWithFeedback |
489.3 ns |
9.70 ns |
13.28 ns |
2.09 |
0.06 |
0.0029 |
312 B |
NA |
| InvokeInstanceEmpty |
241.5 ns |
4.62 ns |
4.32 ns |
1.03 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
491.5 ns |
8.02 ns |
7.11 ns |
2.10 |
0.04 |
0.0029 |
312 B |
NA |
core-ubuntu-22.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.31GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.167 μs |
0.0213 μs |
0.0199 μs |
1.00 |
0.02 |
0.0076 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.31GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,717.0 ns |
27.05 ns |
26.57 ns |
1.00 |
0.02 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
504.8 ns |
8.96 ns |
10.32 ns |
0.29 |
0.01 |
0.0029 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
53,999.1 ns |
583.83 ns |
517.55 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
499.9 ns |
9.94 ns |
11.04 ns |
0.009 |
0.00 |
0.0029 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
5,651,360.4 ns |
112,463.40 ns |
138,115.16 ns |
1.001 |
0.03 |
70.3125 |
70.3125 |
70.3125 |
2400462 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
514.6 ns |
9.70 ns |
10.38 ns |
0.000 |
0.00 |
0.0029 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.31GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
944.6 ns |
18.90 ns |
18.57 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
951.2 ns |
17.97 ns |
16.81 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,141.4 ns |
22.72 ns |
24.31 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,135.5 ns |
82.35 ns |
77.03 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
356.9 ns |
7.03 ns |
6.91 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
350.6 ns |
6.88 ns |
6.76 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
585.4 ns |
8.71 ns |
7.73 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,456.1 ns |
68.56 ns |
86.71 ns |
0.0076 |
680 B |
core-ubuntu-22.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.31GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
549.69 ns |
10.928 ns |
10.732 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
549.35 ns |
8.295 ns |
8.147 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
765.03 ns |
12.340 ns |
10.304 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
3,731.57 ns |
72.319 ns |
101.381 ns |
- |
736 B |
| PredicateSustained |
True |
False |
False |
46.33 ns |
0.923 ns |
1.865 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
47.12 ns |
0.929 ns |
0.994 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
210.24 ns |
3.942 ns |
4.218 ns |
0.0009 |
96 B |
| PredicateSustained |
True |
True |
True |
3,325.16 ns |
59.519 ns |
52.762 ns |
0.0050 |
656 B |
core-ubuntu-22.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
471.0 ns |
4.65 ns |
4.35 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,419.5 ns |
72.92 ns |
68.21 ns |
11.51 |
0.17 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,070.7 ns |
11.55 ns |
10.24 ns |
2.27 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,074.1 ns |
6.54 ns |
5.80 ns |
2.28 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
7,326.2 ns |
57.23 ns |
50.74 ns |
15.56 |
0.17 |
0.2060 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
476.5 ns |
9.08 ns |
8.49 ns |
1.00 |
0.02 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
405,436.3 ns |
4,650.93 ns |
4,122.93 ns |
851.15 |
16.74 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,812.2 ns |
10.73 ns |
10.03 ns |
3.80 |
0.07 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,817.0 ns |
9.18 ns |
8.14 ns |
3.81 |
0.07 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
559,503.3 ns |
8,501.36 ns |
7,536.23 ns |
1,174.59 |
25.18 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
466.0 ns |
8.18 ns |
7.65 ns |
1.00 |
0.02 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
49,291,212.1 ns |
554,748.99 ns |
518,912.55 ns |
105,798.05 |
1,990.55 |
1100.0000 |
1000.0000 |
300.0000 |
16001786 B |
51,287.78 |
| InvokeIntArrayFixed |
100000 |
50,817.0 ns |
160.59 ns |
150.21 ns |
109.07 |
1.75 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
51,368.2 ns |
382.59 ns |
339.15 ns |
110.26 |
1.88 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
72,356,080.2 ns |
884,157.02 ns |
783,782.17 ns |
155,304.20 |
2,945.24 |
2000.0000 |
1857.1429 |
857.1429 |
27893953 B |
89,403.70 |
core-ubuntu-22.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
996.8 ns |
19.88 ns |
19.52 ns |
1.00 |
0.03 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
958.6 ns |
6.37 ns |
5.32 ns |
0.96 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
991.7 ns |
14.51 ns |
13.57 ns |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
82.29 ns |
0.539 ns |
0.450 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
87.86 ns |
1.367 ns |
1.278 ns |
1.07 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
87.40 ns |
0.952 ns |
0.891 ns |
1.06 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
531.87 ns |
6.834 ns |
6.059 ns |
6.46 |
0.08 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
87.51 ns |
1.127 ns |
1.054 ns |
1.06 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
95.41 ns |
1.551 ns |
1.451 ns |
1.16 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
81.64 ns |
1.001 ns |
0.936 ns |
0.99 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
514.27 ns |
6.088 ns |
5.397 ns |
6.25 |
0.07 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
87.68 ns |
1.407 ns |
1.316 ns |
1.07 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
235.9 ns |
4.29 ns |
4.01 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
234.0 ns |
3.27 ns |
2.90 ns |
0.99 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
478.1 ns |
9.38 ns |
10.04 ns |
2.03 |
0.05 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
243.7 ns |
3.91 ns |
3.66 ns |
1.03 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
480.8 ns |
8.36 ns |
7.82 ns |
2.04 |
0.05 |
0.0186 |
312 B |
NA |
core-ubuntu-22.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.234 μs |
0.0135 μs |
0.0126 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,775.7 ns |
22.90 ns |
21.42 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
492.6 ns |
9.15 ns |
8.11 ns |
0.28 |
0.01 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
52,563.0 ns |
753.29 ns |
667.77 ns |
1.000 |
0.02 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
500.6 ns |
4.51 ns |
4.00 ns |
0.010 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,114,316.6 ns |
134,009.07 ns |
125,352.17 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400953 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
518.1 ns |
6.28 ns |
5.87 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
907.8 ns |
14.40 ns |
13.47 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
912.2 ns |
11.24 ns |
10.51 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,196.8 ns |
10.47 ns |
9.79 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,815.6 ns |
22.18 ns |
18.52 ns |
0.0420 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
338.9 ns |
4.71 ns |
4.18 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
352.3 ns |
4.01 ns |
3.75 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
575.9 ns |
5.84 ns |
4.88 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,240.8 ns |
33.26 ns |
31.11 ns |
0.0381 |
680 B |
core-ubuntu-22.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
473.30 ns |
5.502 ns |
4.877 ns |
0.0045 |
80 B |
| PredicateSustained |
False |
False |
True |
480.16 ns |
9.177 ns |
7.663 ns |
0.0045 |
80 B |
| PredicateSustained |
False |
True |
False |
657.44 ns |
7.744 ns |
6.865 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,373.55 ns |
43.577 ns |
40.762 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
27.22 ns |
0.451 ns |
0.422 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
27.92 ns |
0.289 ns |
0.270 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
185.52 ns |
2.569 ns |
2.403 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,699.64 ns |
11.918 ns |
9.952 ns |
0.0350 |
656 B |
core-ubuntu-22.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
597.0 ns |
7.55 ns |
7.06 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,953.7 ns |
114.25 ns |
106.87 ns |
11.65 |
0.22 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,377.0 ns |
13.84 ns |
12.27 ns |
2.31 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,378.3 ns |
22.96 ns |
21.48 ns |
2.31 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,385.2 ns |
137.32 ns |
121.73 ns |
15.72 |
0.27 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
621.5 ns |
3.62 ns |
2.83 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
514,163.4 ns |
9,820.62 ns |
10,085.06 ns |
827.29 |
16.19 |
8.7891 |
1.9531 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
2,226.5 ns |
16.71 ns |
14.82 ns |
3.58 |
0.03 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
2,261.5 ns |
23.39 ns |
21.88 ns |
3.64 |
0.04 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
738,729.3 ns |
8,815.99 ns |
7,361.75 ns |
1,188.62 |
12.55 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
642.1 ns |
6.17 ns |
5.77 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
62,772,113.9 ns |
909,691.61 ns |
850,926.09 ns |
97,763.46 |
1,538.58 |
1000.0000 |
875.0000 |
250.0000 |
16001696 B |
51,287.49 |
| InvokeIntArrayFixed |
100000 |
62,455.5 ns |
219.40 ns |
205.23 ns |
97.27 |
0.90 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
62,417.8 ns |
253.79 ns |
237.39 ns |
97.21 |
0.92 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
93,286,616.1 ns |
1,132,449.92 ns |
1,003,887.36 ns |
145,287.80 |
1,967.95 |
1833.3333 |
1666.6667 |
833.3333 |
27894235 B |
89,404.60 |
core-ubuntu-22.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.266 μs |
0.0236 μs |
0.0221 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.251 μs |
0.0247 μs |
0.0274 μs |
0.99 |
0.03 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.276 μs |
0.0191 μs |
0.0178 μs |
1.01 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
108.5 ns |
0.79 ns |
0.70 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
115.8 ns |
1.63 ns |
1.53 ns |
1.07 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
112.9 ns |
0.73 ns |
0.64 ns |
1.04 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
678.0 ns |
8.06 ns |
7.15 ns |
6.25 |
0.07 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
115.2 ns |
2.20 ns |
2.05 ns |
1.06 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
113.7 ns |
1.24 ns |
1.16 ns |
1.05 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
103.6 ns |
1.22 ns |
1.14 ns |
0.95 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
663.2 ns |
11.37 ns |
9.50 ns |
6.11 |
0.09 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
114.2 ns |
1.25 ns |
1.17 ns |
1.05 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
311.6 ns |
4.87 ns |
4.55 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
299.0 ns |
3.65 ns |
3.41 ns |
0.96 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
636.9 ns |
10.06 ns |
8.91 ns |
2.04 |
0.04 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
299.6 ns |
5.92 ns |
5.25 ns |
0.96 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
615.6 ns |
6.78 ns |
6.34 ns |
1.98 |
0.03 |
0.0181 |
312 B |
NA |
core-ubuntu-22.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.584 μs |
0.0158 μs |
0.0124 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,354.7 ns |
46.06 ns |
45.24 ns |
1.00 |
0.03 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
676.4 ns |
4.76 ns |
4.45 ns |
0.29 |
0.01 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
73,019.1 ns |
1,459.47 ns |
1,680.72 ns |
1.001 |
0.03 |
1.3428 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
651.2 ns |
7.41 ns |
6.93 ns |
0.009 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,292,967.4 ns |
182,861.44 ns |
187,785.23 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400953 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
683.9 ns |
12.79 ns |
11.96 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,235.9 ns |
12.24 ns |
11.45 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,211.0 ns |
22.44 ns |
20.99 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,549.4 ns |
23.46 ns |
20.80 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,023.8 ns |
80.29 ns |
75.10 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
500.4 ns |
9.78 ns |
9.15 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
460.2 ns |
7.61 ns |
7.12 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
751.2 ns |
9.67 ns |
9.05 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,262.8 ns |
55.75 ns |
52.15 ns |
0.0381 |
680 B |
core-ubuntu-22.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
697.26 ns |
13.128 ns |
12.893 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
625.27 ns |
7.016 ns |
6.220 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
863.32 ns |
11.875 ns |
10.527 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,367.98 ns |
42.104 ns |
37.325 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
37.37 ns |
0.372 ns |
0.348 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
41.07 ns |
0.767 ns |
0.753 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
239.90 ns |
2.649 ns |
2.348 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,566.51 ns |
48.249 ns |
45.132 ns |
0.0300 |
656 B |
core-ubuntu-22.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
490.3 ns |
7.74 ns |
7.24 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,142.2 ns |
40.03 ns |
37.45 ns |
12.53 |
0.19 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,142.8 ns |
22.28 ns |
34.02 ns |
2.33 |
0.08 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,112.4 ns |
8.34 ns |
6.97 ns |
2.27 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
7,366.9 ns |
86.56 ns |
80.97 ns |
15.03 |
0.27 |
0.2060 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
492.4 ns |
5.07 ns |
4.49 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
464,217.9 ns |
6,128.88 ns |
5,732.95 ns |
942.92 |
13.96 |
8.7891 |
1.9531 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,885.7 ns |
16.93 ns |
15.83 ns |
3.83 |
0.05 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,871.6 ns |
14.07 ns |
13.16 ns |
3.80 |
0.04 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
592,717.9 ns |
5,710.37 ns |
5,341.48 ns |
1,203.94 |
14.86 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
489.3 ns |
8.84 ns |
7.38 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
52,946,687.1 ns |
763,463.69 ns |
714,144.41 ns |
108,224.22 |
2,091.57 |
1100.0000 |
1000.0000 |
300.0000 |
16002315 B |
51,289.47 |
| InvokeIntArrayFixed |
100000 |
51,772.2 ns |
109.47 ns |
97.04 ns |
105.82 |
1.52 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
51,582.8 ns |
176.09 ns |
164.71 ns |
105.44 |
1.54 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
77,679,856.7 ns |
950,267.03 ns |
888,880.37 ns |
158,779.38 |
2,865.35 |
2000.0000 |
1857.1429 |
857.1429 |
27893960 B |
89,403.72 |
core-ubuntu-22.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1,013.8 ns |
8.90 ns |
7.43 ns |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1,031.6 ns |
8.33 ns |
7.79 ns |
1.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
998.7 ns |
14.14 ns |
13.23 ns |
0.99 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
87.82 ns |
1.428 ns |
1.336 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
92.04 ns |
0.641 ns |
0.501 ns |
1.05 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
91.27 ns |
1.318 ns |
1.233 ns |
1.04 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
547.11 ns |
6.425 ns |
5.696 ns |
6.23 |
0.11 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
93.73 ns |
1.196 ns |
1.119 ns |
1.07 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
92.73 ns |
1.491 ns |
1.394 ns |
1.06 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
87.71 ns |
1.568 ns |
1.467 ns |
1.00 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
540.09 ns |
6.628 ns |
5.875 ns |
6.15 |
0.11 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
89.42 ns |
0.323 ns |
0.270 ns |
1.02 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
264.4 ns |
4.43 ns |
4.14 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
261.3 ns |
4.87 ns |
4.56 ns |
0.99 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
488.5 ns |
2.48 ns |
2.20 ns |
1.85 |
0.03 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
304.4 ns |
6.02 ns |
5.91 ns |
1.15 |
0.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
498.8 ns |
7.11 ns |
6.30 ns |
1.89 |
0.04 |
0.0181 |
312 B |
NA |
core-ubuntu-22.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.356 μs |
0.0143 μs |
0.0134 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,823.5 ns |
15.51 ns |
14.51 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
518.5 ns |
9.95 ns |
9.31 ns |
0.28 |
0.01 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
52,254.1 ns |
390.63 ns |
365.40 ns |
1.00 |
0.01 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
543.0 ns |
7.47 ns |
6.99 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,324,212.1 ns |
134,649.33 ns |
125,951.07 ns |
1.000 |
0.02 |
70.3125 |
70.3125 |
70.3125 |
2400917 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
548.8 ns |
7.98 ns |
7.47 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Median |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,004.0 ns |
13.03 ns |
11.56 ns |
1,003.1 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
991.9 ns |
7.07 ns |
5.91 ns |
993.6 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,258.8 ns |
8.82 ns |
8.25 ns |
1,258.6 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,113.7 ns |
39.79 ns |
37.22 ns |
4,104.6 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
378.4 ns |
6.52 ns |
6.10 ns |
376.4 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
383.0 ns |
6.63 ns |
6.20 ns |
383.7 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
642.4 ns |
13.31 ns |
38.82 ns |
624.9 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,383.1 ns |
20.57 ns |
19.24 ns |
3,376.9 ns |
0.0381 |
680 B |
core-ubuntu-22.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
521.00 ns |
9.515 ns |
8.900 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
525.95 ns |
8.839 ns |
8.268 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
721.36 ns |
9.546 ns |
8.462 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,667.40 ns |
56.120 ns |
52.495 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
28.01 ns |
0.397 ns |
0.371 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
29.85 ns |
0.146 ns |
0.114 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
187.88 ns |
2.017 ns |
1.887 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,951.76 ns |
35.134 ns |
32.865 ns |
0.0350 |
656 B |
core-ubuntu-22.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
461.8 ns |
5.85 ns |
5.47 ns |
1.00 |
0.02 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,920.1 ns |
56.35 ns |
52.71 ns |
12.82 |
0.18 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
944.2 ns |
8.37 ns |
7.83 ns |
2.05 |
0.03 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
943.3 ns |
11.71 ns |
10.95 ns |
2.04 |
0.03 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,976.6 ns |
160.95 ns |
150.55 ns |
19.44 |
0.39 |
0.0305 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
474.3 ns |
8.51 ns |
7.96 ns |
1.00 |
0.02 |
0.0029 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
475,058.7 ns |
8,616.64 ns |
7,195.28 ns |
1,001.83 |
21.73 |
0.9766 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,742.9 ns |
34.42 ns |
33.81 ns |
3.68 |
0.09 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,713.6 ns |
14.93 ns |
13.97 ns |
3.61 |
0.06 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
744,633.7 ns |
10,822.77 ns |
9,594.10 ns |
1,570.32 |
31.88 |
2.9297 |
- |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
469.2 ns |
6.15 ns |
5.45 ns |
1.00 |
0.02 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
52,447,114.6 ns |
794,749.64 ns |
743,409.31 ns |
111,802.76 |
1,979.54 |
300.0000 |
200.0000 |
200.0000 |
16000874 B |
51,284.85 |
| InvokeIntArrayFixed |
100000 |
72,681.6 ns |
420.44 ns |
372.71 ns |
154.94 |
1.90 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
73,408.0 ns |
1,017.07 ns |
901.60 ns |
156.49 |
2.55 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
83,127,824.6 ns |
1,615,588.85 ns |
1,511,222.81 ns |
177,205.56 |
3,696.02 |
1166.6667 |
1000.0000 |
1000.0000 |
27898912 B |
89,419.59 |
core-ubuntu-22.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
947.2 ns |
10.34 ns |
9.17 ns |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
959.6 ns |
10.75 ns |
8.97 ns |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
935.4 ns |
11.62 ns |
10.87 ns |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
83.66 ns |
1.056 ns |
0.988 ns |
1.00 |
0.02 |
0.0002 |
24 B |
1.00 |
| SetInstanceIntField |
89.96 ns |
1.339 ns |
1.253 ns |
1.08 |
0.02 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
80.38 ns |
1.105 ns |
1.034 ns |
0.96 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
584.72 ns |
11.150 ns |
11.450 ns |
6.99 |
0.16 |
0.0029 |
256 B |
10.67 |
| GetStaticIntField |
89.38 ns |
1.115 ns |
0.988 ns |
1.07 |
0.02 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
87.46 ns |
0.812 ns |
0.760 ns |
1.05 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
81.61 ns |
0.791 ns |
0.701 ns |
0.98 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
579.14 ns |
5.489 ns |
5.135 ns |
6.92 |
0.10 |
0.0029 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
88.39 ns |
1.010 ns |
0.896 ns |
1.06 |
0.02 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
230.6 ns |
2.82 ns |
2.35 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
230.6 ns |
2.13 ns |
1.89 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
471.3 ns |
7.69 ns |
7.19 ns |
2.04 |
0.04 |
0.0033 |
312 B |
NA |
| InvokeInstanceEmpty |
244.6 ns |
4.82 ns |
5.36 ns |
1.06 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
485.9 ns |
6.25 ns |
5.54 ns |
2.11 |
0.03 |
0.0029 |
312 B |
NA |
core-ubuntu-22.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.164 μs |
0.0230 μs |
0.0215 μs |
1.00 |
0.03 |
0.0076 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,645.9 ns |
20.18 ns |
16.86 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
489.9 ns |
6.00 ns |
5.62 ns |
0.30 |
0.00 |
0.0029 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
49,188.2 ns |
566.16 ns |
529.58 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
484.1 ns |
5.59 ns |
4.96 ns |
0.010 |
0.00 |
0.0029 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
5,577,502.4 ns |
86,373.78 ns |
76,568.11 ns |
1.000 |
0.02 |
70.3125 |
70.3125 |
70.3125 |
2400462 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
507.4 ns |
6.09 ns |
5.09 ns |
0.000 |
0.00 |
0.0029 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
925.0 ns |
14.36 ns |
13.43 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
917.4 ns |
8.50 ns |
7.10 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,136.1 ns |
17.05 ns |
15.11 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,016.4 ns |
77.68 ns |
83.11 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
350.6 ns |
5.55 ns |
4.92 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
341.4 ns |
3.31 ns |
2.77 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
571.6 ns |
10.70 ns |
10.01 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,311.3 ns |
55.03 ns |
48.78 ns |
0.0076 |
680 B |
core-ubuntu-22.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
521.56 ns |
7.794 ns |
6.909 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
535.03 ns |
9.480 ns |
8.404 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
738.28 ns |
9.581 ns |
8.962 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
3,392.64 ns |
34.016 ns |
28.405 ns |
- |
736 B |
| PredicateSustained |
True |
False |
False |
46.41 ns |
0.353 ns |
0.313 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
45.31 ns |
0.240 ns |
0.187 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
202.19 ns |
2.719 ns |
2.271 ns |
0.0009 |
96 B |
| PredicateSustained |
True |
True |
True |
2,929.33 ns |
56.533 ns |
55.523 ns |
0.0050 |
656 B |
core-ubuntu-22.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
654.9 ns |
3.97 ns |
3.52 ns |
1.00 |
0.01 |
0.0124 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
8,246.5 ns |
95.12 ns |
88.98 ns |
12.59 |
0.15 |
0.0763 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,420.7 ns |
10.42 ns |
9.74 ns |
2.17 |
0.02 |
0.0153 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,336.0 ns |
9.44 ns |
8.83 ns |
2.04 |
0.02 |
0.0153 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
10,027.6 ns |
113.91 ns |
100.98 ns |
15.31 |
0.17 |
0.1373 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
618.4 ns |
5.26 ns |
4.92 ns |
1.00 |
0.01 |
0.0124 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
655,556.0 ns |
4,107.98 ns |
3,842.61 ns |
1,060.12 |
10.11 |
5.8594 |
1.9531 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
2,141.4 ns |
9.15 ns |
8.11 ns |
3.46 |
0.03 |
0.0153 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
2,101.8 ns |
11.66 ns |
10.34 ns |
3.40 |
0.03 |
0.0153 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
834,423.7 ns |
3,281.19 ns |
2,908.69 ns |
1,349.38 |
11.30 |
9.7656 |
2.9297 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
614.9 ns |
9.35 ns |
8.29 ns |
1.00 |
0.02 |
0.0124 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
77,411,824.3 ns |
602,671.21 ns |
563,739.03 ns |
125,906.15 |
1,842.29 |
714.2857 |
571.4286 |
285.7143 |
16000871 B |
51,284.84 |
| InvokeIntArrayFixed |
100000 |
77,167.1 ns |
464.87 ns |
434.84 ns |
125.51 |
1.75 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
77,245.5 ns |
568.44 ns |
531.72 ns |
125.64 |
1.82 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
100,528,769.3 ns |
1,924,050.45 ns |
1,799,757.99 ns |
163,504.61 |
3,525.74 |
1666.6667 |
1500.0000 |
1000.0000 |
27896747 B |
89,412.65 |
core-ubuntu-22.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.307 μs |
0.0121 μs |
0.0114 μs |
1.00 |
0.0134 |
360 B |
1.00 |
| NewWithSignature |
1.316 μs |
0.0127 μs |
0.0113 μs |
1.01 |
0.0134 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.311 μs |
0.0123 μs |
0.0115 μs |
1.00 |
0.0134 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
102.53 ns |
0.933 ns |
0.872 ns |
1.00 |
0.01 |
0.0010 |
24 B |
1.00 |
| SetInstanceIntField |
115.24 ns |
0.776 ns |
0.688 ns |
1.12 |
0.01 |
0.0010 |
24 B |
1.00 |
| GetInstanceStringField |
98.99 ns |
0.614 ns |
0.544 ns |
0.97 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
824.06 ns |
2.778 ns |
2.462 ns |
8.04 |
0.07 |
0.0095 |
256 B |
10.67 |
| GetStaticIntField |
109.49 ns |
0.691 ns |
0.647 ns |
1.07 |
0.01 |
0.0010 |
24 B |
1.00 |
| SetStaticIntField |
108.21 ns |
1.003 ns |
0.938 ns |
1.06 |
0.01 |
0.0010 |
24 B |
1.00 |
| GetStaticStringField |
92.76 ns |
0.966 ns |
0.904 ns |
0.90 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
824.89 ns |
5.143 ns |
4.811 ns |
8.05 |
0.08 |
0.0095 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
106.90 ns |
0.763 ns |
0.676 ns |
1.04 |
0.01 |
0.0010 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
313.7 ns |
4.05 ns |
3.79 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
321.6 ns |
3.38 ns |
3.16 ns |
1.03 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
586.5 ns |
4.12 ns |
3.65 ns |
1.87 |
0.02 |
0.0124 |
312 B |
NA |
| InvokeInstanceEmpty |
319.7 ns |
3.61 ns |
3.38 ns |
1.02 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
705.9 ns |
3.71 ns |
3.47 ns |
2.25 |
0.03 |
0.0124 |
312 B |
NA |
core-ubuntu-22.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.573 μs |
0.0138 μs |
0.0129 μs |
1.00 |
0.0267 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,310.8 ns |
18.50 ns |
17.30 ns |
1.00 |
0.0229 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
647.4 ns |
6.51 ns |
6.09 ns |
0.28 |
0.0114 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
63,048.7 ns |
475.93 ns |
445.18 ns |
1.00 |
0.8545 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
630.5 ns |
7.39 ns |
6.91 ns |
0.01 |
0.0114 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,342,957.0 ns |
93,337.68 ns |
82,741.43 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400467 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
656.3 ns |
5.31 ns |
4.97 ns |
0.000 |
0.0114 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,242.4 ns |
14.03 ns |
13.13 ns |
0.0038 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,239.6 ns |
10.84 ns |
10.14 ns |
0.0038 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,590.2 ns |
8.21 ns |
7.68 ns |
0.0076 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,340.0 ns |
42.56 ns |
39.81 ns |
0.0229 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
456.3 ns |
3.27 ns |
3.06 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
457.5 ns |
5.41 ns |
5.06 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
783.6 ns |
6.69 ns |
6.26 ns |
0.0048 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,477.4 ns |
32.80 ns |
30.68 ns |
0.0229 |
680 B |
core-ubuntu-22.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
629.96 ns |
6.091 ns |
5.698 ns |
0.0025 |
80 B |
| PredicateSustained |
False |
False |
True |
621.93 ns |
5.020 ns |
4.696 ns |
0.0025 |
80 B |
| PredicateSustained |
False |
True |
False |
929.52 ns |
11.655 ns |
10.902 ns |
0.0067 |
176 B |
| PredicateSustained |
False |
True |
True |
4,509.80 ns |
53.147 ns |
47.113 ns |
0.0200 |
736 B |
| PredicateSustained |
True |
False |
False |
49.91 ns |
0.963 ns |
1.109 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
49.62 ns |
0.316 ns |
0.280 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
277.65 ns |
1.445 ns |
1.352 ns |
0.0038 |
96 B |
| PredicateSustained |
True |
True |
True |
3,797.09 ns |
44.265 ns |
41.405 ns |
0.0200 |
656 B |
core-ubuntu-22.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.20GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
386.9 ns |
7.02 ns |
6.22 ns |
1.00 |
0.02 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
4,572.0 ns |
36.88 ns |
34.50 ns |
11.82 |
0.20 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
754.3 ns |
14.62 ns |
12.96 ns |
1.95 |
0.04 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
954.2 ns |
18.93 ns |
23.94 ns |
2.47 |
0.07 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
7,324.9 ns |
145.27 ns |
217.43 ns |
18.94 |
0.62 |
0.0381 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
373.5 ns |
3.81 ns |
3.18 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
369,316.0 ns |
3,059.14 ns |
2,711.85 ns |
988.79 |
10.71 |
1.4648 |
0.4883 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,430.3 ns |
12.57 ns |
9.81 ns |
3.83 |
0.04 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,374.9 ns |
10.84 ns |
9.61 ns |
3.68 |
0.04 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
636,231.6 ns |
12,654.97 ns |
31,042.85 ns |
1,703.41 |
83.74 |
2.9297 |
- |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
387.3 ns |
5.43 ns |
4.54 ns |
1.00 |
0.02 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
42,115,695.9 ns |
332,204.12 ns |
294,490.30 ns |
108,759.08 |
1,418.24 |
250.0000 |
166.6667 |
166.6667 |
16000663 B |
51,284.18 |
| InvokeIntArrayFixed |
100000 |
71,213.3 ns |
1,124.64 ns |
996.97 ns |
183.90 |
3.22 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
70,484.1 ns |
1,338.35 ns |
1,487.57 ns |
182.02 |
4.26 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
68,378,482.3 ns |
1,356,562.14 ns |
1,665,980.28 ns |
176,579.80 |
4,647.86 |
1142.8571 |
1000.0000 |
1000.0000 |
27898232 B |
89,417.41 |
core-ubuntu-22.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.20GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
735.6 ns |
9.52 ns |
8.44 ns |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
768.6 ns |
7.10 ns |
6.29 ns |
1.04 |
0.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
754.6 ns |
9.40 ns |
8.33 ns |
1.03 |
0.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.20GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
65.59 ns |
1.205 ns |
1.069 ns |
1.00 |
0.02 |
0.0002 |
24 B |
1.00 |
| SetInstanceIntField |
71.55 ns |
1.357 ns |
1.133 ns |
1.09 |
0.02 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
64.03 ns |
1.223 ns |
1.201 ns |
0.98 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
433.31 ns |
5.313 ns |
4.710 ns |
6.61 |
0.13 |
0.0029 |
256 B |
10.67 |
| GetStaticIntField |
68.98 ns |
0.323 ns |
0.302 ns |
1.05 |
0.02 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
69.06 ns |
0.365 ns |
0.341 ns |
1.05 |
0.02 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
60.84 ns |
0.288 ns |
0.255 ns |
0.93 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
437.27 ns |
4.001 ns |
3.341 ns |
6.67 |
0.12 |
0.0029 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
66.36 ns |
0.613 ns |
0.543 ns |
1.01 |
0.02 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.20GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
185.2 ns |
0.87 ns |
0.68 ns |
1.00 |
0.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
184.5 ns |
0.74 ns |
0.65 ns |
1.00 |
0.00 |
- |
- |
NA |
| InvokeStaticWithFeedback |
377.9 ns |
3.99 ns |
3.73 ns |
2.04 |
0.02 |
0.0033 |
312 B |
NA |
| InvokeInstanceEmpty |
192.9 ns |
1.40 ns |
1.24 ns |
1.04 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
383.9 ns |
7.71 ns |
10.55 ns |
2.07 |
0.06 |
0.0033 |
312 B |
NA |
core-ubuntu-22.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.20GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.003 μs |
0.0061 μs |
0.0057 μs |
1.00 |
0.0076 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.20GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,322.8 ns |
25.35 ns |
23.71 ns |
1.00 |
0.02 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
387.3 ns |
3.83 ns |
2.99 ns |
0.29 |
0.01 |
0.0033 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
40,065.0 ns |
384.55 ns |
377.68 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
385.6 ns |
2.74 ns |
2.56 ns |
0.010 |
0.00 |
0.0033 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
4,896,943.5 ns |
88,534.37 ns |
78,483.41 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400467 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
401.5 ns |
1.60 ns |
1.33 ns |
0.000 |
0.00 |
0.0033 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.20GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
683.7 ns |
7.82 ns |
6.93 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
685.9 ns |
6.56 ns |
5.48 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
855.8 ns |
5.86 ns |
4.90 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,291.6 ns |
63.02 ns |
67.43 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
278.3 ns |
4.27 ns |
3.57 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
289.5 ns |
3.15 ns |
2.79 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
460.3 ns |
3.75 ns |
3.13 ns |
0.0014 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
2,817.5 ns |
54.68 ns |
65.10 ns |
0.0076 |
680 B |
core-ubuntu-22.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.20GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
398.50 ns |
1.708 ns |
1.427 ns |
0.0008 |
80 B |
| PredicateSustained |
False |
False |
True |
391.24 ns |
1.418 ns |
1.257 ns |
0.0008 |
80 B |
| PredicateSustained |
False |
True |
False |
568.55 ns |
6.284 ns |
5.570 ns |
0.0011 |
176 B |
| PredicateSustained |
False |
True |
True |
2,937.44 ns |
58.238 ns |
69.328 ns |
0.0050 |
736 B |
| PredicateSustained |
True |
False |
False |
33.59 ns |
0.404 ns |
0.337 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
35.63 ns |
0.210 ns |
0.175 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
161.15 ns |
2.271 ns |
1.896 ns |
0.0009 |
96 B |
| PredicateSustained |
True |
True |
True |
2,405.94 ns |
45.448 ns |
40.288 ns |
0.0067 |
656 B |
core-ubuntu-22.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
579.6 ns |
10.56 ns |
9.36 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,689.1 ns |
142.61 ns |
133.40 ns |
13.27 |
0.30 |
0.1068 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,396.9 ns |
23.52 ns |
22.00 ns |
2.41 |
0.05 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,385.0 ns |
13.88 ns |
12.30 ns |
2.39 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,300.5 ns |
102.44 ns |
95.82 ns |
16.05 |
0.29 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
600.9 ns |
10.31 ns |
9.65 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
580,446.9 ns |
8,094.72 ns |
7,571.81 ns |
966.24 |
19.21 |
8.7891 |
1.9531 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
2,283.2 ns |
10.38 ns |
9.21 ns |
3.80 |
0.06 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
2,263.1 ns |
28.10 ns |
26.28 ns |
3.77 |
0.07 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
721,594.3 ns |
6,982.09 ns |
6,189.44 ns |
1,201.20 |
20.96 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
631.3 ns |
7.47 ns |
6.62 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
69,201,798.9 ns |
1,000,057.63 ns |
935,454.53 ns |
109,626.22 |
1,809.23 |
1000.0000 |
857.1429 |
285.7143 |
16002613 B |
51,290.43 |
| InvokeIntArrayFixed |
100000 |
63,612.1 ns |
175.59 ns |
155.66 ns |
100.77 |
1.04 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
63,530.4 ns |
202.92 ns |
179.88 ns |
100.64 |
1.05 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
89,984,192.4 ns |
1,735,826.45 ns |
1,857,314.85 ns |
142,548.70 |
3,203.10 |
1833.3333 |
1666.6667 |
833.3333 |
27893645 B |
89,402.71 |
core-ubuntu-22.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.303 μs |
0.0128 μs |
0.0114 μs |
1.00 |
0.01 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.284 μs |
0.0240 μs |
0.0224 μs |
0.99 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.288 μs |
0.0200 μs |
0.0187 μs |
0.99 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
113.2 ns |
1.92 ns |
1.80 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
136.6 ns |
1.30 ns |
1.16 ns |
1.21 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
117.3 ns |
2.17 ns |
2.03 ns |
1.04 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
696.5 ns |
9.02 ns |
8.44 ns |
6.15 |
0.12 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
121.7 ns |
1.65 ns |
1.46 ns |
1.08 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
122.2 ns |
1.69 ns |
1.58 ns |
1.08 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
114.5 ns |
1.61 ns |
1.51 ns |
1.01 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
705.8 ns |
10.01 ns |
9.37 ns |
6.23 |
0.12 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
118.4 ns |
2.41 ns |
2.37 ns |
1.05 |
0.03 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
340.4 ns |
5.71 ns |
5.34 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
356.1 ns |
6.93 ns |
6.48 ns |
1.05 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
583.6 ns |
6.57 ns |
5.82 ns |
1.71 |
0.03 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
360.3 ns |
6.65 ns |
6.22 ns |
1.06 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
640.5 ns |
11.08 ns |
10.37 ns |
1.88 |
0.04 |
0.0181 |
312 B |
NA |
core-ubuntu-22.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.591 μs |
0.0142 μs |
0.0118 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,384.7 ns |
45.00 ns |
42.09 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
627.8 ns |
9.05 ns |
8.46 ns |
0.26 |
0.01 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
67,669.9 ns |
830.06 ns |
735.82 ns |
1.000 |
0.01 |
1.3428 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
619.2 ns |
7.94 ns |
7.42 ns |
0.009 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,954,379.0 ns |
134,509.80 ns |
125,820.55 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400953 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
676.8 ns |
8.88 ns |
8.31 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,257.6 ns |
16.24 ns |
15.20 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,304.8 ns |
14.88 ns |
13.91 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,663.0 ns |
21.46 ns |
20.07 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,195.2 ns |
43.62 ns |
40.81 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
450.6 ns |
3.88 ns |
3.63 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
465.1 ns |
8.72 ns |
8.16 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
751.2 ns |
5.84 ns |
5.17 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,309.4 ns |
20.73 ns |
16.19 ns |
0.0381 |
680 B |
core-ubuntu-22.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
687.09 ns |
13.428 ns |
13.789 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
667.86 ns |
10.856 ns |
9.623 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
928.03 ns |
16.630 ns |
15.555 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,554.69 ns |
59.121 ns |
55.302 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
35.67 ns |
0.326 ns |
0.305 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
35.84 ns |
0.305 ns |
0.286 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
244.15 ns |
2.460 ns |
2.301 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,727.95 ns |
51.385 ns |
45.551 ns |
0.0300 |
656 B |
core-ubuntu-22.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
499.3 ns |
5.39 ns |
4.78 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,875.3 ns |
78.47 ns |
69.56 ns |
11.77 |
0.17 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,134.3 ns |
9.09 ns |
8.51 ns |
2.27 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,115.1 ns |
11.24 ns |
9.96 ns |
2.23 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
7,728.9 ns |
132.93 ns |
124.34 ns |
15.48 |
0.28 |
0.2060 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
489.6 ns |
6.68 ns |
5.92 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
433,133.5 ns |
4,431.44 ns |
4,145.17 ns |
884.77 |
13.10 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,864.2 ns |
13.13 ns |
12.29 ns |
3.81 |
0.05 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,841.5 ns |
13.27 ns |
12.41 ns |
3.76 |
0.05 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
589,422.9 ns |
2,529.69 ns |
2,366.27 ns |
1,204.03 |
14.67 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
525.6 ns |
6.46 ns |
5.73 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
55,103,076.8 ns |
694,682.36 ns |
649,806.31 ns |
104,846.42 |
1,623.58 |
1111.1111 |
1000.0000 |
333.3333 |
16001855 B |
51,288.00 |
| InvokeIntArrayFixed |
100000 |
52,520.6 ns |
351.71 ns |
328.99 ns |
99.93 |
1.21 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
51,863.2 ns |
187.22 ns |
175.13 ns |
98.68 |
1.08 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
76,054,166.0 ns |
1,479,402.31 ns |
2,259,203.76 ns |
144,710.74 |
4,495.59 |
2142.8571 |
2000.0000 |
1000.0000 |
27894473 B |
89,405.36 |
core-ubuntu-22.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.020 μs |
0.0114 μs |
0.0101 μs |
1.00 |
0.01 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.015 μs |
0.0150 μs |
0.0141 μs |
0.99 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.028 μs |
0.0153 μs |
0.0143 μs |
1.01 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
87.87 ns |
1.053 ns |
0.985 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
91.54 ns |
1.618 ns |
1.513 ns |
1.04 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
89.28 ns |
0.921 ns |
0.861 ns |
1.02 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
566.37 ns |
7.169 ns |
6.706 ns |
6.45 |
0.10 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
91.36 ns |
1.348 ns |
1.195 ns |
1.04 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
93.33 ns |
1.505 ns |
1.408 ns |
1.06 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
85.60 ns |
0.662 ns |
0.619 ns |
0.97 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
566.20 ns |
6.880 ns |
6.099 ns |
6.44 |
0.10 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
92.77 ns |
1.555 ns |
1.378 ns |
1.06 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
241.9 ns |
3.76 ns |
3.52 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
238.5 ns |
4.60 ns |
4.30 ns |
0.99 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
478.4 ns |
8.57 ns |
8.02 ns |
1.98 |
0.04 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
248.7 ns |
3.95 ns |
3.69 ns |
1.03 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
488.0 ns |
8.85 ns |
8.28 ns |
2.02 |
0.04 |
0.0181 |
312 B |
NA |
core-ubuntu-22.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.257 μs |
0.0090 μs |
0.0075 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,826.6 ns |
20.87 ns |
19.52 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
515.5 ns |
9.89 ns |
9.71 ns |
0.28 |
0.01 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
51,540.1 ns |
569.73 ns |
532.93 ns |
1.00 |
0.01 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
518.6 ns |
9.29 ns |
8.69 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,458,754.1 ns |
129,372.15 ns |
114,685.04 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400872 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
563.4 ns |
3.95 ns |
3.09 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
958.1 ns |
11.70 ns |
10.95 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
960.3 ns |
10.62 ns |
9.41 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,241.2 ns |
12.60 ns |
11.17 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,083.2 ns |
45.22 ns |
40.08 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
348.2 ns |
6.11 ns |
5.71 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
373.5 ns |
5.21 ns |
4.88 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
613.0 ns |
9.39 ns |
8.33 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,349.7 ns |
29.38 ns |
27.48 ns |
0.0381 |
680 B |
core-ubuntu-22.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
489.79 ns |
9.603 ns |
9.431 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
487.70 ns |
7.516 ns |
6.277 ns |
0.0045 |
80 B |
| PredicateSustained |
False |
True |
False |
678.40 ns |
13.528 ns |
13.286 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,455.97 ns |
34.264 ns |
30.374 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
26.62 ns |
0.290 ns |
0.272 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
26.22 ns |
0.305 ns |
0.271 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
183.44 ns |
1.617 ns |
1.434 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,843.04 ns |
39.243 ns |
34.788 ns |
0.0350 |
656 B |
core-ubuntu-22.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
679.9 ns |
13.49 ns |
12.62 ns |
1.00 |
0.03 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,165.4 ns |
37.04 ns |
28.92 ns |
10.54 |
0.19 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,437.5 ns |
15.24 ns |
14.26 ns |
2.11 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,432.7 ns |
16.78 ns |
14.87 ns |
2.11 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,587.0 ns |
63.55 ns |
49.61 ns |
14.10 |
0.26 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
670.0 ns |
11.01 ns |
10.30 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
535,464.5 ns |
6,807.13 ns |
5,684.26 ns |
799.36 |
14.33 |
8.7891 |
1.9531 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
2,189.6 ns |
17.30 ns |
15.34 ns |
3.27 |
0.05 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
2,154.4 ns |
22.98 ns |
21.50 ns |
3.22 |
0.06 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
758,658.1 ns |
12,217.57 ns |
11,428.33 ns |
1,132.55 |
23.47 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
691.3 ns |
5.45 ns |
4.55 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
66,197,775.8 ns |
791,299.78 ns |
701,466.64 ns |
95,768.85 |
1,153.33 |
1000.0000 |
875.0000 |
250.0000 |
16000930 B |
51,285.03 |
| InvokeIntArrayFixed |
100000 |
71,270.5 ns |
337.91 ns |
316.08 ns |
103.11 |
0.79 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
70,413.3 ns |
379.59 ns |
336.50 ns |
101.87 |
0.80 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
93,697,424.5 ns |
1,398,885.15 ns |
1,308,518.04 ns |
135,552.80 |
2,024.89 |
1833.3333 |
1666.6667 |
833.3333 |
27894237 B |
89,404.61 |
core-ubuntu-22.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.334 μs |
0.0207 μs |
0.0194 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.336 μs |
0.0138 μs |
0.0122 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.313 μs |
0.0137 μs |
0.0128 μs |
0.98 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
102.0 ns |
1.98 ns |
1.94 ns |
1.00 |
0.03 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
113.1 ns |
1.59 ns |
1.49 ns |
1.11 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
105.7 ns |
1.90 ns |
1.78 ns |
1.04 |
0.03 |
- |
- |
0.00 |
| SetInstanceStringField |
721.7 ns |
7.52 ns |
7.03 ns |
7.08 |
0.15 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
110.1 ns |
2.12 ns |
2.18 ns |
1.08 |
0.03 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
117.8 ns |
2.31 ns |
2.48 ns |
1.16 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
101.3 ns |
1.18 ns |
1.10 ns |
0.99 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
728.3 ns |
7.45 ns |
6.60 ns |
7.14 |
0.15 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
122.1 ns |
2.37 ns |
2.22 ns |
1.20 |
0.03 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
334.0 ns |
5.90 ns |
5.52 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
317.1 ns |
3.96 ns |
3.51 ns |
0.95 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
673.0 ns |
8.04 ns |
7.13 ns |
2.02 |
0.04 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
331.3 ns |
5.22 ns |
4.88 ns |
0.99 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
675.5 ns |
8.48 ns |
7.93 ns |
2.02 |
0.04 |
0.0181 |
312 B |
NA |
core-ubuntu-22.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.671 μs |
0.0165 μs |
0.0155 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,363.7 ns |
15.02 ns |
12.54 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
714.2 ns |
11.05 ns |
10.34 ns |
0.30 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
63,511.1 ns |
969.04 ns |
906.44 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
729.3 ns |
14.14 ns |
15.13 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,597,511.3 ns |
169,755.70 ns |
208,475.26 ns |
1.001 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400467 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
767.3 ns |
10.62 ns |
9.93 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,271.5 ns |
23.55 ns |
22.03 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,265.4 ns |
24.94 ns |
26.69 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,598.3 ns |
13.33 ns |
12.47 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,159.7 ns |
84.12 ns |
78.69 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
509.9 ns |
6.71 ns |
6.28 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
484.3 ns |
9.33 ns |
11.11 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
816.1 ns |
15.93 ns |
15.64 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,313.8 ns |
61.78 ns |
57.78 ns |
0.0381 |
680 B |
core-ubuntu-22.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
659.76 ns |
12.965 ns |
11.493 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
651.06 ns |
10.243 ns |
9.581 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
953.73 ns |
17.997 ns |
16.834 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,571.19 ns |
45.450 ns |
42.514 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
32.96 ns |
0.416 ns |
0.369 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
32.89 ns |
0.560 ns |
0.497 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
242.51 ns |
2.330 ns |
2.180 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,762.49 ns |
25.763 ns |
24.099 ns |
0.0300 |
656 B |
core-ubuntu-22.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.42GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
472.2 ns |
4.25 ns |
3.98 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,720.7 ns |
38.18 ns |
35.71 ns |
12.12 |
0.12 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
960.3 ns |
7.97 ns |
7.07 ns |
2.03 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
947.2 ns |
9.69 ns |
9.06 ns |
2.01 |
0.02 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,723.9 ns |
91.97 ns |
86.03 ns |
18.48 |
0.23 |
0.0305 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
466.0 ns |
4.23 ns |
3.75 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
449,469.8 ns |
3,828.17 ns |
3,580.87 ns |
964.60 |
10.58 |
1.4648 |
0.4883 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,676.6 ns |
9.90 ns |
7.73 ns |
3.60 |
0.03 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,677.2 ns |
9.04 ns |
8.02 ns |
3.60 |
0.03 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
733,479.9 ns |
14,236.28 ns |
12,620.10 ns |
1,574.10 |
28.90 |
2.9297 |
- |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
464.5 ns |
3.57 ns |
3.34 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
48,466,524.7 ns |
339,798.54 ns |
317,847.77 ns |
104,354.76 |
981.47 |
300.0000 |
200.0000 |
200.0000 |
16001266 B |
51,286.11 |
| InvokeIntArrayFixed |
100000 |
69,784.3 ns |
1,185.05 ns |
1,108.49 ns |
150.25 |
2.54 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
68,163.4 ns |
1,320.92 ns |
1,356.48 ns |
146.76 |
3.02 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,522,451.0 ns |
1,629,260.56 ns |
1,876,258.89 ns |
177,681.62 |
4,132.16 |
1166.6667 |
1000.0000 |
1000.0000 |
27897739 B |
89,415.83 |
core-ubuntu-22.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.42GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
938.6 ns |
4.66 ns |
3.89 ns |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
937.5 ns |
9.32 ns |
8.26 ns |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
927.8 ns |
6.78 ns |
6.01 ns |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-22.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.42GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
78.33 ns |
0.373 ns |
0.349 ns |
1.00 |
0.01 |
0.0002 |
24 B |
1.00 |
| SetInstanceIntField |
83.71 ns |
0.558 ns |
0.494 ns |
1.07 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
79.48 ns |
0.595 ns |
0.557 ns |
1.01 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
544.54 ns |
4.359 ns |
4.077 ns |
6.95 |
0.06 |
0.0029 |
256 B |
10.67 |
| GetStaticIntField |
84.10 ns |
0.629 ns |
0.557 ns |
1.07 |
0.01 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
87.75 ns |
0.663 ns |
0.554 ns |
1.12 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
79.32 ns |
0.515 ns |
0.482 ns |
1.01 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
556.31 ns |
3.718 ns |
3.478 ns |
7.10 |
0.05 |
0.0029 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
83.77 ns |
0.475 ns |
0.421 ns |
1.07 |
0.01 |
0.0002 |
24 B |
1.00 |
core-ubuntu-22.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.42GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
226.3 ns |
1.19 ns |
1.05 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
223.0 ns |
2.19 ns |
2.05 ns |
0.99 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
470.9 ns |
5.54 ns |
4.91 ns |
2.08 |
0.02 |
0.0029 |
312 B |
NA |
| InvokeInstanceEmpty |
236.3 ns |
1.55 ns |
1.38 ns |
1.04 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
482.9 ns |
5.70 ns |
5.33 ns |
2.13 |
0.02 |
0.0029 |
312 B |
NA |
core-ubuntu-22.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.42GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.124 μs |
0.0074 μs |
0.0069 μs |
1.00 |
0.0076 |
680 B |
1.00 |
core-ubuntu-22.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.42GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,693.4 ns |
14.15 ns |
13.23 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
480.5 ns |
5.75 ns |
5.38 ns |
0.28 |
0.00 |
0.0029 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
52,729.7 ns |
276.00 ns |
258.17 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
473.2 ns |
5.70 ns |
5.05 ns |
0.009 |
0.00 |
0.0033 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
5,715,411.1 ns |
89,811.70 ns |
84,009.92 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400467 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
494.8 ns |
5.51 ns |
5.15 ns |
0.000 |
0.00 |
0.0029 |
- |
- |
288 B |
0.000 |
core-ubuntu-22.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.42GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
887.5 ns |
8.90 ns |
8.33 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
928.2 ns |
6.88 ns |
6.10 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,094.0 ns |
8.95 ns |
7.94 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,900.3 ns |
72.42 ns |
67.75 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
386.0 ns |
1.95 ns |
1.83 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
341.7 ns |
2.34 ns |
2.19 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
556.2 ns |
8.06 ns |
7.54 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,289.5 ns |
33.61 ns |
31.44 ns |
0.0076 |
680 B |
core-ubuntu-22.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.42GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
507.67 ns |
5.702 ns |
5.333 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
501.30 ns |
4.325 ns |
4.046 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
697.39 ns |
3.268 ns |
2.897 ns |
0.0013 |
176 B |
| PredicateSustained |
False |
True |
True |
3,487.18 ns |
67.794 ns |
69.619 ns |
- |
736 B |
| PredicateSustained |
True |
False |
False |
42.63 ns |
0.219 ns |
0.205 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
42.88 ns |
0.168 ns |
0.157 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
193.50 ns |
1.414 ns |
1.323 ns |
0.0009 |
96 B |
| PredicateSustained |
True |
True |
True |
2,864.40 ns |
32.336 ns |
30.247 ns |
0.0050 |
656 B |
core-ubuntu-22.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
524.5 ns |
9.73 ns |
9.10 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,321.6 ns |
65.93 ns |
61.68 ns |
12.05 |
0.23 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,216.1 ns |
4.83 ns |
4.52 ns |
2.32 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,276.7 ns |
12.22 ns |
11.43 ns |
2.43 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,277.6 ns |
162.00 ns |
143.61 ns |
15.78 |
0.37 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
534.9 ns |
10.08 ns |
9.90 ns |
1.00 |
0.03 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
477,575.4 ns |
4,859.59 ns |
4,307.90 ns |
893.19 |
17.72 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,971.3 ns |
23.19 ns |
20.55 ns |
3.69 |
0.08 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,959.4 ns |
24.30 ns |
21.54 ns |
3.66 |
0.08 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
638,140.8 ns |
8,690.15 ns |
8,128.77 ns |
1,193.48 |
25.86 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
522.6 ns |
6.21 ns |
5.81 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,876,941.2 ns |
695,029.50 ns |
616,125.55 ns |
112,682.97 |
1,660.54 |
1111.1111 |
1000.0000 |
333.3333 |
16002147 B |
46,517.87 |
| InvokeIntArrayFixed |
100000 |
52,005.2 ns |
348.24 ns |
271.88 ns |
99.53 |
1.18 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
52,114.1 ns |
423.07 ns |
375.04 ns |
99.74 |
1.27 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
81,126,890.1 ns |
964,265.44 ns |
901,974.49 ns |
155,266.54 |
2,359.02 |
2000.0000 |
1857.1429 |
857.1429 |
27894081 B |
81,087.44 |
core-ubuntu-22.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.143 μs |
0.0163 μs |
0.0152 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.139 μs |
0.0169 μs |
0.0158 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.129 μs |
0.0169 μs |
0.0158 μs |
0.99 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
109.3 ns |
1.30 ns |
1.22 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
129.1 ns |
1.93 ns |
1.81 ns |
1.18 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
111.4 ns |
1.36 ns |
1.27 ns |
1.02 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
653.8 ns |
7.09 ns |
6.63 ns |
5.98 |
0.09 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
114.7 ns |
1.34 ns |
1.19 ns |
1.05 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
127.5 ns |
2.39 ns |
2.24 ns |
1.17 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
110.6 ns |
1.56 ns |
1.46 ns |
1.01 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
645.6 ns |
8.73 ns |
8.17 ns |
5.91 |
0.10 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
141.7 ns |
1.86 ns |
1.74 ns |
1.30 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
305.8 ns |
6.03 ns |
5.93 ns |
1.00 |
0.03 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
277.9 ns |
5.36 ns |
5.02 ns |
0.91 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
574.1 ns |
7.61 ns |
7.12 ns |
1.88 |
0.04 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
315.8 ns |
4.87 ns |
4.32 ns |
1.03 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
546.5 ns |
7.26 ns |
6.44 ns |
1.79 |
0.04 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.358 μs |
0.0139 μs |
0.0130 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,996.2 ns |
24.00 ns |
22.45 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
564.4 ns |
9.60 ns |
8.98 ns |
0.28 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
56,475.0 ns |
661.63 ns |
618.89 ns |
1.00 |
0.01 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
567.4 ns |
10.05 ns |
9.40 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,020,600.2 ns |
159,654.36 ns |
248,562.62 ns |
1.001 |
0.04 |
78.1250 |
78.1250 |
78.1250 |
2400976 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
621.1 ns |
12.01 ns |
11.79 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,025.2 ns |
10.74 ns |
9.52 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,032.0 ns |
12.28 ns |
11.48 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,262.4 ns |
15.58 ns |
14.58 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,423.2 ns |
76.93 ns |
71.96 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
376.0 ns |
4.79 ns |
4.48 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
386.3 ns |
5.95 ns |
5.56 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
602.3 ns |
5.13 ns |
4.80 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,712.9 ns |
26.85 ns |
22.42 ns |
0.0420 |
712 B |
core-ubuntu-22.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
537.49 ns |
8.186 ns |
7.657 ns |
0.0044 |
80 B |
| PredicateSustained |
False |
False |
True |
542.11 ns |
8.769 ns |
8.203 ns |
0.0044 |
80 B |
| PredicateSustained |
False |
True |
False |
738.84 ns |
12.290 ns |
11.496 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,909.56 ns |
55.157 ns |
51.594 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
35.46 ns |
0.350 ns |
0.310 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
36.10 ns |
0.305 ns |
0.271 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
187.71 ns |
3.268 ns |
3.057 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,163.04 ns |
37.348 ns |
34.935 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.83GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
675.0 ns |
7.58 ns |
6.72 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,963.1 ns |
107.66 ns |
100.71 ns |
11.80 |
0.18 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,542.5 ns |
22.84 ns |
21.37 ns |
2.29 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,531.6 ns |
18.35 ns |
17.16 ns |
2.27 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,367.2 ns |
179.93 ns |
159.50 ns |
15.36 |
0.27 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
679.5 ns |
7.25 ns |
6.42 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
608,939.0 ns |
6,899.64 ns |
6,453.93 ns |
896.24 |
12.30 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,357.9 ns |
16.99 ns |
14.19 ns |
3.47 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,399.2 ns |
21.28 ns |
19.90 ns |
3.53 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
824,947.0 ns |
11,891.88 ns |
11,123.68 ns |
1,214.16 |
19.33 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
685.5 ns |
7.43 ns |
6.20 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
72,142,973.9 ns |
1,349,256.61 ns |
1,499,695.15 ns |
105,244.69 |
2,321.31 |
1000.0000 |
857.1429 |
285.7143 |
16001574 B |
46,516.20 |
| InvokeIntArrayFixed |
100000 |
62,831.3 ns |
187.24 ns |
156.36 ns |
91.66 |
0.83 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
62,786.9 ns |
133.51 ns |
104.24 ns |
91.60 |
0.81 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
100,315,948.0 ns |
1,655,134.93 ns |
1,625,563.81 ns |
146,344.41 |
2,629.46 |
1800.0000 |
1600.0000 |
800.0000 |
27894152 B |
81,087.65 |
core-ubuntu-22.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.83GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.423 μs |
0.0216 μs |
0.0191 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.422 μs |
0.0189 μs |
0.0177 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.406 μs |
0.0115 μs |
0.0096 μs |
0.99 |
0.01 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.83GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
141.2 ns |
1.70 ns |
1.59 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
159.0 ns |
2.17 ns |
2.03 ns |
1.13 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
167.5 ns |
1.30 ns |
1.09 ns |
1.19 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
802.9 ns |
14.50 ns |
13.57 ns |
5.69 |
0.11 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
143.2 ns |
1.86 ns |
1.74 ns |
1.01 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
158.5 ns |
2.26 ns |
2.12 ns |
1.12 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
135.8 ns |
2.12 ns |
1.98 ns |
0.96 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
795.4 ns |
15.53 ns |
14.52 ns |
5.63 |
0.12 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
173.7 ns |
1.53 ns |
1.43 ns |
1.23 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.83GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
340.6 ns |
4.94 ns |
4.38 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
339.6 ns |
3.33 ns |
3.12 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
652.7 ns |
9.60 ns |
8.98 ns |
1.92 |
0.03 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
398.9 ns |
7.33 ns |
6.49 ns |
1.17 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
683.7 ns |
10.23 ns |
9.57 ns |
2.01 |
0.04 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.83GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.707 μs |
0.0178 μs |
0.0166 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.83GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,427.9 ns |
32.15 ns |
28.50 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
735.5 ns |
13.87 ns |
12.97 ns |
0.30 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
70,661.4 ns |
1,146.48 ns |
1,072.41 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
742.2 ns |
11.45 ns |
10.15 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,949,974.4 ns |
175,001.04 ns |
187,249.15 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400626 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
836.3 ns |
15.91 ns |
14.88 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.83GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,348.0 ns |
16.45 ns |
15.38 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,335.3 ns |
21.51 ns |
20.12 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,602.5 ns |
16.74 ns |
15.66 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,470.3 ns |
60.48 ns |
56.57 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
486.4 ns |
9.57 ns |
8.95 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
474.7 ns |
7.39 ns |
6.91 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
770.7 ns |
9.77 ns |
9.14 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,620.6 ns |
27.69 ns |
24.54 ns |
0.0381 |
712 B |
core-ubuntu-22.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.83GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
687.60 ns |
7.441 ns |
6.213 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
False |
True |
734.30 ns |
11.532 ns |
10.787 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
True |
False |
909.97 ns |
17.941 ns |
22.034 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,935.03 ns |
80.464 ns |
75.266 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
44.45 ns |
0.547 ns |
0.512 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
45.74 ns |
0.753 ns |
0.704 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
240.43 ns |
3.514 ns |
3.287 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,909.81 ns |
52.225 ns |
48.851 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
395.5 ns |
7.02 ns |
6.56 ns |
1.00 |
0.02 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
4,673.3 ns |
73.65 ns |
61.50 ns |
11.82 |
0.24 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
900.1 ns |
9.71 ns |
9.08 ns |
2.28 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
898.2 ns |
17.67 ns |
21.03 ns |
2.27 |
0.06 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
6,015.7 ns |
91.86 ns |
81.43 ns |
15.21 |
0.32 |
0.2060 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
394.6 ns |
6.70 ns |
5.59 ns |
1.00 |
0.02 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
358,282.2 ns |
3,910.25 ns |
3,466.33 ns |
908.19 |
15.17 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,367.0 ns |
11.11 ns |
9.28 ns |
3.46 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,310.1 ns |
13.20 ns |
11.03 ns |
3.32 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
471,013.4 ns |
8,538.80 ns |
7,987.20 ns |
1,193.94 |
25.64 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
401.9 ns |
5.71 ns |
5.06 ns |
1.00 |
0.02 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
40,692,706.3 ns |
646,407.31 ns |
744,403.62 ns |
101,269.80 |
2,195.81 |
1076.9231 |
923.0769 |
307.6923 |
16001967 B |
46,517.35 |
| InvokeIntArrayFixed |
100000 |
37,277.1 ns |
624.91 ns |
553.97 ns |
92.77 |
1.75 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
37,050.7 ns |
700.34 ns |
584.82 ns |
92.21 |
1.80 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
55,774,231.5 ns |
752,921.15 ns |
667,444.99 ns |
138,802.40 |
2,343.07 |
1888.8889 |
1777.7778 |
777.7778 |
27893372 B |
81,085.38 |
core-ubuntu-22.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
782.7 ns |
11.52 ns |
10.21 ns |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
796.0 ns |
14.92 ns |
14.66 ns |
1.02 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
792.7 ns |
15.31 ns |
14.32 ns |
1.01 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
64.28 ns |
1.267 ns |
1.459 ns |
1.00 |
0.03 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
81.44 ns |
0.828 ns |
0.775 ns |
1.27 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
65.52 ns |
0.669 ns |
0.559 ns |
1.02 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
462.53 ns |
6.220 ns |
5.194 ns |
7.20 |
0.18 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
69.72 ns |
1.248 ns |
1.336 ns |
1.09 |
0.03 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
77.32 ns |
0.917 ns |
0.858 ns |
1.20 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
65.16 ns |
1.296 ns |
1.331 ns |
1.01 |
0.03 |
- |
- |
0.00 |
| SetStaticStringField |
461.46 ns |
8.636 ns |
8.078 ns |
7.18 |
0.20 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
81.59 ns |
1.511 ns |
1.339 ns |
1.27 |
0.03 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
187.6 ns |
2.12 ns |
1.99 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
166.8 ns |
2.34 ns |
2.08 ns |
0.89 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
379.8 ns |
7.24 ns |
8.34 ns |
2.03 |
0.05 |
0.0205 |
344 B |
NA |
| InvokeInstanceEmpty |
188.2 ns |
3.74 ns |
5.24 ns |
1.00 |
0.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
410.1 ns |
5.81 ns |
5.44 ns |
2.19 |
0.04 |
0.0205 |
344 B |
NA |
core-ubuntu-22.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.004 μs |
0.0116 μs |
0.0108 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,373.2 ns |
21.04 ns |
19.68 ns |
1.00 |
0.02 |
0.0401 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
415.3 ns |
3.53 ns |
2.94 ns |
0.30 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
37,773.1 ns |
736.22 ns |
756.05 ns |
1.00 |
0.03 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
401.3 ns |
8.02 ns |
10.98 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
5,239,106.7 ns |
72,258.04 ns |
64,054.87 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2401005 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
429.4 ns |
4.09 ns |
3.62 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
724.1 ns |
7.43 ns |
6.20 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
723.7 ns |
10.72 ns |
9.51 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
878.5 ns |
12.80 ns |
11.35 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,078.9 ns |
25.93 ns |
24.26 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
251.8 ns |
3.92 ns |
3.47 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
262.7 ns |
5.06 ns |
3.95 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
433.6 ns |
7.95 ns |
7.44 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
2,652.1 ns |
44.46 ns |
49.42 ns |
0.0420 |
712 B |
core-ubuntu-22.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.55GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
363.43 ns |
3.408 ns |
2.846 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
False |
True |
360.16 ns |
7.081 ns |
8.155 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
True |
False |
503.16 ns |
9.988 ns |
12.266 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
2,685.52 ns |
45.944 ns |
42.976 ns |
0.0450 |
768 B |
| PredicateSustained |
True |
False |
False |
35.05 ns |
0.330 ns |
0.309 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
34.75 ns |
0.678 ns |
0.666 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
145.30 ns |
2.725 ns |
2.416 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,220.31 ns |
44.142 ns |
39.131 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
741.8 ns |
12.40 ns |
11.60 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,863.0 ns |
128.61 ns |
120.30 ns |
10.60 |
0.22 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,602.7 ns |
13.36 ns |
12.49 ns |
2.16 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,629.7 ns |
14.13 ns |
13.21 ns |
2.20 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,771.4 ns |
140.83 ns |
131.73 ns |
14.52 |
0.28 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
713.2 ns |
7.91 ns |
6.60 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
591,700.3 ns |
4,693.98 ns |
3,919.69 ns |
829.71 |
9.10 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,354.5 ns |
22.49 ns |
21.03 ns |
3.30 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,336.1 ns |
17.98 ns |
16.81 ns |
3.28 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
852,991.1 ns |
6,679.28 ns |
6,247.80 ns |
1,196.11 |
13.63 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
749.2 ns |
7.25 ns |
6.78 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
70,662,099.2 ns |
803,322.21 ns |
751,428.09 ns |
94,325.48 |
1,274.35 |
1000.0000 |
857.1429 |
285.7143 |
16001818 B |
46,516.91 |
| InvokeIntArrayFixed |
100000 |
71,856.0 ns |
273.39 ns |
242.35 ns |
95.92 |
0.90 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
71,436.3 ns |
240.64 ns |
200.94 ns |
95.36 |
0.87 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
102,011,426.8 ns |
1,937,323.46 ns |
1,812,173.56 ns |
136,173.10 |
2,627.73 |
1800.0000 |
1600.0000 |
800.0000 |
27894898 B |
81,089.82 |
core-ubuntu-22.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.459 μs |
0.0212 μs |
0.0198 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.415 μs |
0.0222 μs |
0.0208 μs |
0.97 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.427 μs |
0.0169 μs |
0.0150 μs |
0.98 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
116.7 ns |
2.31 ns |
2.37 ns |
1.00 |
0.03 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
140.7 ns |
1.72 ns |
1.53 ns |
1.21 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
119.3 ns |
2.20 ns |
2.06 ns |
1.02 |
0.03 |
- |
- |
0.00 |
| SetInstanceStringField |
798.5 ns |
8.33 ns |
7.79 ns |
6.85 |
0.15 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
125.1 ns |
2.06 ns |
1.82 ns |
1.07 |
0.03 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
144.1 ns |
1.20 ns |
1.07 ns |
1.24 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
114.9 ns |
0.97 ns |
0.81 ns |
0.99 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
800.0 ns |
3.71 ns |
3.29 ns |
6.86 |
0.14 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
164.7 ns |
2.97 ns |
2.77 ns |
1.41 |
0.04 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
352.3 ns |
6.21 ns |
5.81 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
330.9 ns |
3.29 ns |
2.92 ns |
0.94 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
758.6 ns |
6.71 ns |
6.28 ns |
2.15 |
0.04 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
372.6 ns |
5.67 ns |
5.03 ns |
1.06 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
751.3 ns |
13.38 ns |
12.51 ns |
2.13 |
0.05 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.770 μs |
0.0207 μs |
0.0193 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,559.8 ns |
46.60 ns |
43.59 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
796.9 ns |
9.88 ns |
9.24 ns |
0.31 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
71,285.2 ns |
921.51 ns |
861.98 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
779.2 ns |
15.35 ns |
15.76 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,761,536.9 ns |
169,449.66 ns |
195,138.48 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
833.0 ns |
9.06 ns |
7.56 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,280.1 ns |
21.44 ns |
20.06 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,272.3 ns |
20.86 ns |
18.49 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,593.7 ns |
19.86 ns |
18.58 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,472.0 ns |
48.41 ns |
42.91 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
527.9 ns |
5.93 ns |
5.55 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
508.9 ns |
10.19 ns |
9.54 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
832.8 ns |
14.51 ns |
13.57 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,625.5 ns |
30.88 ns |
27.37 ns |
0.0381 |
712 B |
core-ubuntu-22.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.64GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
701.77 ns |
13.585 ns |
12.707 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
670.96 ns |
10.862 ns |
9.071 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
912.89 ns |
12.924 ns |
12.089 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,856.87 ns |
37.082 ns |
32.872 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
43.58 ns |
0.778 ns |
0.728 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
43.86 ns |
0.629 ns |
0.588 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
241.64 ns |
1.634 ns |
1.448 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
4,028.29 ns |
35.926 ns |
28.049 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
744.1 ns |
7.12 ns |
5.94 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
8,164.3 ns |
145.53 ns |
129.01 ns |
10.97 |
0.19 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,621.8 ns |
9.14 ns |
7.63 ns |
2.18 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,652.0 ns |
8.31 ns |
7.37 ns |
2.22 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,788.0 ns |
125.60 ns |
117.48 ns |
14.50 |
0.19 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
745.3 ns |
12.76 ns |
11.31 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
618,189.8 ns |
2,788.78 ns |
2,472.18 ns |
829.68 |
12.48 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,111.2 ns |
30.67 ns |
28.69 ns |
2.83 |
0.06 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,093.4 ns |
16.28 ns |
13.59 ns |
2.81 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
870,653.9 ns |
9,961.61 ns |
9,318.09 ns |
1,168.52 |
20.86 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
735.6 ns |
11.07 ns |
10.35 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
73,146,118.8 ns |
808,694.86 ns |
675,296.84 ns |
99,453.63 |
1,626.10 |
1000.0000 |
857.1429 |
285.7143 |
16002657 B |
46,519.35 |
| InvokeIntArrayFixed |
100000 |
45,269.6 ns |
233.86 ns |
195.28 ns |
61.55 |
0.88 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
45,330.5 ns |
350.72 ns |
328.06 ns |
61.63 |
0.95 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
102,518,320.8 ns |
1,632,251.82 ns |
1,526,809.37 ns |
139,389.75 |
2,774.12 |
1800.0000 |
1600.0000 |
800.0000 |
27893565 B |
81,085.94 |
core-ubuntu-22.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.485 μs |
0.0223 μs |
0.0198 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.500 μs |
0.0229 μs |
0.0214 μs |
1.01 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.505 μs |
0.0217 μs |
0.0203 μs |
1.01 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
126.4 ns |
1.41 ns |
1.32 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
145.0 ns |
2.82 ns |
2.90 ns |
1.15 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
126.7 ns |
1.84 ns |
1.63 ns |
1.00 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
878.7 ns |
6.12 ns |
5.72 ns |
6.95 |
0.08 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
125.8 ns |
1.46 ns |
1.22 ns |
0.99 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
142.0 ns |
2.83 ns |
2.64 ns |
1.12 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
114.5 ns |
1.69 ns |
1.49 ns |
0.91 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
860.9 ns |
7.34 ns |
6.51 ns |
6.81 |
0.08 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
159.5 ns |
3.03 ns |
3.24 ns |
1.26 |
0.03 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
355.2 ns |
5.22 ns |
4.88 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
333.0 ns |
3.64 ns |
3.41 ns |
0.94 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
702.4 ns |
13.23 ns |
12.37 ns |
1.98 |
0.04 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
359.3 ns |
5.27 ns |
4.93 ns |
1.01 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
740.9 ns |
9.59 ns |
8.97 ns |
2.09 |
0.04 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.809 μs |
0.0216 μs |
0.0202 μs |
1.00 |
0.02 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,528.3 ns |
30.95 ns |
27.44 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
772.7 ns |
11.40 ns |
10.66 ns |
0.31 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
66,294.1 ns |
1,151.39 ns |
1,020.68 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
752.0 ns |
11.09 ns |
10.38 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,663,658.6 ns |
169,373.84 ns |
263,694.68 ns |
1.001 |
0.04 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
839.7 ns |
13.37 ns |
12.51 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,364.3 ns |
22.47 ns |
19.92 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,313.9 ns |
19.55 ns |
18.29 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,642.9 ns |
26.76 ns |
25.04 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,637.3 ns |
61.20 ns |
51.10 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
489.0 ns |
8.05 ns |
7.90 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
492.6 ns |
9.86 ns |
10.12 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
793.2 ns |
9.81 ns |
9.18 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,770.5 ns |
61.93 ns |
57.92 ns |
0.0381 |
712 B |
core-ubuntu-22.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
723.69 ns |
14.058 ns |
14.436 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
False |
True |
697.59 ns |
11.982 ns |
11.208 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
958.75 ns |
16.822 ns |
15.735 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
5,023.99 ns |
44.363 ns |
41.497 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
42.11 ns |
0.517 ns |
0.459 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
42.12 ns |
0.661 ns |
0.619 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
247.22 ns |
2.922 ns |
2.733 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
4,158.25 ns |
42.463 ns |
37.643 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.73GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
734.6 ns |
12.44 ns |
11.64 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,944.7 ns |
75.32 ns |
66.77 ns |
10.82 |
0.19 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,599.6 ns |
14.08 ns |
12.48 ns |
2.18 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,613.3 ns |
9.11 ns |
8.52 ns |
2.20 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,386.9 ns |
65.32 ns |
54.54 ns |
14.14 |
0.23 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
715.6 ns |
11.60 ns |
10.85 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
599,025.6 ns |
4,178.68 ns |
3,704.29 ns |
837.28 |
13.22 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,089.9 ns |
22.55 ns |
21.09 ns |
2.92 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,112.6 ns |
26.27 ns |
24.57 ns |
2.95 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
800,216.1 ns |
12,329.07 ns |
11,532.62 ns |
1,118.49 |
22.60 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
716.6 ns |
12.98 ns |
12.15 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
70,707,328.3 ns |
947,393.04 ns |
886,192.03 ns |
98,700.15 |
2,004.99 |
1000.0000 |
857.1429 |
285.7143 |
16000954 B |
46,514.40 |
| InvokeIntArrayFixed |
100000 |
48,485.7 ns |
547.11 ns |
511.77 ns |
67.68 |
1.30 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
48,543.7 ns |
331.54 ns |
310.13 ns |
67.76 |
1.18 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
101,975,284.2 ns |
1,386,980.59 ns |
1,229,522.17 ns |
142,347.00 |
2,850.88 |
1800.0000 |
1600.0000 |
800.0000 |
27893637 B |
81,086.15 |
core-ubuntu-22.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.73GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.436 μs |
0.0177 μs |
0.0165 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.421 μs |
0.0156 μs |
0.0146 μs |
0.99 |
0.01 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.402 μs |
0.0214 μs |
0.0200 μs |
0.98 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.73GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
122.2 ns |
2.23 ns |
2.09 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
138.6 ns |
2.37 ns |
2.21 ns |
1.13 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
125.0 ns |
2.53 ns |
2.91 ns |
1.02 |
0.03 |
- |
- |
0.00 |
| SetInstanceStringField |
818.6 ns |
10.12 ns |
9.46 ns |
6.70 |
0.13 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
123.6 ns |
1.35 ns |
1.19 ns |
1.01 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
139.5 ns |
2.80 ns |
2.87 ns |
1.14 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
113.2 ns |
0.95 ns |
0.85 ns |
0.93 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
824.7 ns |
5.45 ns |
4.83 ns |
6.75 |
0.12 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
163.3 ns |
1.46 ns |
1.22 ns |
1.34 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.73GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
350.0 ns |
6.95 ns |
6.50 ns |
1.00 |
0.03 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
324.2 ns |
5.35 ns |
5.01 ns |
0.93 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
694.9 ns |
6.00 ns |
5.61 ns |
1.99 |
0.04 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
366.9 ns |
4.28 ns |
3.79 ns |
1.05 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
728.0 ns |
11.61 ns |
10.86 ns |
2.08 |
0.05 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.73GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.814 μs |
0.0178 μs |
0.0167 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.73GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,514.8 ns |
38.40 ns |
35.92 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
780.5 ns |
10.71 ns |
8.94 ns |
0.31 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
70,030.0 ns |
1,146.62 ns |
1,072.54 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
793.3 ns |
12.42 ns |
11.62 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,256,191.2 ns |
184,606.94 ns |
219,761.45 ns |
1.001 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400625 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
841.4 ns |
13.33 ns |
12.47 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.73GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,268.1 ns |
15.67 ns |
13.09 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,283.5 ns |
24.58 ns |
24.14 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,602.4 ns |
23.50 ns |
19.62 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,483.6 ns |
47.32 ns |
41.95 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
510.4 ns |
9.54 ns |
9.80 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
492.4 ns |
8.48 ns |
7.93 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
756.8 ns |
6.31 ns |
5.91 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,608.2 ns |
65.79 ns |
61.54 ns |
0.0381 |
712 B |
core-ubuntu-22.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.73GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
682.65 ns |
12.994 ns |
13.903 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
677.36 ns |
13.055 ns |
13.406 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
949.09 ns |
17.399 ns |
16.275 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,961.52 ns |
82.257 ns |
76.944 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
41.99 ns |
0.588 ns |
0.491 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
42.29 ns |
0.628 ns |
0.588 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
249.34 ns |
3.180 ns |
2.974 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,985.15 ns |
76.996 ns |
75.621 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
663.2 ns |
6.70 ns |
6.26 ns |
1.00 |
0.01 |
0.0134 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
8,240.0 ns |
62.08 ns |
55.04 ns |
12.43 |
0.14 |
0.0763 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,564.6 ns |
14.55 ns |
13.61 ns |
2.36 |
0.03 |
0.0172 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,490.9 ns |
9.93 ns |
9.29 ns |
2.25 |
0.02 |
0.0172 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,624.9 ns |
107.56 ns |
95.35 ns |
16.02 |
0.20 |
0.1373 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
660.8 ns |
7.79 ns |
7.28 ns |
1.00 |
0.02 |
0.0134 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
638,334.6 ns |
4,800.59 ns |
4,490.47 ns |
966.14 |
12.21 |
5.8594 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,089.4 ns |
17.40 ns |
16.27 ns |
3.16 |
0.04 |
0.0153 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,108.4 ns |
15.36 ns |
14.37 ns |
3.19 |
0.04 |
0.0153 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
860,746.5 ns |
7,357.80 ns |
6,882.49 ns |
1,302.77 |
17.15 |
9.7656 |
2.9297 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
651.8 ns |
4.72 ns |
4.42 ns |
1.00 |
0.01 |
0.0134 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
75,843,336.0 ns |
774,244.42 ns |
686,347.51 ns |
116,369.11 |
1,271.89 |
714.2857 |
571.4286 |
285.7143 |
16000760 B |
46,513.84 |
| InvokeIntArrayFixed |
100000 |
52,866.2 ns |
575.26 ns |
538.10 ns |
81.11 |
0.96 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
52,556.6 ns |
588.66 ns |
550.64 ns |
80.64 |
0.97 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
102,679,028.4 ns |
1,225,602.97 ns |
1,086,465.11 ns |
157,544.06 |
1,913.46 |
1400.0000 |
1200.0000 |
800.0000 |
27896115 B |
81,093.36 |
core-ubuntu-22.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.493 μs |
0.0121 μs |
0.0114 μs |
1.00 |
0.0134 |
360 B |
1.00 |
| NewWithSignature |
1.455 μs |
0.0105 μs |
0.0098 μs |
0.97 |
0.0134 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.483 μs |
0.0154 μs |
0.0144 μs |
0.99 |
0.0134 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
118.1 ns |
1.72 ns |
1.61 ns |
1.00 |
0.02 |
0.0010 |
24 B |
1.00 |
| SetInstanceIntField |
143.9 ns |
1.68 ns |
1.57 ns |
1.22 |
0.02 |
0.0010 |
24 B |
1.00 |
| GetInstanceStringField |
116.2 ns |
1.18 ns |
1.10 ns |
0.98 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
826.1 ns |
6.81 ns |
6.37 ns |
7.00 |
0.11 |
0.0114 |
288 B |
12.00 |
| GetStaticIntField |
124.7 ns |
1.38 ns |
1.29 ns |
1.06 |
0.02 |
0.0010 |
24 B |
1.00 |
| SetStaticIntField |
137.6 ns |
1.67 ns |
1.56 ns |
1.17 |
0.02 |
0.0010 |
24 B |
1.00 |
| GetStaticStringField |
115.0 ns |
0.90 ns |
0.84 ns |
0.97 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
831.8 ns |
5.76 ns |
5.38 ns |
7.04 |
0.10 |
0.0114 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
144.7 ns |
1.59 ns |
1.49 ns |
1.23 |
0.02 |
0.0010 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
340.5 ns |
3.64 ns |
3.41 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
307.4 ns |
3.48 ns |
3.25 ns |
0.90 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
678.0 ns |
6.24 ns |
5.84 ns |
1.99 |
0.03 |
0.0134 |
344 B |
NA |
| InvokeInstanceEmpty |
355.0 ns |
3.71 ns |
3.47 ns |
1.04 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
702.7 ns |
4.78 ns |
4.00 ns |
2.06 |
0.02 |
0.0134 |
344 B |
NA |
core-ubuntu-22.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.730 μs |
0.0195 μs |
0.0182 μs |
1.00 |
0.0267 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,434.9 ns |
16.81 ns |
15.72 ns |
1.00 |
0.01 |
0.0267 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
780.5 ns |
4.96 ns |
4.64 ns |
0.32 |
0.00 |
0.0124 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
67,478.2 ns |
443.08 ns |
414.45 ns |
1.00 |
0.01 |
0.8545 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
770.0 ns |
4.91 ns |
4.35 ns |
0.01 |
0.00 |
0.0124 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,652,574.0 ns |
122,517.41 ns |
108,608.50 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
837.6 ns |
5.38 ns |
5.03 ns |
0.000 |
0.00 |
0.0124 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,277.5 ns |
13.92 ns |
13.02 ns |
0.0038 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,275.8 ns |
15.35 ns |
14.36 ns |
0.0038 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,624.5 ns |
11.77 ns |
10.43 ns |
0.0076 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,525.3 ns |
38.12 ns |
33.79 ns |
0.0305 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
499.0 ns |
3.32 ns |
2.95 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
538.4 ns |
7.26 ns |
6.79 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
770.7 ns |
8.01 ns |
7.49 ns |
0.0048 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,722.6 ns |
53.92 ns |
50.44 ns |
0.0229 |
712 B |
core-ubuntu-22.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.79GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
667.25 ns |
6.783 ns |
6.345 ns |
0.0025 |
80 B |
| PredicateSustained |
False |
False |
True |
656.39 ns |
8.659 ns |
8.099 ns |
0.0025 |
80 B |
| PredicateSustained |
False |
True |
False |
1,011.19 ns |
11.621 ns |
10.870 ns |
0.0060 |
176 B |
| PredicateSustained |
False |
True |
True |
5,030.37 ns |
55.140 ns |
51.578 ns |
0.0300 |
768 B |
| PredicateSustained |
True |
False |
False |
54.92 ns |
0.566 ns |
0.530 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
54.47 ns |
1.058 ns |
1.376 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
280.85 ns |
1.135 ns |
0.948 ns |
0.0038 |
96 B |
| PredicateSustained |
True |
True |
True |
4,233.31 ns |
35.703 ns |
33.397 ns |
0.0200 |
688 B |
core-ubuntu-22.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
764.5 ns |
15.20 ns |
14.22 ns |
1.00 |
0.03 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
8,584.5 ns |
98.91 ns |
92.52 ns |
11.23 |
0.23 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,630.2 ns |
19.69 ns |
18.42 ns |
2.13 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,618.8 ns |
8.80 ns |
6.87 ns |
2.12 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,492.4 ns |
100.55 ns |
89.13 ns |
13.73 |
0.27 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
726.9 ns |
12.90 ns |
12.06 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
633,061.1 ns |
6,997.38 ns |
6,545.35 ns |
871.13 |
16.38 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,347.1 ns |
31.86 ns |
28.24 ns |
3.23 |
0.06 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,343.1 ns |
24.34 ns |
22.76 ns |
3.22 |
0.06 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
828,417.8 ns |
8,154.04 ns |
7,627.30 ns |
1,139.95 |
20.79 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
721.3 ns |
10.69 ns |
9.47 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
74,741,784.1 ns |
1,142,014.29 ns |
1,012,365.92 ns |
103,631.65 |
1,880.20 |
1000.0000 |
857.1429 |
285.7143 |
16002749 B |
46,519.62 |
| InvokeIntArrayFixed |
100000 |
71,870.4 ns |
123.10 ns |
109.13 ns |
99.65 |
1.26 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
72,454.3 ns |
392.52 ns |
347.96 ns |
100.46 |
1.35 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
102,069,405.3 ns |
1,806,431.31 ns |
1,689,736.97 ns |
141,522.19 |
2,882.73 |
1800.0000 |
1600.0000 |
800.0000 |
27894490 B |
81,088.63 |
core-ubuntu-22.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.502 μs |
0.0153 μs |
0.0143 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.479 μs |
0.0136 μs |
0.0127 μs |
0.98 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.480 μs |
0.0163 μs |
0.0152 μs |
0.99 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
123.0 ns |
1.07 ns |
0.89 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
143.1 ns |
2.75 ns |
2.83 ns |
1.16 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
120.4 ns |
1.06 ns |
0.99 ns |
0.98 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
878.8 ns |
6.58 ns |
5.83 ns |
7.14 |
0.07 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
130.6 ns |
0.83 ns |
0.74 ns |
1.06 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
147.2 ns |
2.91 ns |
3.23 ns |
1.20 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
122.0 ns |
2.03 ns |
1.80 ns |
0.99 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
870.5 ns |
4.71 ns |
4.41 ns |
7.07 |
0.06 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
151.8 ns |
1.20 ns |
1.00 ns |
1.23 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
420.6 ns |
3.85 ns |
3.42 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
398.3 ns |
7.56 ns |
7.07 ns |
0.95 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
736.7 ns |
10.15 ns |
9.50 ns |
1.75 |
0.03 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
450.1 ns |
6.12 ns |
5.11 ns |
1.07 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
732.8 ns |
7.33 ns |
6.12 ns |
1.74 |
0.02 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.846 μs |
0.0225 μs |
0.0211 μs |
1.00 |
0.02 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,552.2 ns |
28.57 ns |
26.72 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
780.7 ns |
6.83 ns |
6.39 ns |
0.31 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
77,282.5 ns |
1,401.74 ns |
1,311.19 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
800.1 ns |
14.99 ns |
14.73 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,485,148.7 ns |
181,878.60 ns |
236,493.57 ns |
1.001 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
879.9 ns |
11.88 ns |
10.53 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,326.8 ns |
12.87 ns |
12.04 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,344.1 ns |
26.77 ns |
26.29 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,668.1 ns |
21.75 ns |
20.35 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,774.6 ns |
63.13 ns |
59.05 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
496.5 ns |
6.02 ns |
5.63 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
518.5 ns |
10.14 ns |
10.85 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
797.9 ns |
7.71 ns |
7.22 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,767.8 ns |
20.06 ns |
15.66 ns |
0.0381 |
712 B |
core-ubuntu-22.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
762.63 ns |
14.621 ns |
15.015 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
False |
True |
738.64 ns |
13.815 ns |
13.568 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
True |
False |
1,024.79 ns |
9.567 ns |
8.481 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
5,110.88 ns |
62.605 ns |
52.278 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
43.59 ns |
0.661 ns |
0.618 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
42.81 ns |
0.609 ns |
0.570 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
242.14 ns |
2.062 ns |
1.828 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
4,221.61 ns |
45.424 ns |
40.267 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.23GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
376.4 ns |
4.88 ns |
4.56 ns |
1.00 |
0.02 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
4,623.1 ns |
90.97 ns |
93.42 ns |
12.28 |
0.28 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
898.7 ns |
17.12 ns |
21.65 ns |
2.39 |
0.06 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
920.0 ns |
18.11 ns |
17.79 ns |
2.44 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
5,934.2 ns |
111.51 ns |
114.51 ns |
15.77 |
0.35 |
0.2060 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
355.9 ns |
4.71 ns |
4.17 ns |
1.00 |
0.02 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
347,132.1 ns |
6,580.16 ns |
7,313.83 ns |
975.50 |
22.88 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,318.9 ns |
16.27 ns |
14.42 ns |
3.71 |
0.06 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,322.4 ns |
17.78 ns |
14.84 ns |
3.72 |
0.06 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
447,510.5 ns |
8,289.26 ns |
8,141.16 ns |
1,257.58 |
26.37 |
15.6250 |
7.3242 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
361.5 ns |
6.50 ns |
5.42 ns |
1.00 |
0.02 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
41,493,992.5 ns |
732,874.40 ns |
611,983.32 ns |
114,790.96 |
2,317.75 |
1083.3333 |
1000.0000 |
333.3333 |
16001213 B |
46,515.15 |
| InvokeIntArrayFixed |
100000 |
37,332.6 ns |
473.41 ns |
419.67 ns |
103.28 |
1.86 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
38,375.5 ns |
535.71 ns |
418.25 ns |
106.16 |
1.89 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
57,519,493.4 ns |
1,097,361.26 ns |
1,347,658.30 ns |
159,124.67 |
4,302.52 |
1888.8889 |
1777.7778 |
777.7778 |
27894074 B |
81,087.42 |
core-ubuntu-22.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.23GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
813.8 ns |
11.53 ns |
10.22 ns |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
846.9 ns |
16.72 ns |
18.59 ns |
1.04 |
0.03 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
814.8 ns |
11.09 ns |
10.38 ns |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.23GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
67.21 ns |
1.335 ns |
1.114 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
78.10 ns |
1.113 ns |
0.986 ns |
1.16 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
69.34 ns |
0.954 ns |
0.892 ns |
1.03 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
487.82 ns |
5.935 ns |
5.261 ns |
7.26 |
0.14 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
73.32 ns |
0.810 ns |
0.676 ns |
1.09 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
81.32 ns |
1.117 ns |
1.045 ns |
1.21 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
66.51 ns |
1.166 ns |
1.247 ns |
0.99 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
476.47 ns |
7.607 ns |
7.116 ns |
7.09 |
0.15 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
83.01 ns |
1.661 ns |
2.329 ns |
1.24 |
0.04 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.23GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
172.1 ns |
3.21 ns |
3.00 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
162.4 ns |
3.04 ns |
2.69 ns |
0.94 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
341.1 ns |
5.81 ns |
4.85 ns |
1.98 |
0.04 |
0.0205 |
344 B |
NA |
| InvokeInstanceEmpty |
173.8 ns |
2.60 ns |
2.68 ns |
1.01 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
382.4 ns |
5.96 ns |
4.97 ns |
2.22 |
0.05 |
0.0205 |
344 B |
NA |
core-ubuntu-22.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.23GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.039 μs |
0.0199 μs |
0.0166 μs |
1.00 |
0.02 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.23GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,369.9 ns |
26.90 ns |
26.42 ns |
1.00 |
0.03 |
0.0401 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
397.3 ns |
7.94 ns |
8.16 ns |
0.29 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
36,109.6 ns |
595.48 ns |
611.52 ns |
1.00 |
0.02 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
421.2 ns |
6.50 ns |
5.76 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
5,706,556.8 ns |
113,351.43 ns |
241,561.17 ns |
1.002 |
0.06 |
78.1250 |
78.1250 |
78.1250 |
2400913 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
412.4 ns |
7.25 ns |
6.43 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.23GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
748.3 ns |
9.02 ns |
8.00 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
739.2 ns |
12.00 ns |
10.64 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
944.4 ns |
18.61 ns |
21.43 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,186.2 ns |
44.73 ns |
41.84 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
231.0 ns |
1.81 ns |
1.51 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
250.5 ns |
4.38 ns |
3.88 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
450.5 ns |
5.17 ns |
4.58 ns |
0.0072 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
2,760.3 ns |
54.18 ns |
81.10 ns |
0.0420 |
712 B |
core-ubuntu-22.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.23GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
378.91 ns |
7.359 ns |
6.883 ns |
0.0046 |
80 B |
| PredicateSustained |
False |
False |
True |
389.99 ns |
5.122 ns |
4.791 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
True |
False |
533.17 ns |
5.690 ns |
4.752 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
2,767.03 ns |
27.311 ns |
24.211 ns |
0.0450 |
768 B |
| PredicateSustained |
True |
False |
False |
36.58 ns |
0.727 ns |
0.808 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
36.22 ns |
0.303 ns |
0.269 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
156.19 ns |
3.077 ns |
3.892 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,321.31 ns |
28.435 ns |
23.744 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.59GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
707.0 ns |
13.07 ns |
12.23 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,686.9 ns |
82.33 ns |
72.98 ns |
10.88 |
0.21 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,550.7 ns |
24.57 ns |
21.78 ns |
2.19 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,549.6 ns |
15.23 ns |
13.50 ns |
2.19 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,201.7 ns |
158.80 ns |
148.54 ns |
14.43 |
0.32 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
713.5 ns |
9.11 ns |
8.52 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
600,909.6 ns |
8,707.87 ns |
8,145.34 ns |
842.35 |
14.68 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,268.4 ns |
24.05 ns |
22.49 ns |
3.18 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,260.7 ns |
18.46 ns |
17.27 ns |
3.17 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
810,143.0 ns |
5,379.15 ns |
4,768.47 ns |
1,135.65 |
14.53 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
721.6 ns |
12.82 ns |
11.99 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
70,840,064.6 ns |
455,896.25 ns |
426,445.63 ns |
98,201.34 |
1,682.00 |
1000.0000 |
857.1429 |
285.7143 |
16001521 B |
46,516.05 |
| InvokeIntArrayFixed |
100000 |
71,937.0 ns |
352.19 ns |
312.21 ns |
99.72 |
1.66 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
71,284.2 ns |
285.45 ns |
267.01 ns |
98.82 |
1.63 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
99,089,900.6 ns |
1,875,052.28 ns |
1,753,925.07 ns |
137,362.40 |
3,230.74 |
1800.0000 |
1600.0000 |
800.0000 |
27895446 B |
81,091.41 |
core-ubuntu-22.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.59GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.402 μs |
0.0155 μs |
0.0137 μs |
1.00 |
0.01 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.412 μs |
0.0223 μs |
0.0209 μs |
1.01 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.432 μs |
0.0162 μs |
0.0151 μs |
1.02 |
0.01 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.59GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
119.2 ns |
1.65 ns |
1.46 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
139.9 ns |
2.77 ns |
2.73 ns |
1.17 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
117.0 ns |
1.50 ns |
1.33 ns |
0.98 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
812.1 ns |
3.15 ns |
2.46 ns |
6.82 |
0.08 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
124.5 ns |
2.15 ns |
2.01 ns |
1.05 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
145.9 ns |
1.12 ns |
0.93 ns |
1.22 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
114.4 ns |
2.06 ns |
1.93 ns |
0.96 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
842.4 ns |
5.70 ns |
5.06 ns |
7.07 |
0.09 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
149.5 ns |
1.80 ns |
1.68 ns |
1.25 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.59GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
343.8 ns |
5.79 ns |
5.13 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
310.5 ns |
5.87 ns |
5.76 ns |
0.90 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
714.6 ns |
13.48 ns |
12.61 ns |
2.08 |
0.05 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
353.9 ns |
4.82 ns |
4.27 ns |
1.03 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
719.3 ns |
13.69 ns |
12.13 ns |
2.09 |
0.05 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.59GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.724 μs |
0.0227 μs |
0.0213 μs |
1.00 |
0.02 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.59GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,450.3 ns |
40.72 ns |
38.09 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
778.8 ns |
15.08 ns |
14.81 ns |
0.32 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
69,166.7 ns |
1,137.92 ns |
1,064.41 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
782.6 ns |
12.02 ns |
11.25 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,446,060.0 ns |
168,646.41 ns |
236,418.73 ns |
1.001 |
0.04 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
828.4 ns |
15.72 ns |
14.70 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.59GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,329.9 ns |
21.50 ns |
20.11 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,293.6 ns |
24.91 ns |
25.58 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,611.4 ns |
22.37 ns |
20.92 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,374.9 ns |
65.43 ns |
61.20 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
519.9 ns |
10.00 ns |
12.28 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
498.4 ns |
9.47 ns |
10.14 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
801.7 ns |
7.40 ns |
6.92 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,569.2 ns |
54.71 ns |
48.50 ns |
0.0381 |
712 B |
core-ubuntu-22.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.59GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
671.49 ns |
11.813 ns |
11.050 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
676.54 ns |
12.813 ns |
14.241 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
947.65 ns |
12.916 ns |
12.081 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,697.69 ns |
34.985 ns |
31.013 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
47.53 ns |
0.948 ns |
1.419 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
42.26 ns |
0.788 ns |
0.737 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
239.57 ns |
1.173 ns |
1.040 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
4,003.55 ns |
41.756 ns |
37.016 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.66GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
740.7 ns |
14.52 ns |
15.54 ns |
1.00 |
0.03 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,846.3 ns |
126.61 ns |
105.73 ns |
10.60 |
0.26 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,627.8 ns |
21.59 ns |
20.19 ns |
2.20 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,610.5 ns |
19.00 ns |
17.77 ns |
2.18 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,856.5 ns |
79.98 ns |
70.90 ns |
14.66 |
0.32 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
736.3 ns |
14.32 ns |
13.39 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
585,860.3 ns |
4,856.19 ns |
4,304.89 ns |
795.94 |
15.09 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,289.7 ns |
30.89 ns |
28.89 ns |
3.11 |
0.07 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,313.7 ns |
26.96 ns |
25.22 ns |
3.14 |
0.06 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
835,060.6 ns |
8,205.41 ns |
6,851.89 ns |
1,134.50 |
21.87 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
711.9 ns |
8.39 ns |
7.01 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
70,773,493.6 ns |
1,347,166.10 ns |
1,323,097.24 ns |
99,419.85 |
2,033.41 |
1000.0000 |
857.1429 |
285.7143 |
16001543 B |
46,516.11 |
| InvokeIntArrayFixed |
100000 |
71,377.5 ns |
221.23 ns |
196.12 ns |
100.27 |
0.98 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
71,011.7 ns |
327.30 ns |
290.14 ns |
99.75 |
1.02 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
101,093,006.1 ns |
1,082,022.02 ns |
959,184.34 ns |
142,011.52 |
1,868.83 |
1800.0000 |
1600.0000 |
800.0000 |
27893141 B |
81,084.71 |
core-ubuntu-22.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.66GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.445 μs |
0.0228 μs |
0.0202 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.432 μs |
0.0159 μs |
0.0141 μs |
0.99 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.423 μs |
0.0166 μs |
0.0147 μs |
0.99 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.66GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
121.7 ns |
0.82 ns |
0.73 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
144.2 ns |
2.88 ns |
3.31 ns |
1.18 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
117.9 ns |
2.05 ns |
1.92 ns |
0.97 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
818.4 ns |
8.28 ns |
7.34 ns |
6.72 |
0.07 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
121.5 ns |
0.97 ns |
0.81 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
140.9 ns |
1.12 ns |
0.94 ns |
1.16 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
152.9 ns |
2.10 ns |
1.86 ns |
1.26 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
820.5 ns |
4.95 ns |
4.63 ns |
6.74 |
0.05 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
154.6 ns |
2.86 ns |
2.68 ns |
1.27 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.66GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
350.5 ns |
6.58 ns |
6.76 ns |
1.00 |
0.03 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
313.0 ns |
3.45 ns |
2.69 ns |
0.89 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
722.1 ns |
12.14 ns |
11.35 ns |
2.06 |
0.05 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
364.1 ns |
7.31 ns |
9.76 ns |
1.04 |
0.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
741.2 ns |
14.60 ns |
15.00 ns |
2.12 |
0.06 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.66GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.728 μs |
0.0176 μs |
0.0147 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.66GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,603.1 ns |
43.61 ns |
40.79 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
788.7 ns |
15.45 ns |
14.45 ns |
0.30 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
72,209.0 ns |
1,023.28 ns |
854.49 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
793.5 ns |
11.89 ns |
11.12 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,719,146.2 ns |
159,850.32 ns |
190,290.45 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
846.3 ns |
16.48 ns |
17.64 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.66GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,303.3 ns |
15.47 ns |
12.92 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,289.5 ns |
24.94 ns |
25.61 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,604.9 ns |
15.75 ns |
13.96 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,613.7 ns |
30.50 ns |
25.47 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
525.7 ns |
10.55 ns |
9.87 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
537.4 ns |
7.55 ns |
7.07 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
794.2 ns |
11.12 ns |
10.41 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,610.7 ns |
31.72 ns |
26.49 ns |
0.0381 |
712 B |
core-ubuntu-22.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.66GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
677.51 ns |
13.426 ns |
14.922 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
682.16 ns |
10.094 ns |
9.442 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
921.48 ns |
10.245 ns |
9.583 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,891.86 ns |
84.867 ns |
75.232 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
44.87 ns |
0.591 ns |
0.553 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
42.94 ns |
0.372 ns |
0.291 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
252.70 ns |
1.478 ns |
1.235 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
4,110.98 ns |
73.089 ns |
68.368 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
687.0 ns |
2.40 ns |
2.00 ns |
1.00 |
0.00 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
8,146.5 ns |
86.34 ns |
76.54 ns |
11.86 |
0.11 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,536.4 ns |
14.13 ns |
12.53 ns |
2.24 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,522.3 ns |
25.04 ns |
22.20 ns |
2.22 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,331.0 ns |
151.99 ns |
142.17 ns |
15.04 |
0.20 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
698.2 ns |
12.67 ns |
11.85 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
615,424.9 ns |
8,051.68 ns |
6,723.52 ns |
881.62 |
17.13 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,441.9 ns |
21.48 ns |
20.09 ns |
3.50 |
0.06 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,387.7 ns |
22.38 ns |
20.93 ns |
3.42 |
0.06 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
823,882.9 ns |
11,497.18 ns |
10,191.95 ns |
1,180.25 |
23.89 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
664.5 ns |
7.43 ns |
6.58 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
73,915,640.5 ns |
752,062.08 ns |
666,683.44 ns |
111,245.65 |
1,432.99 |
1000.0000 |
857.1429 |
285.7143 |
16002032 B |
46,517.53 |
| InvokeIntArrayFixed |
100000 |
62,768.0 ns |
177.89 ns |
157.70 ns |
94.47 |
0.93 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
62,763.5 ns |
91.70 ns |
71.59 ns |
94.46 |
0.90 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
102,063,978.9 ns |
1,690,237.70 ns |
1,498,351.70 ns |
153,609.89 |
2,621.11 |
1800.0000 |
1600.0000 |
800.0000 |
27894813 B |
81,089.57 |
core-ubuntu-22.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.420 μs |
0.0202 μs |
0.0189 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.495 μs |
0.0181 μs |
0.0151 μs |
1.05 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.431 μs |
0.0167 μs |
0.0156 μs |
1.01 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
139.0 ns |
1.82 ns |
1.70 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
155.2 ns |
2.33 ns |
2.18 ns |
1.12 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
135.2 ns |
2.53 ns |
2.24 ns |
0.97 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
847.0 ns |
12.29 ns |
11.50 ns |
6.09 |
0.11 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
141.6 ns |
1.23 ns |
1.02 ns |
1.02 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
169.4 ns |
1.91 ns |
1.69 ns |
1.22 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
136.3 ns |
2.07 ns |
1.93 ns |
0.98 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
846.4 ns |
7.26 ns |
6.79 ns |
6.09 |
0.09 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
181.3 ns |
1.50 ns |
1.33 ns |
1.30 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
334.8 ns |
5.41 ns |
5.06 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
313.1 ns |
4.56 ns |
4.05 ns |
0.94 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
667.7 ns |
7.34 ns |
6.87 ns |
1.99 |
0.04 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
334.3 ns |
4.60 ns |
4.30 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
684.9 ns |
12.13 ns |
11.35 ns |
2.05 |
0.04 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.800 μs |
0.0184 μs |
0.0163 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,472.1 ns |
40.48 ns |
37.86 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
736.8 ns |
12.63 ns |
11.81 ns |
0.30 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
68,699.3 ns |
861.81 ns |
763.97 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
729.3 ns |
8.05 ns |
7.53 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,978,432.1 ns |
169,341.21 ns |
173,900.96 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400872 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
799.1 ns |
4.46 ns |
3.95 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,327.5 ns |
19.36 ns |
18.11 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,392.1 ns |
18.55 ns |
17.35 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,668.1 ns |
18.02 ns |
16.86 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,482.0 ns |
69.94 ns |
65.42 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
472.3 ns |
8.62 ns |
8.07 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
510.8 ns |
6.35 ns |
5.63 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
771.8 ns |
8.70 ns |
8.13 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,607.5 ns |
38.98 ns |
36.46 ns |
0.0381 |
712 B |
core-ubuntu-22.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
741.00 ns |
10.583 ns |
9.899 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
False |
True |
698.00 ns |
11.493 ns |
10.750 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
930.18 ns |
14.829 ns |
13.146 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,886.32 ns |
70.295 ns |
65.754 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
44.92 ns |
0.814 ns |
0.762 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
45.76 ns |
0.496 ns |
0.464 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
237.70 ns |
1.983 ns |
1.855 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
4,123.83 ns |
70.642 ns |
66.078 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
675.2 ns |
12.84 ns |
11.39 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,664.2 ns |
112.20 ns |
104.95 ns |
11.35 |
0.24 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,501.9 ns |
14.43 ns |
13.50 ns |
2.22 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,504.9 ns |
18.15 ns |
16.98 ns |
2.23 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,142.3 ns |
143.36 ns |
134.10 ns |
15.02 |
0.31 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
697.5 ns |
13.40 ns |
13.16 ns |
1.00 |
0.03 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
585,281.7 ns |
8,762.62 ns |
7,767.84 ns |
839.35 |
18.63 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,361.0 ns |
19.24 ns |
17.06 ns |
3.39 |
0.07 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,364.4 ns |
24.90 ns |
23.29 ns |
3.39 |
0.07 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
817,105.0 ns |
12,981.50 ns |
12,142.90 ns |
1,171.80 |
27.11 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
673.4 ns |
6.44 ns |
5.38 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
72,590,214.3 ns |
861,077.03 ns |
805,451.99 ns |
107,805.25 |
1,423.36 |
1000.0000 |
857.1429 |
285.7143 |
16001873 B |
46,517.07 |
| InvokeIntArrayFixed |
100000 |
62,754.0 ns |
161.45 ns |
143.12 ns |
93.20 |
0.74 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
62,891.6 ns |
367.09 ns |
343.37 ns |
93.40 |
0.87 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
101,309,997.0 ns |
1,875,429.30 ns |
2,232,565.37 ns |
150,457.60 |
3,440.69 |
1800.0000 |
1600.0000 |
800.0000 |
27894962 B |
81,090.01 |
core-ubuntu-22.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.391 μs |
0.0173 μs |
0.0162 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.396 μs |
0.0259 μs |
0.0242 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.374 μs |
0.0220 μs |
0.0206 μs |
0.99 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
134.2 ns |
1.00 ns |
0.83 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
159.3 ns |
2.53 ns |
2.37 ns |
1.19 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
131.0 ns |
0.76 ns |
0.67 ns |
0.98 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
783.3 ns |
7.72 ns |
6.44 ns |
5.84 |
0.06 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
138.5 ns |
1.66 ns |
1.47 ns |
1.03 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
160.8 ns |
2.11 ns |
1.97 ns |
1.20 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
130.2 ns |
1.82 ns |
1.70 ns |
0.97 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
798.3 ns |
14.59 ns |
13.65 ns |
5.95 |
0.10 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
171.8 ns |
1.29 ns |
1.21 ns |
1.28 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
374.5 ns |
5.15 ns |
4.82 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
317.1 ns |
4.73 ns |
4.43 ns |
0.85 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
662.9 ns |
9.29 ns |
8.69 ns |
1.77 |
0.03 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
346.2 ns |
3.24 ns |
2.87 ns |
0.92 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
677.3 ns |
7.99 ns |
7.09 ns |
1.81 |
0.03 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.690 μs |
0.0179 μs |
0.0159 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,424.2 ns |
40.18 ns |
37.59 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
737.3 ns |
9.59 ns |
8.01 ns |
0.30 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
69,953.2 ns |
748.32 ns |
699.98 ns |
1.00 |
0.01 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
736.3 ns |
9.36 ns |
8.76 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,200,670.9 ns |
182,751.53 ns |
187,672.36 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400906 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
769.0 ns |
13.41 ns |
12.55 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,271.0 ns |
8.91 ns |
7.44 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,257.9 ns |
17.98 ns |
16.82 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,572.1 ns |
13.31 ns |
11.80 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,252.6 ns |
63.46 ns |
59.36 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
482.5 ns |
7.94 ns |
6.63 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
477.6 ns |
6.81 ns |
6.04 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
786.8 ns |
12.05 ns |
11.27 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,479.5 ns |
53.66 ns |
50.20 ns |
0.0381 |
712 B |
core-ubuntu-22.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
655.45 ns |
12.764 ns |
11.940 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
655.80 ns |
11.869 ns |
13.668 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
900.85 ns |
17.112 ns |
18.309 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,619.60 ns |
44.994 ns |
37.572 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
46.04 ns |
0.863 ns |
0.765 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
45.62 ns |
0.547 ns |
0.485 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
242.68 ns |
3.212 ns |
2.847 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,865.65 ns |
27.990 ns |
23.373 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.32GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
409.1 ns |
7.96 ns |
10.63 ns |
1.00 |
0.04 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
4,452.9 ns |
83.11 ns |
81.62 ns |
10.89 |
0.34 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
873.3 ns |
12.10 ns |
10.10 ns |
2.14 |
0.06 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
901.2 ns |
17.27 ns |
17.74 ns |
2.20 |
0.07 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
5,727.7 ns |
109.17 ns |
96.78 ns |
14.01 |
0.42 |
0.2060 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
398.3 ns |
5.13 ns |
4.55 ns |
1.00 |
0.02 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
349,234.4 ns |
6,681.11 ns |
8,205.01 ns |
876.91 |
22.34 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,334.8 ns |
19.23 ns |
17.98 ns |
3.35 |
0.06 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,335.8 ns |
24.63 ns |
21.83 ns |
3.35 |
0.06 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
451,117.1 ns |
7,330.00 ns |
7,199.04 ns |
1,132.73 |
21.51 |
15.6250 |
7.3242 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
389.3 ns |
6.74 ns |
6.30 ns |
1.00 |
0.02 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
40,312,633.4 ns |
431,975.72 ns |
360,719.29 ns |
103,576.43 |
1,854.62 |
1076.9231 |
923.0769 |
307.6923 |
16001772 B |
46,516.78 |
| InvokeIntArrayFixed |
100000 |
37,442.6 ns |
578.77 ns |
541.38 ns |
96.20 |
2.02 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
37,669.3 ns |
435.35 ns |
407.22 ns |
96.78 |
1.83 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
57,517,283.4 ns |
802,899.20 ns |
711,749.23 ns |
147,780.84 |
2,915.17 |
1888.8889 |
1777.7778 |
777.7778 |
27894346 B |
81,088.22 |
core-ubuntu-22.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.32GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
838.8 ns |
8.22 ns |
7.29 ns |
1.00 |
0.01 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
849.2 ns |
16.78 ns |
21.82 ns |
1.01 |
0.03 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
858.5 ns |
17.19 ns |
16.08 ns |
1.02 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.32GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
66.72 ns |
1.221 ns |
1.019 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
79.77 ns |
1.349 ns |
1.262 ns |
1.20 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
66.62 ns |
0.648 ns |
0.575 ns |
1.00 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
457.93 ns |
6.950 ns |
5.803 ns |
6.86 |
0.13 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
70.74 ns |
0.762 ns |
0.637 ns |
1.06 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
78.27 ns |
1.556 ns |
1.729 ns |
1.17 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
64.05 ns |
0.935 ns |
0.874 ns |
0.96 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
443.99 ns |
5.701 ns |
5.054 ns |
6.66 |
0.12 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
83.12 ns |
1.256 ns |
1.049 ns |
1.25 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.32GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
199.4 ns |
3.04 ns |
2.69 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
169.4 ns |
2.36 ns |
2.09 ns |
0.85 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
374.7 ns |
6.65 ns |
5.55 ns |
1.88 |
0.04 |
0.0205 |
344 B |
NA |
| InvokeInstanceEmpty |
187.6 ns |
2.92 ns |
2.59 ns |
0.94 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
404.2 ns |
3.35 ns |
2.97 ns |
2.03 |
0.03 |
0.0205 |
344 B |
NA |
core-ubuntu-22.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.32GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.059 μs |
0.0130 μs |
0.0122 μs |
1.00 |
0.02 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.32GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,456.2 ns |
16.10 ns |
14.27 ns |
1.00 |
0.01 |
0.0401 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
414.6 ns |
6.35 ns |
5.63 ns |
0.28 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
40,634.3 ns |
796.62 ns |
1,142.49 ns |
1.00 |
0.04 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
437.2 ns |
8.56 ns |
10.18 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,029,505.8 ns |
119,301.60 ns |
111,594.79 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400910 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
446.4 ns |
6.71 ns |
6.27 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.32GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
754.8 ns |
8.92 ns |
7.91 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
761.2 ns |
14.44 ns |
14.18 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
927.7 ns |
10.25 ns |
9.09 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,214.6 ns |
55.66 ns |
52.07 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
250.1 ns |
4.88 ns |
5.22 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
245.9 ns |
3.61 ns |
3.38 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
440.4 ns |
8.19 ns |
7.26 ns |
0.0072 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
2,722.1 ns |
50.36 ns |
47.11 ns |
0.0420 |
712 B |
core-ubuntu-22.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.32GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
382.32 ns |
4.695 ns |
3.921 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
False |
True |
373.27 ns |
6.701 ns |
5.232 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
True |
False |
513.80 ns |
4.259 ns |
3.557 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
2,777.49 ns |
43.423 ns |
38.493 ns |
0.0450 |
768 B |
| PredicateSustained |
True |
False |
False |
36.90 ns |
0.729 ns |
0.682 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
35.99 ns |
0.592 ns |
0.525 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
151.05 ns |
2.627 ns |
2.194 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,270.69 ns |
45.394 ns |
46.617 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
704.6 ns |
13.36 ns |
12.50 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
8,660.8 ns |
171.13 ns |
160.08 ns |
12.30 |
0.30 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,564.4 ns |
25.93 ns |
22.99 ns |
2.22 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,573.1 ns |
20.27 ns |
18.96 ns |
2.23 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,243.8 ns |
61.42 ns |
57.45 ns |
14.54 |
0.26 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
710.1 ns |
12.58 ns |
11.76 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
623,201.2 ns |
9,291.30 ns |
8,691.09 ns |
877.79 |
18.31 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,449.6 ns |
30.84 ns |
28.85 ns |
3.45 |
0.07 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,433.0 ns |
26.27 ns |
21.94 ns |
3.43 |
0.06 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
830,461.1 ns |
8,463.34 ns |
7,916.61 ns |
1,169.73 |
21.51 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
674.4 ns |
9.05 ns |
8.02 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
74,509,123.4 ns |
1,231,217.18 ns |
1,151,681.31 ns |
110,494.76 |
2,073.42 |
1000.0000 |
857.1429 |
285.7143 |
16000851 B |
46,514.10 |
| InvokeIntArrayFixed |
100000 |
64,064.3 ns |
200.90 ns |
178.09 ns |
95.01 |
1.11 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
63,901.1 ns |
167.65 ns |
130.89 ns |
94.76 |
1.09 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
102,298,619.6 ns |
2,035,937.51 ns |
1,904,417.21 ns |
151,705.74 |
3,229.18 |
1800.0000 |
1600.0000 |
800.0000 |
27894379 B |
81,088.31 |
core-ubuntu-22.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.430 μs |
0.0212 μs |
0.0199 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.438 μs |
0.0168 μs |
0.0149 μs |
1.01 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.469 μs |
0.0216 μs |
0.0192 μs |
1.03 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
138.1 ns |
1.85 ns |
1.54 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
159.1 ns |
2.53 ns |
2.37 ns |
1.15 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
141.4 ns |
2.59 ns |
2.42 ns |
1.02 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
831.0 ns |
6.75 ns |
5.98 ns |
6.02 |
0.08 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
148.3 ns |
1.96 ns |
1.74 ns |
1.07 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
159.7 ns |
2.20 ns |
2.06 ns |
1.16 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
141.5 ns |
1.91 ns |
1.79 ns |
1.02 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
853.2 ns |
13.69 ns |
12.14 ns |
6.18 |
0.11 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
183.4 ns |
2.50 ns |
2.34 ns |
1.33 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
397.4 ns |
6.89 ns |
6.45 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
348.8 ns |
4.42 ns |
3.91 ns |
0.88 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
672.7 ns |
12.36 ns |
11.56 ns |
1.69 |
0.04 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
445.4 ns |
6.18 ns |
5.78 ns |
1.12 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
716.3 ns |
11.05 ns |
10.34 ns |
1.80 |
0.04 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.733 μs |
0.0102 μs |
0.0090 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,546.2 ns |
48.95 ns |
58.27 ns |
1.00 |
0.03 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
761.2 ns |
10.45 ns |
9.78 ns |
0.30 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
72,086.5 ns |
707.63 ns |
661.91 ns |
1.00 |
0.01 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
761.9 ns |
9.28 ns |
8.23 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,497,096.9 ns |
131,928.99 ns |
116,951.61 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400575 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
789.1 ns |
10.36 ns |
9.18 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,339.6 ns |
26.01 ns |
23.05 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,341.7 ns |
18.30 ns |
17.11 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,640.0 ns |
21.18 ns |
19.82 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,585.5 ns |
35.13 ns |
31.14 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
495.1 ns |
9.64 ns |
10.31 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
490.2 ns |
9.19 ns |
8.60 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
802.8 ns |
6.88 ns |
6.44 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,756.4 ns |
29.93 ns |
25.00 ns |
0.0381 |
712 B |
core-ubuntu-22.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
702.45 ns |
13.802 ns |
13.555 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
705.14 ns |
14.019 ns |
13.113 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
True |
False |
928.20 ns |
14.957 ns |
13.991 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,923.04 ns |
67.142 ns |
59.520 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
47.09 ns |
0.814 ns |
0.761 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
46.47 ns |
0.762 ns |
0.713 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
246.87 ns |
3.208 ns |
3.001 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
4,138.50 ns |
60.201 ns |
56.312 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.61GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
735.2 ns |
8.27 ns |
7.33 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,919.4 ns |
92.64 ns |
86.66 ns |
10.77 |
0.15 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,605.2 ns |
18.59 ns |
17.39 ns |
2.18 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,614.6 ns |
23.52 ns |
22.00 ns |
2.20 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,272.3 ns |
57.62 ns |
48.12 ns |
13.97 |
0.15 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
736.9 ns |
10.73 ns |
9.51 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
601,721.5 ns |
6,453.13 ns |
5,720.53 ns |
816.74 |
12.63 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,344.5 ns |
21.02 ns |
19.67 ns |
3.18 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,334.8 ns |
30.67 ns |
28.69 ns |
3.17 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
871,209.8 ns |
9,079.13 ns |
8,492.62 ns |
1,182.52 |
18.47 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
722.1 ns |
14.28 ns |
13.36 ns |
1.00 |
0.03 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
72,441,940.7 ns |
1,201,479.42 ns |
1,123,864.60 ns |
100,349.76 |
2,360.64 |
1000.0000 |
857.1429 |
285.7143 |
16001136 B |
46,514.93 |
| InvokeIntArrayFixed |
100000 |
72,120.3 ns |
382.51 ns |
339.08 ns |
99.90 |
1.86 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
72,165.0 ns |
407.27 ns |
380.96 ns |
99.97 |
1.88 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
100,936,133.6 ns |
1,340,984.31 ns |
1,188,747.66 ns |
139,821.17 |
2,989.78 |
2000.0000 |
1800.0000 |
1000.0000 |
27899122 B |
81,102.10 |
core-ubuntu-22.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.61GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.471 μs |
0.0156 μs |
0.0138 μs |
1.00 |
0.01 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.454 μs |
0.0243 μs |
0.0228 μs |
0.99 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.477 μs |
0.0115 μs |
0.0107 μs |
1.00 |
0.01 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.61GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
122.6 ns |
1.69 ns |
1.58 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
150.3 ns |
2.91 ns |
2.86 ns |
1.23 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
129.8 ns |
2.33 ns |
2.18 ns |
1.06 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
831.1 ns |
3.92 ns |
3.47 ns |
6.78 |
0.09 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
129.2 ns |
2.50 ns |
2.34 ns |
1.05 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
146.0 ns |
2.94 ns |
2.88 ns |
1.19 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
117.9 ns |
1.70 ns |
1.50 ns |
0.96 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
847.3 ns |
7.78 ns |
7.28 ns |
6.91 |
0.10 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
157.2 ns |
1.64 ns |
1.53 ns |
1.28 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.61GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
332.6 ns |
5.98 ns |
5.60 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
304.3 ns |
4.94 ns |
4.38 ns |
0.92 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
720.7 ns |
9.22 ns |
8.18 ns |
2.17 |
0.04 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
352.6 ns |
6.99 ns |
6.87 ns |
1.06 |
0.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
731.6 ns |
11.84 ns |
11.08 ns |
2.20 |
0.05 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.61GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.801 μs |
0.0289 μs |
0.0270 μs |
1.00 |
0.02 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.61GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,460.2 ns |
28.58 ns |
25.34 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
766.8 ns |
13.39 ns |
11.87 ns |
0.31 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
67,204.7 ns |
878.14 ns |
821.41 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
771.2 ns |
15.06 ns |
14.08 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,747,203.6 ns |
171,927.47 ns |
191,096.93 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
819.0 ns |
12.62 ns |
11.80 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.61GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,300.6 ns |
13.18 ns |
10.29 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,329.7 ns |
20.26 ns |
18.95 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,612.9 ns |
20.67 ns |
18.32 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,474.9 ns |
47.98 ns |
42.53 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
478.5 ns |
7.02 ns |
6.22 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
488.7 ns |
3.70 ns |
3.09 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
773.9 ns |
8.95 ns |
7.94 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,781.6 ns |
22.01 ns |
18.38 ns |
0.0381 |
712 B |
core-ubuntu-22.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.61GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
689.38 ns |
12.933 ns |
12.098 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
712.79 ns |
14.086 ns |
17.298 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
True |
False |
961.75 ns |
18.901 ns |
18.564 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,839.83 ns |
48.631 ns |
43.110 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
41.66 ns |
0.525 ns |
0.466 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
43.70 ns |
0.663 ns |
0.588 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
237.80 ns |
2.174 ns |
2.033 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
4,130.07 ns |
69.929 ns |
65.412 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.34GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
373.4 ns |
6.61 ns |
6.18 ns |
1.00 |
0.02 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
4,620.6 ns |
53.73 ns |
41.95 ns |
12.38 |
0.23 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
868.1 ns |
17.20 ns |
24.67 ns |
2.33 |
0.08 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
900.9 ns |
8.92 ns |
7.91 ns |
2.41 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
5,866.7 ns |
63.31 ns |
59.22 ns |
15.72 |
0.30 |
0.2060 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
355.7 ns |
6.68 ns |
6.57 ns |
1.00 |
0.03 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
341,059.4 ns |
5,372.08 ns |
5,025.05 ns |
959.24 |
21.85 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,326.5 ns |
20.53 ns |
18.20 ns |
3.73 |
0.08 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,283.0 ns |
16.58 ns |
15.51 ns |
3.61 |
0.08 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
444,028.7 ns |
7,455.95 ns |
6,974.30 ns |
1,248.85 |
29.20 |
15.6250 |
7.3242 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
384.8 ns |
7.64 ns |
9.09 ns |
1.00 |
0.03 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
40,255,413.9 ns |
521,689.56 ns |
462,464.21 ns |
104,667.03 |
2,660.05 |
1083.3333 |
1000.0000 |
333.3333 |
16002259 B |
46,518.19 |
| InvokeIntArrayFixed |
100000 |
37,565.9 ns |
571.13 ns |
476.92 ns |
97.67 |
2.53 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
37,704.0 ns |
459.84 ns |
407.64 ns |
98.03 |
2.46 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
54,758,032.3 ns |
1,038,364.24 ns |
1,275,204.65 ns |
142,374.90 |
4,594.28 |
1888.8889 |
1777.7778 |
777.7778 |
27894820 B |
81,089.59 |
core-ubuntu-22.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.34GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
769.7 ns |
13.54 ns |
11.31 ns |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
793.5 ns |
13.08 ns |
12.23 ns |
1.03 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
784.4 ns |
14.61 ns |
12.95 ns |
1.02 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.34GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
65.53 ns |
0.936 ns |
0.830 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
78.90 ns |
1.565 ns |
1.464 ns |
1.20 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
66.63 ns |
0.664 ns |
0.621 ns |
1.02 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
463.97 ns |
9.288 ns |
14.731 ns |
7.08 |
0.24 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
70.13 ns |
1.015 ns |
0.900 ns |
1.07 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
77.43 ns |
1.266 ns |
1.601 ns |
1.18 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
63.07 ns |
0.766 ns |
0.639 ns |
0.96 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
468.62 ns |
8.812 ns |
7.812 ns |
7.15 |
0.14 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
79.23 ns |
1.242 ns |
1.161 ns |
1.21 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.34GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
169.4 ns |
3.37 ns |
3.15 ns |
1.00 |
0.03 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
156.2 ns |
2.62 ns |
2.18 ns |
0.92 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
383.5 ns |
7.44 ns |
6.96 ns |
2.27 |
0.06 |
0.0205 |
344 B |
NA |
| InvokeInstanceEmpty |
172.6 ns |
3.02 ns |
3.23 ns |
1.02 |
0.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
378.8 ns |
6.75 ns |
6.31 ns |
2.24 |
0.05 |
0.0205 |
344 B |
NA |
core-ubuntu-22.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.34GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
991.2 ns |
10.75 ns |
8.39 ns |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.34GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,414.0 ns |
26.75 ns |
25.02 ns |
1.00 |
0.02 |
0.0401 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
402.3 ns |
6.92 ns |
5.78 ns |
0.28 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
37,339.1 ns |
721.85 ns |
802.33 ns |
1.00 |
0.03 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
402.3 ns |
6.93 ns |
6.49 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,004,324.1 ns |
103,928.88 ns |
97,215.14 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2401000 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
442.6 ns |
8.87 ns |
9.49 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.34GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
709.8 ns |
11.21 ns |
9.94 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
722.7 ns |
13.98 ns |
18.18 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
881.6 ns |
15.17 ns |
13.44 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,066.4 ns |
53.24 ns |
49.80 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
221.5 ns |
3.65 ns |
3.41 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
229.8 ns |
4.45 ns |
4.94 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
405.4 ns |
8.09 ns |
7.57 ns |
0.0072 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
2,599.0 ns |
50.36 ns |
75.37 ns |
0.0420 |
712 B |
core-ubuntu-22.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.34GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
364.05 ns |
5.575 ns |
5.215 ns |
0.0046 |
80 B |
| PredicateSustained |
False |
False |
True |
344.50 ns |
4.756 ns |
3.971 ns |
0.0047 |
80 B |
| PredicateSustained |
False |
True |
False |
482.46 ns |
9.247 ns |
9.082 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
2,645.00 ns |
40.281 ns |
35.708 ns |
0.0450 |
768 B |
| PredicateSustained |
True |
False |
False |
35.63 ns |
0.685 ns |
0.867 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
34.91 ns |
0.328 ns |
0.274 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
150.65 ns |
2.484 ns |
2.551 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,244.50 ns |
44.387 ns |
45.582 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
536.5 ns |
10.68 ns |
10.49 ns |
1.00 |
0.03 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,009.0 ns |
75.90 ns |
71.00 ns |
11.20 |
0.25 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,160.8 ns |
12.93 ns |
12.09 ns |
2.16 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,170.2 ns |
11.31 ns |
10.58 ns |
2.18 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
7,999.5 ns |
128.69 ns |
120.38 ns |
14.92 |
0.35 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
558.5 ns |
7.82 ns |
6.53 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
449,192.3 ns |
3,504.22 ns |
3,277.85 ns |
804.35 |
10.63 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,877.2 ns |
21.94 ns |
19.45 ns |
3.36 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,883.9 ns |
7.78 ns |
6.90 ns |
3.37 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
636,953.9 ns |
6,626.38 ns |
6,198.32 ns |
1,140.57 |
16.67 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
544.7 ns |
7.75 ns |
7.25 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,191,530.5 ns |
673,035.75 ns |
596,628.66 ns |
105,004.59 |
1,708.52 |
1111.1111 |
1000.0000 |
333.3333 |
16002317 B |
46,518.36 |
| InvokeIntArrayFixed |
100000 |
50,753.6 ns |
111.95 ns |
104.72 ns |
93.18 |
1.20 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
50,831.7 ns |
151.13 ns |
126.20 ns |
93.33 |
1.21 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
81,230,147.4 ns |
887,156.29 ns |
829,846.55 ns |
149,139.88 |
2,409.40 |
2000.0000 |
1857.1429 |
857.1429 |
27894622 B |
81,089.02 |
core-ubuntu-22.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.047 μs |
0.0209 μs |
0.0196 μs |
1.00 |
0.03 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.050 μs |
0.0122 μs |
0.0114 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.063 μs |
0.0209 μs |
0.0195 μs |
1.02 |
0.03 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
105.26 ns |
1.194 ns |
1.117 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
121.04 ns |
2.032 ns |
1.901 ns |
1.15 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
102.48 ns |
1.325 ns |
1.239 ns |
0.97 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
626.28 ns |
9.764 ns |
9.134 ns |
5.95 |
0.10 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
105.52 ns |
1.671 ns |
1.563 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
117.38 ns |
1.129 ns |
1.001 ns |
1.12 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
99.77 ns |
1.624 ns |
1.519 ns |
0.95 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
579.74 ns |
5.669 ns |
5.025 ns |
5.51 |
0.07 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
130.88 ns |
1.448 ns |
1.355 ns |
1.24 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
255.5 ns |
4.21 ns |
3.73 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
246.3 ns |
3.20 ns |
2.99 ns |
0.96 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
512.8 ns |
10.20 ns |
10.92 ns |
2.01 |
0.05 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
263.5 ns |
3.78 ns |
3.54 ns |
1.03 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
534.5 ns |
6.51 ns |
6.09 ns |
2.09 |
0.04 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.290 μs |
0.0164 μs |
0.0153 μs |
1.00 |
0.02 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,874.2 ns |
19.89 ns |
18.61 ns |
1.00 |
0.01 |
0.0401 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
578.8 ns |
11.61 ns |
11.41 ns |
0.31 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
56,969.7 ns |
536.52 ns |
501.86 ns |
1.00 |
0.01 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
595.5 ns |
7.64 ns |
6.77 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,318,446.6 ns |
140,445.34 ns |
137,936.10 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400804 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
626.2 ns |
10.71 ns |
10.02 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,000.8 ns |
14.26 ns |
13.34 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,004.6 ns |
8.02 ns |
7.11 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,237.4 ns |
19.63 ns |
18.36 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,225.9 ns |
53.84 ns |
50.36 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
375.3 ns |
6.39 ns |
5.98 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
372.2 ns |
7.47 ns |
7.67 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
583.8 ns |
4.76 ns |
3.98 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,454.0 ns |
29.59 ns |
27.67 ns |
0.0420 |
712 B |
core-ubuntu-22.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
514.28 ns |
7.822 ns |
7.317 ns |
0.0044 |
80 B |
| PredicateSustained |
False |
False |
True |
521.85 ns |
7.955 ns |
7.441 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
681.89 ns |
8.300 ns |
6.931 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,615.75 ns |
50.811 ns |
47.529 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
36.18 ns |
0.419 ns |
0.350 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
36.68 ns |
0.461 ns |
0.431 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
186.73 ns |
3.009 ns |
2.815 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,993.61 ns |
16.969 ns |
15.043 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.67GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
522.8 ns |
8.05 ns |
7.53 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,262.2 ns |
61.29 ns |
57.33 ns |
11.98 |
0.20 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,187.4 ns |
16.61 ns |
15.54 ns |
2.27 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,188.8 ns |
9.86 ns |
8.74 ns |
2.27 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
7,826.2 ns |
58.99 ns |
49.26 ns |
14.97 |
0.23 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
534.4 ns |
6.57 ns |
5.48 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
471,790.0 ns |
4,521.39 ns |
3,775.57 ns |
882.90 |
11.08 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,902.2 ns |
11.32 ns |
10.04 ns |
3.56 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,933.3 ns |
21.43 ns |
19.00 ns |
3.62 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
626,851.7 ns |
4,263.36 ns |
3,560.10 ns |
1,173.08 |
13.27 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
505.2 ns |
3.29 ns |
2.75 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,602,567.3 ns |
558,542.07 ns |
466,407.93 ns |
114,017.64 |
1,071.55 |
1111.1111 |
1000.0000 |
333.3333 |
16001789 B |
46,516.83 |
| InvokeIntArrayFixed |
100000 |
51,623.5 ns |
168.59 ns |
157.70 ns |
102.18 |
0.61 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
51,472.6 ns |
141.39 ns |
125.34 ns |
101.88 |
0.58 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
79,640,919.0 ns |
1,198,468.54 ns |
1,121,048.22 ns |
157,640.01 |
2,302.37 |
1666.6667 |
1500.0000 |
666.6667 |
27894599 B |
81,088.95 |
core-ubuntu-22.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.67GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.107 μs |
0.0097 μs |
0.0086 μs |
1.00 |
0.01 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.133 μs |
0.0205 μs |
0.0192 μs |
1.02 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.100 μs |
0.0192 μs |
0.0170 μs |
0.99 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.67GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
109.2 ns |
1.53 ns |
1.43 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
122.4 ns |
1.88 ns |
1.76 ns |
1.12 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
107.5 ns |
0.99 ns |
0.88 ns |
0.98 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
646.8 ns |
5.07 ns |
4.74 ns |
5.92 |
0.09 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
113.7 ns |
1.06 ns |
0.99 ns |
1.04 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
129.1 ns |
1.89 ns |
1.77 ns |
1.18 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
108.6 ns |
1.29 ns |
1.21 ns |
0.99 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
635.3 ns |
8.77 ns |
8.20 ns |
5.82 |
0.10 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
135.6 ns |
2.48 ns |
2.32 ns |
1.24 |
0.03 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.67GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
308.4 ns |
5.93 ns |
6.83 ns |
1.00 |
0.03 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
269.4 ns |
5.32 ns |
4.97 ns |
0.87 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
508.4 ns |
9.16 ns |
8.57 ns |
1.65 |
0.04 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
347.5 ns |
6.19 ns |
5.79 ns |
1.13 |
0.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
527.3 ns |
7.06 ns |
6.61 ns |
1.71 |
0.04 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.67GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.343 μs |
0.0132 μs |
0.0123 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.67GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,933.8 ns |
34.38 ns |
32.16 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
543.6 ns |
4.58 ns |
3.82 ns |
0.28 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
55,824.4 ns |
626.31 ns |
585.85 ns |
1.00 |
0.01 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
571.8 ns |
7.97 ns |
7.45 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,276,906.7 ns |
63,866.80 ns |
59,741.05 ns |
1.000 |
0.01 |
78.1250 |
78.1250 |
78.1250 |
2400988 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
607.8 ns |
10.04 ns |
9.40 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.67GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,051.1 ns |
17.55 ns |
16.41 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,080.8 ns |
18.96 ns |
17.73 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,261.6 ns |
14.05 ns |
13.14 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,253.5 ns |
41.25 ns |
38.59 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
364.4 ns |
6.78 ns |
6.34 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
370.9 ns |
5.22 ns |
4.88 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
567.7 ns |
3.83 ns |
3.58 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,667.5 ns |
53.64 ns |
50.18 ns |
0.0420 |
712 B |
core-ubuntu-22.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.67GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
541.92 ns |
6.788 ns |
6.350 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
540.29 ns |
9.239 ns |
8.643 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
721.62 ns |
7.060 ns |
6.604 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,798.15 ns |
55.545 ns |
51.957 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
35.98 ns |
0.434 ns |
0.406 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
35.78 ns |
0.420 ns |
0.373 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
185.36 ns |
2.185 ns |
2.044 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,102.62 ns |
38.342 ns |
32.017 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.62GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
736.6 ns |
11.98 ns |
11.21 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,998.3 ns |
83.33 ns |
73.87 ns |
10.86 |
0.19 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,643.6 ns |
24.09 ns |
22.54 ns |
2.23 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,734.8 ns |
8.85 ns |
7.39 ns |
2.36 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,668.4 ns |
115.08 ns |
102.02 ns |
14.49 |
0.25 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
708.6 ns |
9.41 ns |
8.35 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
623,269.0 ns |
9,930.23 ns |
9,288.74 ns |
879.64 |
16.07 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,323.9 ns |
28.25 ns |
26.42 ns |
3.28 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,337.4 ns |
23.18 ns |
21.69 ns |
3.30 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
852,170.0 ns |
9,645.97 ns |
9,022.85 ns |
1,202.69 |
18.26 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
712.2 ns |
12.41 ns |
11.61 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
76,729,012.3 ns |
670,866.10 ns |
627,528.57 ns |
107,757.32 |
1,888.43 |
1000.0000 |
857.1429 |
285.7143 |
16002257 B |
46,518.19 |
| InvokeIntArrayFixed |
100000 |
70,646.4 ns |
388.72 ns |
363.61 ns |
99.21 |
1.63 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
70,739.9 ns |
360.58 ns |
337.29 ns |
99.35 |
1.62 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
100,706,123.3 ns |
1,910,387.69 ns |
2,044,093.42 ns |
141,430.49 |
3,563.55 |
1800.0000 |
1600.0000 |
800.0000 |
27895058 B |
81,090.28 |
core-ubuntu-22.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.62GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.498 μs |
0.0174 μs |
0.0162 μs |
1.00 |
0.01 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.480 μs |
0.0197 μs |
0.0184 μs |
0.99 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.498 μs |
0.0169 μs |
0.0158 μs |
1.00 |
0.01 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.62GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
126.6 ns |
2.21 ns |
2.06 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
145.4 ns |
2.85 ns |
3.05 ns |
1.15 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
121.6 ns |
1.53 ns |
1.27 ns |
0.96 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
870.6 ns |
5.53 ns |
5.17 ns |
6.88 |
0.11 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
129.1 ns |
1.53 ns |
1.35 ns |
1.02 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
144.6 ns |
2.68 ns |
2.51 ns |
1.14 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
119.6 ns |
2.44 ns |
2.29 ns |
0.95 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
840.1 ns |
7.18 ns |
6.72 ns |
6.64 |
0.12 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
168.5 ns |
2.96 ns |
2.77 ns |
1.33 |
0.03 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.62GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
351.4 ns |
6.10 ns |
5.70 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
316.1 ns |
6.15 ns |
5.76 ns |
0.90 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
716.6 ns |
13.44 ns |
12.57 ns |
2.04 |
0.05 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
368.4 ns |
5.85 ns |
5.47 ns |
1.05 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
729.8 ns |
9.06 ns |
8.47 ns |
2.08 |
0.04 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.62GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.763 μs |
0.0214 μs |
0.0201 μs |
1.00 |
0.02 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.62GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,584.9 ns |
25.70 ns |
22.78 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
774.2 ns |
9.98 ns |
9.33 ns |
0.30 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
72,360.7 ns |
1,435.27 ns |
1,473.91 ns |
1.00 |
0.03 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
793.8 ns |
9.14 ns |
8.55 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,813,351.4 ns |
171,872.30 ns |
217,363.45 ns |
1.001 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
840.3 ns |
6.42 ns |
6.00 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.62GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,349.2 ns |
23.64 ns |
22.11 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,324.8 ns |
20.10 ns |
18.81 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,657.3 ns |
16.68 ns |
15.60 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,590.9 ns |
64.94 ns |
60.75 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
512.6 ns |
9.58 ns |
9.84 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
506.3 ns |
9.45 ns |
8.84 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
801.8 ns |
10.64 ns |
9.95 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,704.2 ns |
72.94 ns |
68.23 ns |
0.0381 |
712 B |
core-ubuntu-22.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.62GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
716.18 ns |
11.806 ns |
11.044 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
False |
True |
712.07 ns |
13.423 ns |
12.556 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
962.54 ns |
11.699 ns |
10.371 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,889.56 ns |
36.957 ns |
32.762 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
42.78 ns |
0.541 ns |
0.506 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
42.47 ns |
0.732 ns |
0.684 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
236.99 ns |
2.440 ns |
2.282 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
4,215.43 ns |
66.326 ns |
73.721 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
530.1 ns |
7.74 ns |
6.86 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,111.6 ns |
34.49 ns |
30.57 ns |
11.53 |
0.15 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,154.0 ns |
10.21 ns |
9.55 ns |
2.18 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,163.2 ns |
10.04 ns |
9.39 ns |
2.19 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,082.6 ns |
88.57 ns |
82.85 ns |
15.25 |
0.24 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
512.2 ns |
4.50 ns |
3.99 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
462,958.0 ns |
3,457.78 ns |
3,234.41 ns |
903.87 |
9.13 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,888.5 ns |
10.65 ns |
9.96 ns |
3.69 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,874.6 ns |
12.86 ns |
12.03 ns |
3.66 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
628,969.6 ns |
6,422.09 ns |
6,007.23 ns |
1,227.99 |
14.62 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
531.3 ns |
7.77 ns |
7.27 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
61,391,667.6 ns |
1,115,369.96 ns |
1,043,317.75 ns |
115,561.63 |
2,431.96 |
1000.0000 |
875.0000 |
250.0000 |
16001484 B |
46,515.94 |
| InvokeIntArrayFixed |
100000 |
51,100.2 ns |
133.26 ns |
124.65 ns |
96.19 |
1.28 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
51,654.7 ns |
141.55 ns |
132.41 ns |
97.23 |
1.30 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
81,066,591.6 ns |
1,109,951.11 ns |
1,038,248.96 ns |
152,597.05 |
2,754.69 |
2000.0000 |
1857.1429 |
857.1429 |
27894633 B |
81,089.05 |
core-ubuntu-22.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.083 μs |
0.0111 μs |
0.0104 μs |
1.00 |
0.01 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.078 μs |
0.0145 μs |
0.0136 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.054 μs |
0.0081 μs |
0.0072 μs |
0.97 |
0.01 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
105.4 ns |
1.34 ns |
1.25 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
116.2 ns |
1.19 ns |
1.11 ns |
1.10 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
101.7 ns |
1.33 ns |
1.24 ns |
0.97 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
631.8 ns |
8.76 ns |
8.19 ns |
6.00 |
0.10 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
108.0 ns |
1.49 ns |
1.39 ns |
1.03 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
119.2 ns |
1.95 ns |
1.83 ns |
1.13 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
102.7 ns |
1.55 ns |
1.45 ns |
0.97 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
618.2 ns |
7.04 ns |
6.59 ns |
5.87 |
0.09 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
128.1 ns |
1.65 ns |
1.54 ns |
1.22 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
256.7 ns |
4.00 ns |
3.75 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
241.6 ns |
4.02 ns |
3.76 ns |
0.94 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
525.1 ns |
4.97 ns |
4.65 ns |
2.05 |
0.03 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
257.6 ns |
2.56 ns |
2.27 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
509.6 ns |
4.51 ns |
4.00 ns |
1.99 |
0.03 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.332 μs |
0.0098 μs |
0.0087 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,899.8 ns |
28.65 ns |
26.80 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
575.9 ns |
11.21 ns |
11.01 ns |
0.30 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
53,565.4 ns |
587.58 ns |
549.62 ns |
1.00 |
0.01 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
569.0 ns |
9.28 ns |
8.68 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,309,622.2 ns |
145,632.87 ns |
199,343.93 ns |
1.001 |
0.04 |
78.1250 |
78.1250 |
78.1250 |
2400906 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
597.1 ns |
11.81 ns |
11.05 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,007.8 ns |
14.50 ns |
13.57 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
973.2 ns |
9.70 ns |
8.60 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,234.9 ns |
14.36 ns |
12.73 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,118.0 ns |
33.71 ns |
31.53 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
384.6 ns |
5.97 ns |
5.59 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
356.8 ns |
6.89 ns |
7.07 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
590.3 ns |
8.61 ns |
8.05 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,472.0 ns |
25.02 ns |
23.41 ns |
0.0420 |
712 B |
core-ubuntu-22.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.69GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
503.60 ns |
6.455 ns |
6.038 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
504.85 ns |
6.455 ns |
6.038 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
681.58 ns |
8.753 ns |
8.188 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,569.15 ns |
31.800 ns |
28.190 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
38.01 ns |
0.236 ns |
0.197 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
35.32 ns |
0.613 ns |
0.573 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
197.80 ns |
1.457 ns |
1.363 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,944.72 ns |
12.283 ns |
10.257 ns |
0.0400 |
688 B |
core-ubuntu-22.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
752.5 ns |
12.16 ns |
11.38 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
8,019.6 ns |
126.41 ns |
118.24 ns |
10.66 |
0.22 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,609.8 ns |
14.87 ns |
13.91 ns |
2.14 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,615.6 ns |
29.82 ns |
27.89 ns |
2.15 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,837.7 ns |
120.22 ns |
112.45 ns |
14.41 |
0.26 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
750.6 ns |
12.64 ns |
11.82 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
602,995.0 ns |
7,073.33 ns |
6,270.33 ns |
803.50 |
14.59 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,312.3 ns |
19.99 ns |
18.70 ns |
3.08 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,333.3 ns |
28.01 ns |
26.20 ns |
3.11 |
0.06 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
916,478.6 ns |
7,816.90 ns |
6,929.48 ns |
1,221.22 |
20.51 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
754.6 ns |
11.02 ns |
10.31 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
69,662,630.9 ns |
1,159,987.74 ns |
1,085,053.25 ns |
92,335.93 |
1,850.63 |
1000.0000 |
857.1429 |
285.7143 |
16002479 B |
46,518.83 |
| InvokeIntArrayFixed |
100000 |
71,457.0 ns |
398.32 ns |
372.59 ns |
94.71 |
1.34 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
72,064.6 ns |
551.44 ns |
515.82 ns |
95.52 |
1.42 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
103,444,188.5 ns |
1,312,278.33 ns |
1,227,505.96 ns |
137,112.47 |
2,399.45 |
1800.0000 |
1600.0000 |
800.0000 |
27893414 B |
81,085.51 |
core-ubuntu-22.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.483 μs |
0.0098 μs |
0.0092 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.432 μs |
0.0177 μs |
0.0166 μs |
0.97 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.460 μs |
0.0166 μs |
0.0155 μs |
0.98 |
0.0210 |
360 B |
1.00 |
core-ubuntu-22.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
135.1 ns |
2.29 ns |
2.45 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
141.0 ns |
2.03 ns |
1.90 ns |
1.04 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
117.8 ns |
1.27 ns |
1.12 ns |
0.87 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
825.7 ns |
7.19 ns |
6.73 ns |
6.12 |
0.12 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
126.7 ns |
0.97 ns |
0.76 ns |
0.94 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
140.5 ns |
1.37 ns |
1.29 ns |
1.04 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
114.3 ns |
1.60 ns |
1.42 ns |
0.85 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
814.8 ns |
9.99 ns |
9.35 ns |
6.04 |
0.12 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
160.0 ns |
2.18 ns |
1.93 ns |
1.19 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-22.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
338.9 ns |
3.96 ns |
3.70 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
304.5 ns |
2.82 ns |
2.20 ns |
0.90 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
692.5 ns |
5.79 ns |
4.83 ns |
2.04 |
0.03 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
353.2 ns |
5.07 ns |
4.75 ns |
1.04 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
732.6 ns |
10.11 ns |
8.96 ns |
2.16 |
0.03 |
0.0200 |
344 B |
NA |
core-ubuntu-22.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.796 μs |
0.0296 μs |
0.0277 μs |
1.00 |
0.02 |
0.0420 |
712 B |
1.00 |
core-ubuntu-22.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,541.6 ns |
25.47 ns |
23.83 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
821.5 ns |
14.92 ns |
13.96 ns |
0.32 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
77,102.4 ns |
1,114.80 ns |
988.24 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
811.6 ns |
6.46 ns |
5.73 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,488,141.6 ns |
178,016.08 ns |
174,835.60 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
852.6 ns |
5.57 ns |
4.66 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-22.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,284.7 ns |
23.46 ns |
21.95 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,271.8 ns |
19.91 ns |
17.65 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,586.8 ns |
25.85 ns |
24.18 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,583.9 ns |
52.44 ns |
43.79 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
510.2 ns |
7.27 ns |
6.44 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
524.8 ns |
9.33 ns |
8.73 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
795.2 ns |
15.66 ns |
15.38 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,751.5 ns |
86.12 ns |
80.56 ns |
0.0381 |
712 B |
core-ubuntu-22.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
687.61 ns |
10.885 ns |
10.182 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
707.27 ns |
13.327 ns |
14.260 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
True |
False |
946.08 ns |
16.315 ns |
15.261 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,820.08 ns |
62.898 ns |
58.835 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
49.35 ns |
0.947 ns |
0.886 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
43.83 ns |
0.830 ns |
0.852 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
253.65 ns |
3.581 ns |
3.349 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,975.44 ns |
17.115 ns |
14.292 ns |
0.0400 |
688 B |
core-ubuntu-24.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
528.4 ns |
0.45 ns |
0.40 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,012.2 ns |
10.47 ns |
9.79 ns |
13.27 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,149.7 ns |
2.19 ns |
2.05 ns |
2.18 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,135.5 ns |
2.17 ns |
2.03 ns |
2.15 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,324.2 ns |
32.42 ns |
30.33 ns |
17.65 |
0.06 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
531.3 ns |
0.40 ns |
0.33 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
552,957.4 ns |
869.36 ns |
813.20 ns |
1,040.75 |
1.61 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,870.4 ns |
3.91 ns |
3.26 ns |
3.52 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,860.4 ns |
2.32 ns |
1.94 ns |
3.50 |
0.00 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
745,590.0 ns |
1,263.23 ns |
1,181.63 ns |
1,403.31 |
2.31 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
529.3 ns |
0.56 ns |
0.50 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,492,223.1 ns |
386,541.45 ns |
361,571.12 ns |
110,510.86 |
669.10 |
333.3333 |
222.2222 |
222.2222 |
16001238 B |
51,286.02 |
| InvokeIntArrayFixed |
100000 |
61,879.0 ns |
223.71 ns |
198.31 ns |
116.91 |
0.38 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
61,476.4 ns |
324.21 ns |
287.40 ns |
116.15 |
0.54 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
81,473,379.2 ns |
827,458.80 ns |
774,005.47 ns |
153,929.75 |
1,423.01 |
666.6667 |
500.0000 |
500.0000 |
27894008 B |
89,403.87 |
core-ubuntu-24.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.067 μs |
0.0008 μs |
0.0007 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.070 μs |
0.0006 μs |
0.0005 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.053 μs |
0.0067 μs |
0.0056 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
95.39 ns |
0.024 ns |
0.021 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
113.67 ns |
0.032 ns |
0.029 ns |
1.19 |
0.00 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
115.02 ns |
0.031 ns |
0.027 ns |
1.21 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
669.14 ns |
4.066 ns |
3.803 ns |
7.01 |
0.04 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
121.59 ns |
0.043 ns |
0.038 ns |
1.27 |
0.00 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
120.46 ns |
0.041 ns |
0.036 ns |
1.26 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
102.98 ns |
0.041 ns |
0.038 ns |
1.08 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
676.61 ns |
1.008 ns |
0.943 ns |
7.09 |
0.01 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
103.71 ns |
0.044 ns |
0.039 ns |
1.09 |
0.00 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
371.0 ns |
0.35 ns |
0.33 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
377.4 ns |
0.23 ns |
0.22 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
531.0 ns |
0.40 ns |
0.35 ns |
1.43 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
377.0 ns |
0.19 ns |
0.16 ns |
1.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
535.2 ns |
0.46 ns |
0.40 ns |
1.44 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.286 μs |
0.0014 μs |
0.0012 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,951.2 ns |
1.77 ns |
1.47 ns |
1.00 |
0.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
560.1 ns |
0.27 ns |
0.24 ns |
0.29 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
62,389.4 ns |
236.15 ns |
220.90 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
555.9 ns |
0.33 ns |
0.29 ns |
0.009 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,488,982.1 ns |
148,845.37 ns |
313,965.43 ns |
1.002 |
0.06 |
62.5000 |
62.5000 |
62.5000 |
2400771 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
597.8 ns |
0.38 ns |
0.34 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,064.9 ns |
10.76 ns |
10.06 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,079.1 ns |
6.80 ns |
6.36 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,304.9 ns |
7.46 ns |
6.98 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,852.5 ns |
19.52 ns |
18.26 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
457.8 ns |
0.71 ns |
0.60 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
465.2 ns |
0.80 ns |
0.71 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
691.8 ns |
3.37 ns |
2.98 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,059.2 ns |
19.70 ns |
18.43 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
612.40 ns |
1.034 ns |
0.863 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
608.88 ns |
0.779 ns |
0.728 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
812.82 ns |
3.187 ns |
2.981 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,160.47 ns |
22.798 ns |
21.326 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
50.60 ns |
0.887 ns |
0.830 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
50.43 ns |
0.779 ns |
0.729 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
274.32 ns |
0.594 ns |
0.556 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,451.81 ns |
23.950 ns |
22.403 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
560.9 ns |
1.68 ns |
1.57 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,347.9 ns |
16.94 ns |
14.15 ns |
13.10 |
0.04 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,148.1 ns |
1.10 ns |
0.97 ns |
2.05 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,139.6 ns |
0.94 ns |
0.78 ns |
2.03 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
10,014.2 ns |
57.31 ns |
50.81 ns |
17.86 |
0.10 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
547.4 ns |
0.39 ns |
0.33 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
552,109.2 ns |
781.10 ns |
730.64 ns |
1,008.61 |
1.42 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,865.6 ns |
9.60 ns |
8.98 ns |
3.41 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,899.3 ns |
5.94 ns |
5.55 ns |
3.47 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
751,110.0 ns |
1,135.90 ns |
948.53 ns |
1,372.16 |
1.85 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
548.0 ns |
1.10 ns |
0.98 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,555,488.0 ns |
201,877.97 ns |
188,836.78 ns |
105,032.72 |
379.31 |
333.3333 |
222.2222 |
222.2222 |
16000573 B |
51,283.89 |
| InvokeIntArrayFixed |
100000 |
61,055.1 ns |
180.21 ns |
159.75 ns |
111.42 |
0.34 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
61,014.7 ns |
189.50 ns |
167.99 ns |
111.35 |
0.35 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
84,763,759.9 ns |
616,693.63 ns |
576,855.61 ns |
154,684.95 |
1,053.45 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-24.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.093 μs |
0.0094 μs |
0.0088 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.090 μs |
0.0097 μs |
0.0091 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.099 μs |
0.0108 μs |
0.0101 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
97.08 ns |
0.024 ns |
0.021 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
116.63 ns |
0.037 ns |
0.033 ns |
1.20 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
105.32 ns |
0.014 ns |
0.013 ns |
1.08 |
- |
- |
0.00 |
| SetInstanceStringField |
670.99 ns |
0.750 ns |
0.665 ns |
6.91 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
109.77 ns |
0.031 ns |
0.027 ns |
1.13 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
108.38 ns |
0.091 ns |
0.085 ns |
1.12 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
96.66 ns |
0.022 ns |
0.020 ns |
1.00 |
- |
- |
0.00 |
| SetStaticStringField |
669.14 ns |
0.670 ns |
0.594 ns |
6.89 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
102.97 ns |
0.054 ns |
0.048 ns |
1.06 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
304.7 ns |
0.12 ns |
0.11 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
308.0 ns |
0.36 ns |
0.33 ns |
1.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
555.0 ns |
0.75 ns |
0.67 ns |
1.82 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
311.9 ns |
0.16 ns |
0.15 ns |
1.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
560.7 ns |
0.27 ns |
0.24 ns |
1.84 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.412 μs |
0.0072 μs |
0.0068 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,954.1 ns |
21.69 ns |
20.29 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
585.6 ns |
0.34 ns |
0.30 ns |
0.30 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,742.8 ns |
319.69 ns |
299.04 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
576.3 ns |
0.23 ns |
0.20 ns |
0.009 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,687,711.5 ns |
79,602.92 ns |
74,460.62 ns |
1.000 |
0.02 |
62.5000 |
62.5000 |
62.5000 |
2400804 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
629.7 ns |
0.19 ns |
0.17 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,081.1 ns |
5.25 ns |
4.91 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,064.9 ns |
3.67 ns |
3.07 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,420.6 ns |
15.89 ns |
14.86 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,445.7 ns |
46.77 ns |
43.75 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
465.3 ns |
1.63 ns |
1.36 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
462.6 ns |
2.18 ns |
2.04 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
706.3 ns |
3.21 ns |
2.51 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
6,364.9 ns |
58.85 ns |
55.04 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
605.85 ns |
1.649 ns |
1.543 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
613.87 ns |
2.448 ns |
2.044 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
816.58 ns |
3.210 ns |
2.681 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,374.51 ns |
27.815 ns |
26.018 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
42.89 ns |
0.600 ns |
0.469 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
43.28 ns |
0.406 ns |
0.339 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
254.36 ns |
0.521 ns |
0.407 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
4,081.59 ns |
45.504 ns |
42.565 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
532.4 ns |
0.58 ns |
0.51 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,980.4 ns |
8.64 ns |
7.21 ns |
13.11 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,121.2 ns |
1.84 ns |
1.63 ns |
2.11 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,141.5 ns |
2.70 ns |
2.40 ns |
2.14 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,408.7 ns |
54.62 ns |
51.09 ns |
17.67 |
0.09 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
533.9 ns |
0.30 ns |
0.27 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
562,458.6 ns |
1,439.73 ns |
1,346.73 ns |
1,053.49 |
2.50 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,851.9 ns |
7.73 ns |
6.85 ns |
3.47 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,887.5 ns |
8.40 ns |
7.85 ns |
3.54 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
737,999.5 ns |
775.68 ns |
647.73 ns |
1,382.28 |
1.35 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
544.4 ns |
0.57 ns |
0.50 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,238,032.6 ns |
189,781.86 ns |
177,522.07 ns |
108,820.34 |
330.49 |
333.3333 |
222.2222 |
222.2222 |
16001137 B |
51,285.70 |
| InvokeIntArrayFixed |
100000 |
60,378.8 ns |
305.23 ns |
270.58 ns |
110.92 |
0.49 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,991.2 ns |
634.64 ns |
593.64 ns |
112.04 |
1.06 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,465,637.5 ns |
1,209,121.06 ns |
1,131,012.59 ns |
151,489.47 |
2,016.59 |
1166.6667 |
1000.0000 |
1000.0000 |
27897003 B |
89,413.47 |
core-ubuntu-24.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.039 μs |
0.0086 μs |
0.0072 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.027 μs |
0.0009 μs |
0.0008 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.051 μs |
0.0124 μs |
0.0116 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
98.12 ns |
0.047 ns |
0.040 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
114.67 ns |
0.023 ns |
0.021 ns |
1.17 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
111.10 ns |
0.018 ns |
0.016 ns |
1.13 |
- |
- |
0.00 |
| SetInstanceStringField |
680.78 ns |
1.019 ns |
0.953 ns |
6.94 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
112.68 ns |
0.021 ns |
0.018 ns |
1.15 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
108.45 ns |
0.026 ns |
0.021 ns |
1.11 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
101.61 ns |
0.013 ns |
0.011 ns |
1.04 |
- |
- |
0.00 |
| SetStaticStringField |
670.60 ns |
0.933 ns |
0.873 ns |
6.83 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
103.28 ns |
0.089 ns |
0.083 ns |
1.05 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
304.3 ns |
0.39 ns |
0.37 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
312.4 ns |
0.29 ns |
0.27 ns |
1.03 |
- |
- |
NA |
| InvokeStaticWithFeedback |
534.4 ns |
0.68 ns |
0.60 ns |
1.76 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
313.3 ns |
0.47 ns |
0.44 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
535.6 ns |
0.39 ns |
0.34 ns |
1.76 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.415 μs |
0.0145 μs |
0.0136 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,909.0 ns |
30.93 ns |
28.93 ns |
1.00 |
0.02 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
571.9 ns |
0.35 ns |
0.27 ns |
0.30 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
61,292.5 ns |
134.13 ns |
125.47 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
568.9 ns |
0.25 ns |
0.23 ns |
0.009 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,270,504.7 ns |
46,193.74 ns |
40,949.55 ns |
1.000 |
0.01 |
62.5000 |
62.5000 |
62.5000 |
2400878 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
603.5 ns |
0.41 ns |
0.36 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,046.7 ns |
12.29 ns |
11.50 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,035.9 ns |
7.66 ns |
7.16 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,319.4 ns |
13.80 ns |
12.91 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,260.3 ns |
42.66 ns |
37.81 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
446.4 ns |
0.32 ns |
0.28 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
450.7 ns |
0.35 ns |
0.31 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
670.3 ns |
1.11 ns |
0.92 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,435.7 ns |
21.98 ns |
20.56 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
598.13 ns |
0.510 ns |
0.398 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
599.16 ns |
0.396 ns |
0.309 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
803.74 ns |
0.841 ns |
0.702 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,082.73 ns |
23.576 ns |
22.053 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
44.36 ns |
0.820 ns |
0.685 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
46.31 ns |
0.919 ns |
1.162 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
258.54 ns |
0.331 ns |
0.310 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,873.91 ns |
28.333 ns |
26.502 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
549.7 ns |
0.31 ns |
0.26 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,417.7 ns |
22.03 ns |
19.53 ns |
13.49 |
0.03 |
0.0153 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,156.0 ns |
3.46 ns |
3.24 ns |
2.10 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,155.0 ns |
2.15 ns |
2.01 ns |
2.10 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,536.0 ns |
34.98 ns |
31.00 ns |
17.35 |
0.06 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
540.8 ns |
0.37 ns |
0.33 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
563,152.1 ns |
1,260.58 ns |
1,179.15 ns |
1,041.27 |
2.20 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,862.5 ns |
3.37 ns |
2.81 ns |
3.44 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,911.1 ns |
8.27 ns |
7.73 ns |
3.53 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
739,571.5 ns |
2,450.77 ns |
2,046.50 ns |
1,367.47 |
3.73 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
538.3 ns |
0.57 ns |
0.50 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,873,478.8 ns |
272,770.00 ns |
255,149.22 ns |
109,366.66 |
469.47 |
333.3333 |
222.2222 |
222.2222 |
16001456 B |
51,286.72 |
| InvokeIntArrayFixed |
100000 |
61,173.4 ns |
276.25 ns |
258.41 ns |
113.64 |
0.48 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,990.6 ns |
307.38 ns |
272.48 ns |
113.30 |
0.50 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
83,708,909.7 ns |
1,565,347.68 ns |
1,464,227.19 ns |
155,502.34 |
2,637.81 |
666.6667 |
500.0000 |
500.0000 |
27894008 B |
89,403.87 |
core-ubuntu-24.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.071 μs |
0.0100 μs |
0.0093 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.076 μs |
0.0102 μs |
0.0095 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.084 μs |
0.0123 μs |
0.0115 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
95.79 ns |
0.027 ns |
0.024 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
122.71 ns |
0.031 ns |
0.027 ns |
1.28 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
113.00 ns |
0.010 ns |
0.009 ns |
1.18 |
- |
- |
0.00 |
| SetInstanceStringField |
677.50 ns |
1.053 ns |
0.985 ns |
7.07 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
110.91 ns |
0.032 ns |
0.027 ns |
1.16 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
112.66 ns |
0.023 ns |
0.019 ns |
1.18 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
100.58 ns |
0.012 ns |
0.011 ns |
1.05 |
- |
- |
0.00 |
| SetStaticStringField |
673.87 ns |
1.139 ns |
1.066 ns |
7.04 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
117.20 ns |
0.036 ns |
0.032 ns |
1.22 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
313.8 ns |
0.27 ns |
0.25 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
318.3 ns |
0.23 ns |
0.21 ns |
1.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
550.5 ns |
2.54 ns |
2.26 ns |
1.75 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
312.5 ns |
0.17 ns |
0.15 ns |
1.00 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
556.2 ns |
0.33 ns |
0.29 ns |
1.77 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.540 μs |
0.0126 μs |
0.0118 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,993.8 ns |
11.97 ns |
9.99 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
590.2 ns |
5.15 ns |
4.82 ns |
0.30 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
67,568.0 ns |
238.84 ns |
223.41 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
578.0 ns |
0.39 ns |
0.31 ns |
0.009 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,851,229.2 ns |
108,709.50 ns |
101,686.93 ns |
1.000 |
0.02 |
62.5000 |
62.5000 |
62.5000 |
2400865 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
614.4 ns |
0.40 ns |
0.33 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,051.9 ns |
9.76 ns |
9.13 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,052.6 ns |
9.63 ns |
9.01 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,326.6 ns |
15.17 ns |
14.19 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,913.7 ns |
48.20 ns |
37.63 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
456.7 ns |
2.05 ns |
1.92 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
453.3 ns |
0.36 ns |
0.28 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
1,154.9 ns |
18.92 ns |
21.79 ns |
- |
120 B |
| PredicateRoundTrip |
True |
True |
True |
5,356.7 ns |
79.86 ns |
66.69 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
598.02 ns |
0.923 ns |
0.721 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
604.42 ns |
1.210 ns |
0.945 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
815.71 ns |
7.055 ns |
6.600 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,598.19 ns |
46.938 ns |
57.644 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
41.81 ns |
0.231 ns |
0.216 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
41.92 ns |
0.029 ns |
0.027 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
260.85 ns |
0.434 ns |
0.385 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
5,277.27 ns |
102.880 ns |
205.462 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
546.3 ns |
0.78 ns |
0.70 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,786.8 ns |
7.29 ns |
6.46 ns |
12.42 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,268.3 ns |
12.33 ns |
11.53 ns |
2.32 |
0.02 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,133.4 ns |
0.95 ns |
0.74 ns |
2.07 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,941.6 ns |
25.38 ns |
23.74 ns |
16.37 |
0.05 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
540.9 ns |
0.42 ns |
0.37 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
533,458.2 ns |
774.03 ns |
686.16 ns |
986.32 |
1.39 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,706.8 ns |
4.06 ns |
3.79 ns |
3.16 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,688.4 ns |
3.74 ns |
3.50 ns |
3.12 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
737,663.3 ns |
481.96 ns |
402.46 ns |
1,363.87 |
1.15 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
549.7 ns |
0.57 ns |
0.51 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
56,276,090.3 ns |
202,775.97 ns |
189,676.77 ns |
102,374.09 |
346.33 |
333.3333 |
222.2222 |
222.2222 |
16001197 B |
51,285.89 |
| InvokeIntArrayFixed |
100000 |
45,613.6 ns |
410.54 ns |
384.02 ns |
82.98 |
0.68 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
45,776.0 ns |
290.60 ns |
257.61 ns |
83.27 |
0.46 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
83,501,824.9 ns |
197,158.65 ns |
184,422.32 ns |
151,901.51 |
351.87 |
857.1429 |
714.2857 |
571.4286 |
27894090 B |
89,404.13 |
core-ubuntu-24.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Median |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.052 μs |
0.0031 μs |
0.0024 μs |
1.051 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.052 μs |
0.0110 μs |
0.0103 μs |
1.044 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.043 μs |
0.0009 μs |
0.0007 μs |
1.043 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
94.81 ns |
0.113 ns |
0.106 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
112.72 ns |
0.138 ns |
0.129 ns |
1.19 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
99.60 ns |
0.043 ns |
0.041 ns |
1.05 |
- |
- |
0.00 |
| SetInstanceStringField |
664.13 ns |
0.423 ns |
0.353 ns |
7.00 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
107.84 ns |
0.042 ns |
0.037 ns |
1.14 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
113.83 ns |
0.301 ns |
0.281 ns |
1.20 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
97.26 ns |
0.021 ns |
0.018 ns |
1.03 |
- |
- |
0.00 |
| SetStaticStringField |
654.51 ns |
0.481 ns |
0.402 ns |
6.90 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
103.66 ns |
0.067 ns |
0.060 ns |
1.09 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
289.4 ns |
0.14 ns |
0.13 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
298.6 ns |
0.79 ns |
0.74 ns |
1.03 |
- |
- |
NA |
| InvokeStaticWithFeedback |
544.2 ns |
0.31 ns |
0.27 ns |
1.88 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
305.7 ns |
0.14 ns |
0.13 ns |
1.06 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
554.7 ns |
0.41 ns |
0.36 ns |
1.92 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.282 μs |
0.0013 μs |
0.0011 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,971.3 ns |
23.23 ns |
19.40 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
569.9 ns |
0.28 ns |
0.25 ns |
0.29 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
61,575.0 ns |
147.48 ns |
115.14 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
576.7 ns |
0.33 ns |
0.29 ns |
0.009 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,435,482.6 ns |
92,382.46 ns |
86,414.61 ns |
1.000 |
0.02 |
62.5000 |
62.5000 |
62.5000 |
2400682 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
606.9 ns |
0.52 ns |
0.41 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,053.5 ns |
6.87 ns |
6.42 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,073.7 ns |
5.24 ns |
4.37 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,361.7 ns |
15.98 ns |
14.95 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,934.2 ns |
65.74 ns |
61.50 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
455.8 ns |
0.21 ns |
0.19 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
451.6 ns |
0.22 ns |
0.18 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
685.0 ns |
0.74 ns |
0.58 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,853.1 ns |
59.59 ns |
55.74 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
611.87 ns |
0.615 ns |
0.575 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
605.74 ns |
1.741 ns |
1.629 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
816.81 ns |
2.390 ns |
1.996 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,140.58 ns |
23.335 ns |
21.828 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
42.58 ns |
0.023 ns |
0.021 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
44.28 ns |
0.023 ns |
0.020 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
261.60 ns |
0.349 ns |
0.326 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
4,049.07 ns |
72.765 ns |
68.064 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
542.0 ns |
0.31 ns |
0.27 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,941.6 ns |
20.40 ns |
19.08 ns |
12.81 |
0.03 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,117.1 ns |
1.61 ns |
1.43 ns |
2.06 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,128.0 ns |
1.96 ns |
1.74 ns |
2.08 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,842.2 ns |
26.06 ns |
24.38 ns |
16.31 |
0.04 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
531.7 ns |
0.19 ns |
0.15 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
546,900.2 ns |
1,467.62 ns |
1,372.81 ns |
1,028.53 |
2.52 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,713.0 ns |
7.69 ns |
7.20 ns |
3.22 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,717.6 ns |
8.57 ns |
8.02 ns |
3.23 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
723,776.2 ns |
725.08 ns |
642.76 ns |
1,361.18 |
1.23 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
538.5 ns |
0.67 ns |
0.56 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,645,839.9 ns |
183,478.93 ns |
171,626.31 ns |
107,041.81 |
326.76 |
333.3333 |
222.2222 |
222.2222 |
16000662 B |
51,284.17 |
| InvokeIntArrayFixed |
100000 |
45,483.8 ns |
285.07 ns |
252.71 ns |
84.46 |
0.46 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
45,315.9 ns |
508.32 ns |
475.48 ns |
84.15 |
0.86 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
79,734,504.4 ns |
669,253.89 ns |
558,857.31 ns |
148,057.96 |
1,010.92 |
666.6667 |
500.0000 |
500.0000 |
27894008 B |
89,403.87 |
core-ubuntu-24.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.054 μs |
0.0121 μs |
0.0113 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.049 μs |
0.0111 μs |
0.0104 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.041 μs |
0.0101 μs |
0.0095 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
95.87 ns |
0.033 ns |
0.030 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
121.64 ns |
0.031 ns |
0.028 ns |
1.27 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
105.88 ns |
0.010 ns |
0.009 ns |
1.10 |
- |
- |
0.00 |
| SetInstanceStringField |
672.04 ns |
0.871 ns |
0.815 ns |
7.01 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
112.77 ns |
0.046 ns |
0.040 ns |
1.18 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
114.65 ns |
0.060 ns |
0.050 ns |
1.20 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
99.67 ns |
0.018 ns |
0.016 ns |
1.04 |
- |
- |
0.00 |
| SetStaticStringField |
679.05 ns |
0.908 ns |
0.850 ns |
7.08 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
109.14 ns |
0.027 ns |
0.024 ns |
1.14 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
302.8 ns |
0.90 ns |
0.84 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
302.5 ns |
1.00 ns |
0.93 ns |
1.00 |
- |
- |
NA |
| InvokeStaticWithFeedback |
534.6 ns |
0.34 ns |
0.30 ns |
1.77 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
317.8 ns |
0.28 ns |
0.26 ns |
1.05 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
541.3 ns |
0.48 ns |
0.40 ns |
1.79 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.298 μs |
0.0013 μs |
0.0012 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,915.7 ns |
28.36 ns |
26.53 ns |
1.00 |
0.02 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
590.1 ns |
0.32 ns |
0.29 ns |
0.31 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,777.3 ns |
124.85 ns |
104.25 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
584.4 ns |
0.23 ns |
0.21 ns |
0.010 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,051,078.2 ns |
138,471.80 ns |
148,163.28 ns |
1.000 |
0.03 |
62.5000 |
62.5000 |
62.5000 |
2400748 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
592.4 ns |
0.70 ns |
0.62 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,025.1 ns |
8.36 ns |
7.41 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,032.2 ns |
8.47 ns |
7.92 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,265.4 ns |
10.87 ns |
10.17 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,251.3 ns |
65.81 ns |
61.56 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
446.7 ns |
0.81 ns |
0.72 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
450.6 ns |
0.52 ns |
0.46 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
661.1 ns |
0.48 ns |
0.40 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,529.7 ns |
40.30 ns |
37.69 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
595.38 ns |
0.245 ns |
0.217 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
593.66 ns |
1.114 ns |
0.931 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
797.30 ns |
2.326 ns |
1.816 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,625.85 ns |
37.048 ns |
34.655 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
44.46 ns |
0.828 ns |
0.886 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
45.08 ns |
0.898 ns |
1.069 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
259.67 ns |
0.457 ns |
0.428 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,504.95 ns |
17.038 ns |
15.938 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
531.3 ns |
0.40 ns |
0.36 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,139.0 ns |
19.82 ns |
17.57 ns |
13.44 |
0.03 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,249.5 ns |
8.99 ns |
8.41 ns |
2.35 |
0.02 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,142.4 ns |
2.64 ns |
2.21 ns |
2.15 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,451.8 ns |
46.83 ns |
41.51 ns |
17.79 |
0.08 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
535.5 ns |
0.36 ns |
0.30 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
548,976.3 ns |
891.42 ns |
833.84 ns |
1,025.15 |
1.61 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,648.8 ns |
11.01 ns |
9.76 ns |
3.08 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,675.5 ns |
5.63 ns |
4.99 ns |
3.13 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
731,261.3 ns |
1,442.06 ns |
1,125.86 ns |
1,365.55 |
2.15 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
529.1 ns |
0.22 ns |
0.18 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,740,253.5 ns |
261,112.24 ns |
244,244.55 ns |
111,016.71 |
448.61 |
333.3333 |
222.2222 |
222.2222 |
16001504 B |
51,286.87 |
| InvokeIntArrayFixed |
100000 |
44,421.2 ns |
291.67 ns |
258.55 ns |
83.95 |
0.47 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
44,038.2 ns |
230.63 ns |
215.73 ns |
83.23 |
0.40 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
84,391,897.1 ns |
278,123.35 ns |
232,245.59 ns |
159,497.28 |
426.24 |
857.1429 |
714.2857 |
571.4286 |
27894146 B |
89,404.31 |
core-ubuntu-24.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.067 μs |
0.0089 μs |
0.0074 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.039 μs |
0.0128 μs |
0.0120 μs |
0.97 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.045 μs |
0.0024 μs |
0.0019 μs |
0.98 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
98.94 ns |
0.036 ns |
0.032 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
121.59 ns |
0.030 ns |
0.027 ns |
1.23 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
108.02 ns |
0.019 ns |
0.015 ns |
1.09 |
- |
- |
0.00 |
| SetInstanceStringField |
671.15 ns |
0.930 ns |
0.825 ns |
6.78 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
115.19 ns |
0.042 ns |
0.037 ns |
1.16 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
122.45 ns |
0.062 ns |
0.055 ns |
1.24 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
103.85 ns |
0.026 ns |
0.024 ns |
1.05 |
- |
- |
0.00 |
| SetStaticStringField |
668.77 ns |
1.059 ns |
0.991 ns |
6.76 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
109.89 ns |
0.062 ns |
0.052 ns |
1.11 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
299.2 ns |
0.75 ns |
0.70 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
305.9 ns |
0.64 ns |
0.60 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
554.9 ns |
0.20 ns |
0.17 ns |
1.85 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
319.3 ns |
0.11 ns |
0.09 ns |
1.07 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
549.5 ns |
0.38 ns |
0.32 ns |
1.84 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.362 μs |
0.0074 μs |
0.0069 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,930.7 ns |
4.98 ns |
3.89 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
573.2 ns |
0.61 ns |
0.54 ns |
0.30 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
62,629.5 ns |
252.03 ns |
235.74 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
576.0 ns |
0.26 ns |
0.23 ns |
0.009 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,621,147.7 ns |
54,296.38 ns |
50,788.87 ns |
1.000 |
62.5000 |
62.5000 |
62.5000 |
2400838 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
608.7 ns |
0.35 ns |
0.31 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,026.7 ns |
10.74 ns |
10.04 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,040.9 ns |
1.04 ns |
0.87 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,310.5 ns |
25.96 ns |
24.29 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,770.7 ns |
88.13 ns |
68.80 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
436.2 ns |
0.36 ns |
0.32 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
436.4 ns |
1.25 ns |
1.17 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
702.1 ns |
3.40 ns |
2.65 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
5,032.9 ns |
53.99 ns |
45.09 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
593.73 ns |
0.391 ns |
0.305 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
597.41 ns |
0.593 ns |
0.463 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
803.77 ns |
6.910 ns |
6.464 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,561.78 ns |
42.623 ns |
41.862 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
44.76 ns |
0.886 ns |
1.183 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
44.33 ns |
0.420 ns |
0.351 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
256.63 ns |
0.483 ns |
0.452 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
5,127.40 ns |
48.286 ns |
40.321 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
530.5 ns |
1.07 ns |
1.00 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,735.7 ns |
17.16 ns |
16.05 ns |
12.70 |
0.04 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,131.4 ns |
1.80 ns |
1.60 ns |
2.13 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,123.6 ns |
2.79 ns |
2.47 ns |
2.12 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,976.7 ns |
21.76 ns |
19.29 ns |
16.92 |
0.05 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
518.9 ns |
0.14 ns |
0.12 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
551,102.6 ns |
1,219.06 ns |
1,140.31 ns |
1,061.98 |
2.14 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,873.2 ns |
10.24 ns |
9.58 ns |
3.61 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,883.9 ns |
7.64 ns |
7.14 ns |
3.63 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
732,788.6 ns |
1,623.09 ns |
1,518.24 ns |
1,412.09 |
2.85 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
541.9 ns |
0.30 ns |
0.27 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
56,716,952.9 ns |
309,494.86 ns |
289,501.69 ns |
104,671.90 |
519.83 |
333.3333 |
222.2222 |
222.2222 |
16000694 B |
51,284.28 |
| InvokeIntArrayFixed |
100000 |
60,977.5 ns |
342.34 ns |
320.23 ns |
112.53 |
0.57 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
61,119.1 ns |
470.36 ns |
367.22 ns |
112.80 |
0.65 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,243,533.5 ns |
670,486.30 ns |
627,173.30 ns |
151,781.54 |
1,123.24 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-24.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.074 μs |
0.0059 μs |
0.0053 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.061 μs |
0.0086 μs |
0.0080 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.066 μs |
0.0019 μs |
0.0015 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
96.18 ns |
0.026 ns |
0.023 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
116.21 ns |
0.102 ns |
0.096 ns |
1.21 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
110.34 ns |
0.015 ns |
0.014 ns |
1.15 |
- |
- |
0.00 |
| SetInstanceStringField |
654.74 ns |
1.568 ns |
1.467 ns |
6.81 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
120.59 ns |
0.036 ns |
0.032 ns |
1.25 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
117.70 ns |
0.036 ns |
0.032 ns |
1.22 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
108.64 ns |
0.168 ns |
0.157 ns |
1.13 |
- |
- |
0.00 |
| SetStaticStringField |
649.70 ns |
1.538 ns |
1.439 ns |
6.75 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
111.29 ns |
0.068 ns |
0.063 ns |
1.16 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
370.9 ns |
0.23 ns |
0.20 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
387.9 ns |
0.25 ns |
0.23 ns |
1.05 |
- |
- |
NA |
| InvokeStaticWithFeedback |
534.4 ns |
0.29 ns |
0.26 ns |
1.44 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
369.8 ns |
0.33 ns |
0.30 ns |
1.00 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
551.8 ns |
0.34 ns |
0.31 ns |
1.49 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.263 μs |
0.0037 μs |
0.0034 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,940.6 ns |
3.95 ns |
3.09 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
561.4 ns |
0.44 ns |
0.37 ns |
0.29 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
63,501.5 ns |
224.51 ns |
210.01 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
557.5 ns |
0.35 ns |
0.31 ns |
0.009 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,452,972.2 ns |
19,072.25 ns |
17,840.20 ns |
1.000 |
54.6875 |
54.6875 |
54.6875 |
2400736 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
580.4 ns |
0.42 ns |
0.37 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,061.2 ns |
6.56 ns |
6.14 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,058.9 ns |
3.98 ns |
3.72 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,288.9 ns |
4.98 ns |
4.42 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,837.4 ns |
15.15 ns |
14.17 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
455.5 ns |
1.51 ns |
1.41 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
455.3 ns |
0.65 ns |
0.61 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
683.8 ns |
0.43 ns |
0.34 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,157.5 ns |
13.89 ns |
12.99 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
613.15 ns |
0.440 ns |
0.367 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
608.27 ns |
2.455 ns |
2.297 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
823.96 ns |
0.772 ns |
0.644 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,172.02 ns |
19.804 ns |
18.524 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
50.67 ns |
0.516 ns |
0.483 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
51.15 ns |
0.019 ns |
0.017 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
273.70 ns |
0.557 ns |
0.521 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,500.23 ns |
9.860 ns |
8.740 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
540.5 ns |
0.89 ns |
0.79 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,781.8 ns |
10.56 ns |
9.36 ns |
12.55 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,110.6 ns |
1.18 ns |
0.99 ns |
2.05 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,137.4 ns |
0.65 ns |
0.51 ns |
2.10 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,618.6 ns |
23.60 ns |
20.92 ns |
17.80 |
0.05 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
531.2 ns |
0.33 ns |
0.27 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
536,032.9 ns |
1,086.40 ns |
1,016.22 ns |
1,009.02 |
1.92 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,847.8 ns |
7.62 ns |
7.13 ns |
3.48 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,832.4 ns |
5.91 ns |
5.53 ns |
3.45 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
742,360.4 ns |
1,442.96 ns |
1,279.15 ns |
1,397.41 |
2.43 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
546.7 ns |
0.32 ns |
0.29 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
56,443,215.2 ns |
177,338.40 ns |
165,882.45 ns |
103,237.43 |
298.47 |
333.3333 |
222.2222 |
222.2222 |
16000889 B |
51,284.90 |
| InvokeIntArrayFixed |
100000 |
60,678.3 ns |
388.37 ns |
363.28 ns |
110.98 |
0.65 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,085.4 ns |
127.92 ns |
106.82 ns |
109.90 |
0.20 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,447,007.8 ns |
1,580,265.35 ns |
1,319,593.13 ns |
150,799.65 |
2,326.57 |
666.6667 |
500.0000 |
500.0000 |
27894008 B |
89,403.87 |
core-ubuntu-24.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.074 μs |
0.0122 μs |
0.0114 μs |
1.00 |
0.01 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.075 μs |
0.0160 μs |
0.0150 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.061 μs |
0.0144 μs |
0.0135 μs |
0.99 |
0.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
91.05 ns |
0.035 ns |
0.031 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
106.37 ns |
0.017 ns |
0.015 ns |
1.17 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
100.73 ns |
0.009 ns |
0.008 ns |
1.11 |
- |
- |
0.00 |
| SetInstanceStringField |
661.86 ns |
0.805 ns |
0.753 ns |
7.27 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
100.25 ns |
0.028 ns |
0.023 ns |
1.10 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
105.26 ns |
0.012 ns |
0.010 ns |
1.16 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
92.29 ns |
0.031 ns |
0.029 ns |
1.01 |
- |
- |
0.00 |
| SetStaticStringField |
658.35 ns |
0.739 ns |
0.692 ns |
7.23 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
106.34 ns |
0.026 ns |
0.023 ns |
1.17 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
289.4 ns |
0.14 ns |
0.13 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
296.2 ns |
0.13 ns |
0.13 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
535.1 ns |
0.48 ns |
0.42 ns |
1.85 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
302.6 ns |
0.09 ns |
0.08 ns |
1.05 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
550.5 ns |
0.35 ns |
0.27 ns |
1.90 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.312 μs |
0.0033 μs |
0.0029 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,857.3 ns |
1.99 ns |
1.76 ns |
1.00 |
0.00 |
0.0095 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
560.3 ns |
0.47 ns |
0.39 ns |
0.30 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
57,641.4 ns |
177.60 ns |
166.13 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
573.7 ns |
0.37 ns |
0.31 ns |
0.010 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,038,034.0 ns |
85,559.21 ns |
80,032.14 ns |
1.000 |
0.02 |
62.5000 |
62.5000 |
62.5000 |
2400683 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
596.3 ns |
0.31 ns |
0.28 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,015.1 ns |
8.37 ns |
7.83 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,039.7 ns |
6.98 ns |
6.18 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,270.5 ns |
3.57 ns |
2.98 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
6,467.0 ns |
55.16 ns |
48.89 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
448.4 ns |
0.13 ns |
0.10 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
451.8 ns |
0.42 ns |
0.37 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
687.5 ns |
2.31 ns |
1.80 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,959.8 ns |
35.58 ns |
29.71 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
576.22 ns |
0.740 ns |
0.692 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
577.31 ns |
0.497 ns |
0.388 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
780.58 ns |
3.986 ns |
3.534 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,302.13 ns |
26.611 ns |
24.891 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
43.17 ns |
0.958 ns |
0.800 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
42.64 ns |
0.686 ns |
0.642 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
259.99 ns |
0.442 ns |
0.413 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,573.60 ns |
47.281 ns |
44.227 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
534.3 ns |
0.47 ns |
0.42 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,735.2 ns |
9.45 ns |
8.37 ns |
12.61 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,125.4 ns |
1.99 ns |
1.76 ns |
2.11 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,119.4 ns |
1.73 ns |
1.54 ns |
2.10 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,679.4 ns |
16.72 ns |
15.64 ns |
16.25 |
0.03 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
530.3 ns |
0.34 ns |
0.30 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
539,912.4 ns |
1,166.76 ns |
1,034.30 ns |
1,018.22 |
1.96 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,797.8 ns |
6.23 ns |
5.82 ns |
3.39 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,843.1 ns |
8.91 ns |
8.33 ns |
3.48 |
0.02 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
721,522.8 ns |
860.77 ns |
672.03 ns |
1,360.72 |
1.43 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
527.9 ns |
0.53 ns |
0.47 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,134,784.2 ns |
236,450.99 ns |
221,176.41 ns |
108,229.66 |
416.31 |
333.3333 |
222.2222 |
222.2222 |
16001700 B |
51,287.50 |
| InvokeIntArrayFixed |
100000 |
59,495.7 ns |
144.35 ns |
120.54 ns |
112.70 |
0.24 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
59,347.0 ns |
257.39 ns |
228.17 ns |
112.42 |
0.43 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,794,556.8 ns |
719,951.48 ns |
673,443.06 ns |
156,836.62 |
1,242.75 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-24.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.040 μs |
0.0116 μs |
0.0108 μs |
1.00 |
0.01 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.058 μs |
0.0131 μs |
0.0122 μs |
1.02 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.055 μs |
0.0104 μs |
0.0097 μs |
1.01 |
0.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
95.11 ns |
0.023 ns |
0.020 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
115.58 ns |
0.060 ns |
0.054 ns |
1.22 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
105.53 ns |
0.021 ns |
0.020 ns |
1.11 |
- |
- |
0.00 |
| SetInstanceStringField |
668.64 ns |
1.208 ns |
1.009 ns |
7.03 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
111.66 ns |
0.023 ns |
0.020 ns |
1.17 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
113.26 ns |
0.025 ns |
0.022 ns |
1.19 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
100.95 ns |
0.014 ns |
0.013 ns |
1.06 |
- |
- |
0.00 |
| SetStaticStringField |
661.29 ns |
1.458 ns |
1.364 ns |
6.95 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
111.78 ns |
0.031 ns |
0.027 ns |
1.18 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
303.5 ns |
0.19 ns |
0.17 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
307.0 ns |
0.23 ns |
0.22 ns |
1.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
534.0 ns |
0.30 ns |
0.27 ns |
1.76 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
315.1 ns |
0.14 ns |
0.13 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
540.0 ns |
0.59 ns |
0.52 ns |
1.78 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.276 μs |
0.0021 μs |
0.0019 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,868.7 ns |
4.00 ns |
3.74 ns |
1.00 |
0.0095 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
562.7 ns |
0.30 ns |
0.26 ns |
0.30 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
57,056.8 ns |
181.13 ns |
169.43 ns |
1.000 |
0.3052 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
567.7 ns |
0.43 ns |
0.38 ns |
0.010 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,212,604.7 ns |
25,385.75 ns |
23,745.84 ns |
1.000 |
54.6875 |
54.6875 |
54.6875 |
2400692 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
594.5 ns |
0.40 ns |
0.34 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,022.2 ns |
9.22 ns |
8.63 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,024.0 ns |
8.55 ns |
8.00 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,906.3 ns |
30.73 ns |
41.03 ns |
- |
200 B |
| PredicateRoundTrip |
False |
True |
True |
6,764.9 ns |
113.24 ns |
105.92 ns |
- |
760 B |
| PredicateRoundTrip |
True |
False |
False |
438.9 ns |
0.45 ns |
0.42 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
444.8 ns |
0.38 ns |
0.34 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
668.3 ns |
0.95 ns |
0.74 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,080.2 ns |
28.95 ns |
27.08 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
587.77 ns |
0.361 ns |
0.301 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
584.61 ns |
1.012 ns |
0.947 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
793.59 ns |
8.186 ns |
7.657 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,322.94 ns |
21.676 ns |
20.276 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
45.53 ns |
0.835 ns |
0.740 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
45.47 ns |
0.816 ns |
0.940 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
260.67 ns |
0.222 ns |
0.208 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,290.66 ns |
15.524 ns |
14.521 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
537.8 ns |
0.47 ns |
0.42 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,889.4 ns |
8.60 ns |
8.05 ns |
12.81 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,157.0 ns |
2.70 ns |
2.52 ns |
2.15 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,159.6 ns |
3.15 ns |
2.95 ns |
2.16 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,988.5 ns |
46.65 ns |
43.64 ns |
16.71 |
0.08 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
559.5 ns |
1.23 ns |
1.15 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
538,563.9 ns |
670.39 ns |
559.80 ns |
962.59 |
2.14 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,906.0 ns |
10.25 ns |
9.09 ns |
3.41 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,890.6 ns |
14.60 ns |
13.66 ns |
3.38 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
730,128.8 ns |
1,365.70 ns |
1,140.42 ns |
1,304.98 |
3.26 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
552.8 ns |
0.62 ns |
0.55 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,872,219.9 ns |
217,818.28 ns |
203,747.35 ns |
104,679.99 |
370.83 |
333.3333 |
222.2222 |
222.2222 |
16001082 B |
51,285.52 |
| InvokeIntArrayFixed |
100000 |
60,818.4 ns |
386.36 ns |
342.50 ns |
110.01 |
0.61 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
61,803.7 ns |
627.82 ns |
587.27 ns |
111.79 |
1.03 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,177,525.9 ns |
781,831.52 ns |
731,325.69 ns |
148,643.73 |
1,288.99 |
666.6667 |
500.0000 |
500.0000 |
27894988 B |
89,407.01 |
core-ubuntu-24.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.053 μs |
0.0075 μs |
0.0070 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.055 μs |
0.0067 μs |
0.0063 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.045 μs |
0.0066 μs |
0.0062 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
94.72 ns |
0.063 ns |
0.056 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
116.79 ns |
0.048 ns |
0.043 ns |
1.23 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
107.01 ns |
0.018 ns |
0.017 ns |
1.13 |
- |
- |
0.00 |
| SetInstanceStringField |
666.49 ns |
0.820 ns |
0.767 ns |
7.04 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
113.61 ns |
0.054 ns |
0.047 ns |
1.20 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
112.15 ns |
0.037 ns |
0.033 ns |
1.18 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
96.89 ns |
0.024 ns |
0.022 ns |
1.02 |
- |
- |
0.00 |
| SetStaticStringField |
671.36 ns |
1.301 ns |
1.087 ns |
7.09 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
120.13 ns |
0.066 ns |
0.059 ns |
1.27 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
303.2 ns |
0.10 ns |
0.08 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
299.2 ns |
0.45 ns |
0.42 ns |
0.99 |
- |
- |
NA |
| InvokeStaticWithFeedback |
549.7 ns |
0.70 ns |
0.62 ns |
1.81 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
306.4 ns |
0.08 ns |
0.07 ns |
1.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
563.2 ns |
0.55 ns |
0.49 ns |
1.86 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.344 μs |
0.0111 μs |
0.0098 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,908.7 ns |
7.94 ns |
6.63 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
582.5 ns |
0.34 ns |
0.28 ns |
0.31 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,562.2 ns |
116.12 ns |
102.94 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
589.7 ns |
0.52 ns |
0.46 ns |
0.010 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,005,571.7 ns |
45,422.32 ns |
40,265.71 ns |
1.000 |
62.5000 |
62.5000 |
62.5000 |
2400808 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
628.5 ns |
0.72 ns |
0.60 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,022.9 ns |
0.73 ns |
0.61 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,041.2 ns |
0.97 ns |
0.75 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,263.6 ns |
2.85 ns |
2.52 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,551.1 ns |
66.42 ns |
51.86 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
448.4 ns |
0.28 ns |
0.25 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
453.1 ns |
0.38 ns |
0.34 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
693.0 ns |
5.80 ns |
5.43 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
5,128.2 ns |
100.57 ns |
98.77 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
585.80 ns |
0.753 ns |
0.588 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
585.55 ns |
0.812 ns |
0.634 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
794.04 ns |
4.556 ns |
4.262 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,151.61 ns |
38.646 ns |
47.460 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
42.31 ns |
0.021 ns |
0.020 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
42.68 ns |
0.032 ns |
0.028 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
258.11 ns |
0.631 ns |
0.590 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,249.26 ns |
28.559 ns |
35.073 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
545.4 ns |
0.36 ns |
0.32 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,816.2 ns |
14.62 ns |
13.67 ns |
12.50 |
0.03 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,138.8 ns |
1.36 ns |
1.20 ns |
2.09 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,116.1 ns |
1.34 ns |
1.19 ns |
2.05 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,067.4 ns |
17.67 ns |
16.53 ns |
16.62 |
0.03 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
553.8 ns |
0.27 ns |
0.22 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
545,954.6 ns |
1,045.84 ns |
978.28 ns |
985.90 |
1.75 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,873.8 ns |
13.41 ns |
12.55 ns |
3.38 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,866.6 ns |
13.25 ns |
12.40 ns |
3.37 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
751,937.6 ns |
780.28 ns |
651.57 ns |
1,357.87 |
1.25 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
556.8 ns |
0.64 ns |
0.57 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
56,510,222.8 ns |
185,984.45 ns |
173,969.97 ns |
101,495.86 |
318.74 |
333.3333 |
222.2222 |
222.2222 |
16001927 B |
51,288.23 |
| InvokeIntArrayFixed |
100000 |
60,986.0 ns |
318.17 ns |
282.05 ns |
109.53 |
0.50 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,598.4 ns |
626.68 ns |
586.20 ns |
108.84 |
1.03 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
85,044,639.3 ns |
381,538.31 ns |
297,880.02 ns |
152,745.44 |
535.46 |
1142.8571 |
1000.0000 |
857.1429 |
27896335 B |
89,411.33 |
core-ubuntu-24.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.076 μs |
0.0140 μs |
0.0131 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.053 μs |
0.0127 μs |
0.0119 μs |
0.98 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.077 μs |
0.0120 μs |
0.0112 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
92.36 ns |
0.025 ns |
0.022 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
110.80 ns |
0.019 ns |
0.017 ns |
1.20 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
105.17 ns |
0.009 ns |
0.008 ns |
1.14 |
- |
- |
0.00 |
| SetInstanceStringField |
666.80 ns |
1.304 ns |
1.219 ns |
7.22 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
111.03 ns |
0.078 ns |
0.070 ns |
1.20 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
107.42 ns |
0.060 ns |
0.050 ns |
1.16 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
98.87 ns |
0.017 ns |
0.016 ns |
1.07 |
- |
- |
0.00 |
| SetStaticStringField |
654.98 ns |
0.825 ns |
0.772 ns |
7.09 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
108.28 ns |
0.072 ns |
0.064 ns |
1.17 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
293.8 ns |
0.33 ns |
0.31 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
299.3 ns |
0.26 ns |
0.24 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
557.1 ns |
0.31 ns |
0.28 ns |
1.90 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
300.3 ns |
0.15 ns |
0.14 ns |
1.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
563.1 ns |
0.26 ns |
0.22 ns |
1.92 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.283 μs |
0.0023 μs |
0.0022 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,943.8 ns |
3.21 ns |
2.50 ns |
1.00 |
0.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
576.7 ns |
0.43 ns |
0.38 ns |
0.30 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,347.6 ns |
95.17 ns |
84.37 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
582.8 ns |
0.21 ns |
0.19 ns |
0.010 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,555,577.8 ns |
112,292.71 ns |
105,038.68 ns |
1.000 |
0.02 |
62.5000 |
62.5000 |
62.5000 |
2400808 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
614.5 ns |
0.22 ns |
0.19 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,048.4 ns |
7.57 ns |
7.08 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,048.8 ns |
8.18 ns |
7.65 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,381.4 ns |
17.80 ns |
16.65 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
6,032.3 ns |
47.16 ns |
44.11 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
466.2 ns |
0.82 ns |
0.64 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
460.3 ns |
0.36 ns |
0.32 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
691.0 ns |
4.38 ns |
3.66 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,583.6 ns |
34.00 ns |
31.80 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
597.26 ns |
1.465 ns |
1.371 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
593.94 ns |
1.074 ns |
1.005 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
801.62 ns |
1.597 ns |
1.247 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,291.17 ns |
41.249 ns |
38.584 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
43.26 ns |
0.848 ns |
0.871 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
44.28 ns |
0.492 ns |
0.460 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
260.65 ns |
0.435 ns |
0.407 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,574.45 ns |
42.620 ns |
39.867 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
533.0 ns |
0.16 ns |
0.14 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,290.6 ns |
18.38 ns |
17.19 ns |
13.68 |
0.03 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,111.7 ns |
1.91 ns |
1.69 ns |
2.09 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,112.6 ns |
2.90 ns |
2.71 ns |
2.09 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,721.9 ns |
24.97 ns |
23.36 ns |
16.36 |
0.04 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
543.0 ns |
0.71 ns |
0.63 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
551,457.8 ns |
989.21 ns |
876.91 ns |
1,015.54 |
1.93 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,848.3 ns |
8.00 ns |
7.49 ns |
3.40 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,858.9 ns |
7.25 ns |
6.78 ns |
3.42 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
722,618.9 ns |
908.42 ns |
758.57 ns |
1,330.74 |
2.01 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
537.8 ns |
0.45 ns |
0.37 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,695,903.5 ns |
236,582.17 ns |
221,299.11 ns |
109,136.15 |
405.12 |
333.3333 |
222.2222 |
222.2222 |
16001037 B |
51,285.38 |
| InvokeIntArrayFixed |
100000 |
60,272.4 ns |
439.36 ns |
410.98 ns |
112.07 |
0.74 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,358.2 ns |
380.24 ns |
337.07 ns |
112.23 |
0.61 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
84,984,188.9 ns |
528,696.10 ns |
468,675.32 ns |
158,015.24 |
848.61 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-24.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Median |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.044 μs |
0.0113 μs |
0.0106 μs |
1.035 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.043 μs |
0.0118 μs |
0.0110 μs |
1.036 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.043 μs |
0.0020 μs |
0.0015 μs |
1.043 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
100.4 ns |
0.05 ns |
0.05 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
117.7 ns |
0.03 ns |
0.03 ns |
1.17 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
107.3 ns |
0.02 ns |
0.02 ns |
1.07 |
- |
- |
0.00 |
| SetInstanceStringField |
666.9 ns |
1.32 ns |
1.17 ns |
6.64 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
111.9 ns |
0.04 ns |
0.03 ns |
1.11 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
116.2 ns |
0.04 ns |
0.04 ns |
1.16 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
102.4 ns |
0.03 ns |
0.03 ns |
1.02 |
- |
- |
0.00 |
| SetStaticStringField |
669.3 ns |
1.04 ns |
0.87 ns |
6.66 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
112.4 ns |
0.08 ns |
0.07 ns |
1.12 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
301.6 ns |
0.54 ns |
0.51 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
303.0 ns |
0.11 ns |
0.10 ns |
1.00 |
- |
- |
NA |
| InvokeStaticWithFeedback |
543.9 ns |
1.26 ns |
1.18 ns |
1.80 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
311.5 ns |
0.26 ns |
0.24 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
538.0 ns |
0.25 ns |
0.21 ns |
1.78 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.377 μs |
0.0074 μs |
0.0069 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,904.9 ns |
14.98 ns |
11.69 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
567.8 ns |
0.13 ns |
0.11 ns |
0.30 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
61,098.8 ns |
138.08 ns |
122.41 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
571.4 ns |
0.39 ns |
0.32 ns |
0.009 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,088,027.6 ns |
137,999.21 ns |
174,524.84 ns |
1.001 |
0.03 |
62.5000 |
62.5000 |
62.5000 |
2400751 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
600.3 ns |
0.43 ns |
0.39 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,030.2 ns |
8.56 ns |
8.01 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,038.8 ns |
7.52 ns |
7.04 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,275.5 ns |
8.86 ns |
8.29 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,153.4 ns |
47.34 ns |
36.96 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
446.8 ns |
0.32 ns |
0.30 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
451.2 ns |
0.34 ns |
0.31 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
671.2 ns |
1.63 ns |
1.36 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,422.3 ns |
34.09 ns |
31.89 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
592.91 ns |
0.855 ns |
0.758 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
597.94 ns |
0.504 ns |
0.447 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
810.32 ns |
7.119 ns |
6.659 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,142.34 ns |
34.866 ns |
32.614 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
45.92 ns |
0.893 ns |
0.993 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
45.57 ns |
0.837 ns |
0.896 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
257.76 ns |
0.407 ns |
0.381 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,483.74 ns |
45.716 ns |
42.763 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
525.9 ns |
0.65 ns |
0.55 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,059.5 ns |
21.72 ns |
20.32 ns |
13.42 |
0.04 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,129.5 ns |
2.11 ns |
1.87 ns |
2.15 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,134.3 ns |
1.77 ns |
1.57 ns |
2.16 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,200.5 ns |
32.41 ns |
30.32 ns |
17.49 |
0.06 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
531.4 ns |
0.82 ns |
0.77 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
548,894.2 ns |
1,281.67 ns |
1,136.17 ns |
1,032.95 |
2.52 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,929.2 ns |
9.89 ns |
9.25 ns |
3.63 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,846.8 ns |
2.95 ns |
2.61 ns |
3.48 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
733,968.9 ns |
2,130.24 ns |
1,778.85 ns |
1,381.24 |
3.76 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
528.8 ns |
0.35 ns |
0.31 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,200,523.2 ns |
195,081.24 ns |
182,479.11 ns |
111,949.37 |
340.03 |
333.3333 |
222.2222 |
222.2222 |
16001491 B |
51,286.83 |
| InvokeIntArrayFixed |
100000 |
60,462.2 ns |
367.33 ns |
343.60 ns |
114.34 |
0.63 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,309.5 ns |
287.13 ns |
268.58 ns |
114.05 |
0.50 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
83,705,525.2 ns |
623,929.69 ns |
553,097.42 ns |
158,288.82 |
1,014.36 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-24.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.049 μs |
0.0069 μs |
0.0065 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.060 μs |
0.0084 μs |
0.0078 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.054 μs |
0.0071 μs |
0.0063 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
102.0 ns |
0.03 ns |
0.02 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
120.1 ns |
0.05 ns |
0.05 ns |
1.18 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
108.7 ns |
0.02 ns |
0.02 ns |
1.06 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
676.2 ns |
1.43 ns |
1.27 ns |
6.63 |
0.01 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
118.7 ns |
0.04 ns |
0.03 ns |
1.16 |
0.00 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
118.0 ns |
0.04 ns |
0.03 ns |
1.16 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
101.7 ns |
0.01 ns |
0.01 ns |
1.00 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
662.0 ns |
1.96 ns |
1.83 ns |
6.49 |
0.02 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
110.8 ns |
0.03 ns |
0.03 ns |
1.09 |
0.00 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
311.3 ns |
0.22 ns |
0.20 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
306.6 ns |
0.28 ns |
0.26 ns |
0.98 |
- |
- |
NA |
| InvokeStaticWithFeedback |
532.2 ns |
0.39 ns |
0.33 ns |
1.71 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
314.1 ns |
0.21 ns |
0.20 ns |
1.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
554.0 ns |
0.31 ns |
0.26 ns |
1.78 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.324 μs |
0.0032 μs |
0.0027 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,921.2 ns |
22.20 ns |
20.77 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
579.1 ns |
0.29 ns |
0.26 ns |
0.30 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
63,483.6 ns |
236.53 ns |
221.25 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
578.6 ns |
0.28 ns |
0.25 ns |
0.009 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,438,787.4 ns |
63,858.98 ns |
59,733.73 ns |
1.000 |
62.5000 |
62.5000 |
62.5000 |
2400865 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
596.1 ns |
0.48 ns |
0.43 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,063.2 ns |
7.12 ns |
6.66 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,044.2 ns |
0.49 ns |
0.41 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,268.8 ns |
8.04 ns |
7.12 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,959.5 ns |
56.50 ns |
44.12 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
467.9 ns |
0.97 ns |
0.76 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
446.5 ns |
0.35 ns |
0.31 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
684.3 ns |
4.83 ns |
4.52 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
5,044.0 ns |
38.48 ns |
30.04 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
599.18 ns |
0.770 ns |
0.601 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
614.09 ns |
0.739 ns |
0.577 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
809.55 ns |
5.435 ns |
5.084 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,044.15 ns |
18.251 ns |
15.241 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
42.93 ns |
0.556 ns |
0.520 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
42.10 ns |
0.320 ns |
0.283 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
250.71 ns |
0.356 ns |
0.298 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,534.58 ns |
44.772 ns |
37.386 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
539.4 ns |
0.37 ns |
0.33 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,077.5 ns |
11.09 ns |
9.83 ns |
13.12 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,163.9 ns |
2.88 ns |
2.70 ns |
2.16 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,146.8 ns |
2.82 ns |
2.36 ns |
2.13 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,112.9 ns |
15.29 ns |
12.76 ns |
16.90 |
0.02 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
536.8 ns |
0.30 ns |
0.27 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
569,820.2 ns |
1,329.20 ns |
1,178.31 ns |
1,061.52 |
2.18 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,851.3 ns |
8.34 ns |
6.96 ns |
3.45 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,915.4 ns |
11.19 ns |
10.47 ns |
3.57 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
742,908.1 ns |
943.54 ns |
836.43 ns |
1,383.96 |
1.64 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
546.4 ns |
0.19 ns |
0.15 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,273,029.2 ns |
385,989.68 ns |
361,054.99 ns |
108,475.68 |
640.79 |
333.3333 |
222.2222 |
222.2222 |
16000897 B |
51,284.93 |
| InvokeIntArrayFixed |
100000 |
60,846.2 ns |
575.97 ns |
538.76 ns |
111.35 |
0.96 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
61,159.9 ns |
268.44 ns |
237.97 ns |
111.93 |
0.42 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
84,506,009.0 ns |
879,043.39 ns |
779,249.07 ns |
154,654.60 |
1,378.95 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-24.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.081 μs |
0.0051 μs |
0.0040 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.074 μs |
0.0010 μs |
0.0009 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.081 μs |
0.0007 μs |
0.0006 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
98.24 ns |
0.033 ns |
0.029 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
116.01 ns |
0.029 ns |
0.026 ns |
1.18 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
114.54 ns |
0.029 ns |
0.024 ns |
1.17 |
- |
- |
0.00 |
| SetInstanceStringField |
695.12 ns |
0.937 ns |
0.876 ns |
7.08 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
123.07 ns |
0.042 ns |
0.037 ns |
1.25 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
125.06 ns |
0.049 ns |
0.043 ns |
1.27 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
111.59 ns |
0.134 ns |
0.125 ns |
1.14 |
- |
- |
0.00 |
| SetStaticStringField |
679.23 ns |
0.871 ns |
0.815 ns |
6.91 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
111.49 ns |
0.041 ns |
0.037 ns |
1.13 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
373.8 ns |
0.20 ns |
0.18 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
384.7 ns |
0.63 ns |
0.59 ns |
1.03 |
- |
- |
NA |
| InvokeStaticWithFeedback |
552.4 ns |
0.40 ns |
0.32 ns |
1.48 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
392.6 ns |
0.18 ns |
0.17 ns |
1.05 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
549.3 ns |
0.49 ns |
0.43 ns |
1.47 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.288 μs |
0.0029 μs |
0.0027 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,012.0 ns |
19.94 ns |
17.68 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
575.0 ns |
0.31 ns |
0.28 ns |
0.29 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
67,565.7 ns |
228.40 ns |
202.47 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
574.7 ns |
0.28 ns |
0.25 ns |
0.009 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,271,370.8 ns |
74,315.54 ns |
69,514.80 ns |
1.000 |
62.5000 |
62.5000 |
62.5000 |
2400723 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
608.1 ns |
0.32 ns |
0.27 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,080.4 ns |
9.20 ns |
8.61 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,094.1 ns |
7.80 ns |
7.30 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,322.2 ns |
8.50 ns |
7.95 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,882.8 ns |
14.97 ns |
14.01 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
468.7 ns |
4.18 ns |
3.91 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
463.5 ns |
0.78 ns |
0.70 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
707.1 ns |
1.94 ns |
1.81 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,234.8 ns |
8.75 ns |
7.31 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
617.49 ns |
0.693 ns |
0.615 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
615.01 ns |
1.695 ns |
1.415 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
836.42 ns |
3.956 ns |
3.700 ns |
0.0017 |
176 B |
| PredicateSustained |
False |
True |
True |
4,257.35 ns |
17.108 ns |
16.003 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
50.41 ns |
0.859 ns |
0.803 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
50.70 ns |
0.026 ns |
0.024 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
274.15 ns |
0.592 ns |
0.554 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,563.93 ns |
25.839 ns |
24.170 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
527.4 ns |
0.53 ns |
0.47 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,870.1 ns |
13.52 ns |
11.99 ns |
13.03 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,116.8 ns |
1.40 ns |
1.17 ns |
2.12 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,112.5 ns |
2.52 ns |
2.36 ns |
2.11 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,804.1 ns |
29.00 ns |
27.12 ns |
16.69 |
0.05 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
543.2 ns |
0.33 ns |
0.29 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
544,291.4 ns |
1,298.81 ns |
1,151.36 ns |
1,001.94 |
2.11 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,838.4 ns |
3.46 ns |
3.24 ns |
3.38 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,856.5 ns |
7.64 ns |
7.15 ns |
3.42 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
725,835.6 ns |
1,118.76 ns |
934.22 ns |
1,336.12 |
1.79 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
526.5 ns |
1.73 ns |
1.35 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
56,934,225.0 ns |
291,386.94 ns |
272,563.52 ns |
108,143.85 |
567.07 |
333.3333 |
222.2222 |
222.2222 |
16001404 B |
51,286.55 |
| InvokeIntArrayFixed |
100000 |
60,628.2 ns |
192.21 ns |
170.39 ns |
115.16 |
0.42 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,509.5 ns |
337.48 ns |
299.17 ns |
114.93 |
0.62 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
84,326,583.9 ns |
829,504.09 ns |
775,918.64 ns |
160,174.34 |
1,480.62 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-24.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.049 μs |
0.0102 μs |
0.0095 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.056 μs |
0.0118 μs |
0.0110 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.043 μs |
0.0097 μs |
0.0091 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
91.14 ns |
0.030 ns |
0.027 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
114.87 ns |
0.050 ns |
0.045 ns |
1.26 |
0.00 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
98.90 ns |
0.010 ns |
0.009 ns |
1.09 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
655.86 ns |
1.745 ns |
1.632 ns |
7.20 |
0.02 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
102.58 ns |
0.025 ns |
0.022 ns |
1.13 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
104.37 ns |
0.019 ns |
0.017 ns |
1.15 |
0.00 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
96.93 ns |
0.021 ns |
0.020 ns |
1.06 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
656.62 ns |
1.595 ns |
1.492 ns |
7.20 |
0.02 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
99.75 ns |
0.040 ns |
0.033 ns |
1.09 |
0.00 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
291.6 ns |
0.24 ns |
0.22 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
295.2 ns |
0.18 ns |
0.16 ns |
1.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
546.4 ns |
0.28 ns |
0.25 ns |
1.87 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
295.4 ns |
0.20 ns |
0.19 ns |
1.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
547.3 ns |
0.33 ns |
0.29 ns |
1.88 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
2.660 μs |
0.0351 μs |
0.0328 μs |
1.00 |
0.02 |
0.0076 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,886.6 ns |
2.84 ns |
2.52 ns |
1.00 |
0.0095 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
548.9 ns |
0.28 ns |
0.25 ns |
0.29 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,354.3 ns |
265.21 ns |
248.08 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
559.4 ns |
0.22 ns |
0.19 ns |
0.009 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,316,683.8 ns |
70,629.79 ns |
66,067.15 ns |
1.000 |
54.6875 |
54.6875 |
54.6875 |
2400725 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
590.1 ns |
0.43 ns |
0.38 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,003.1 ns |
5.23 ns |
4.63 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,033.8 ns |
7.12 ns |
6.66 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,233.5 ns |
5.40 ns |
5.05 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,804.0 ns |
17.01 ns |
15.08 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
430.1 ns |
0.44 ns |
0.39 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
439.8 ns |
0.63 ns |
0.59 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
684.9 ns |
0.76 ns |
0.60 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,094.6 ns |
21.39 ns |
20.01 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
570.67 ns |
1.272 ns |
0.993 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
572.80 ns |
1.566 ns |
1.307 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
780.60 ns |
6.620 ns |
6.192 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,157.84 ns |
66.551 ns |
62.252 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
44.14 ns |
0.614 ns |
0.574 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
43.44 ns |
0.065 ns |
0.058 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
252.30 ns |
0.259 ns |
0.216 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
4,685.96 ns |
88.746 ns |
87.160 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
547.2 ns |
0.14 ns |
0.12 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,673.7 ns |
9.45 ns |
8.84 ns |
12.20 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,119.5 ns |
1.88 ns |
1.67 ns |
2.05 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,143.4 ns |
2.79 ns |
2.61 ns |
2.09 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,560.0 ns |
23.54 ns |
22.02 ns |
15.64 |
0.04 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
524.4 ns |
0.49 ns |
0.44 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
547,321.6 ns |
1,253.45 ns |
1,172.48 ns |
1,043.63 |
2.32 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,824.1 ns |
10.75 ns |
10.05 ns |
3.48 |
0.02 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,825.2 ns |
6.69 ns |
5.93 ns |
3.48 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
715,159.2 ns |
830.60 ns |
693.59 ns |
1,363.66 |
1.68 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
540.5 ns |
0.80 ns |
0.67 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
56,792,228.3 ns |
230,345.72 ns |
215,465.53 ns |
105,072.03 |
405.82 |
333.3333 |
222.2222 |
222.2222 |
16001396 B |
51,286.53 |
| InvokeIntArrayFixed |
100000 |
59,801.7 ns |
461.73 ns |
431.90 ns |
110.64 |
0.79 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
59,609.8 ns |
422.31 ns |
395.03 ns |
110.28 |
0.72 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,305,360.8 ns |
1,250,725.88 ns |
1,169,929.76 ns |
152,274.21 |
2,104.30 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-24.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.019 μs |
0.0089 μs |
0.0083 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.047 μs |
0.0090 μs |
0.0084 μs |
1.03 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.053 μs |
0.0077 μs |
0.0072 μs |
1.03 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
98.45 ns |
0.028 ns |
0.025 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
118.26 ns |
0.032 ns |
0.028 ns |
1.20 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
107.19 ns |
0.017 ns |
0.014 ns |
1.09 |
- |
- |
0.00 |
| SetInstanceStringField |
674.90 ns |
1.522 ns |
1.423 ns |
6.86 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
117.07 ns |
0.054 ns |
0.045 ns |
1.19 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
112.64 ns |
0.022 ns |
0.019 ns |
1.14 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
102.51 ns |
0.020 ns |
0.018 ns |
1.04 |
- |
- |
0.00 |
| SetStaticStringField |
663.25 ns |
0.841 ns |
0.745 ns |
6.74 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
112.27 ns |
0.026 ns |
0.023 ns |
1.14 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
302.3 ns |
0.42 ns |
0.39 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
308.8 ns |
0.15 ns |
0.14 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
531.2 ns |
0.28 ns |
0.24 ns |
1.76 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
309.5 ns |
0.23 ns |
0.21 ns |
1.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
547.3 ns |
0.16 ns |
0.13 ns |
1.81 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.293 μs |
0.0027 μs |
0.0025 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,857.3 ns |
2.23 ns |
1.98 ns |
1.00 |
0.0095 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
574.2 ns |
0.34 ns |
0.30 ns |
0.31 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
56,847.4 ns |
203.59 ns |
180.47 ns |
1.000 |
0.3052 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
566.2 ns |
0.21 ns |
0.19 ns |
0.010 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,719,691.2 ns |
76,944.20 ns |
68,209.03 ns |
1.000 |
54.6875 |
54.6875 |
54.6875 |
2400725 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
594.5 ns |
0.58 ns |
0.51 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,024.8 ns |
6.29 ns |
5.25 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,028.8 ns |
7.90 ns |
7.39 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,276.5 ns |
10.93 ns |
10.22 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,508.5 ns |
23.40 ns |
20.74 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
439.4 ns |
0.43 ns |
0.40 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
435.9 ns |
0.73 ns |
0.68 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
668.0 ns |
2.12 ns |
1.88 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
5,772.2 ns |
60.66 ns |
56.74 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
581.92 ns |
1.274 ns |
1.129 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
584.05 ns |
1.123 ns |
0.938 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
797.10 ns |
5.307 ns |
4.965 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
3,904.10 ns |
20.845 ns |
19.498 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
45.97 ns |
0.901 ns |
1.002 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
45.83 ns |
0.885 ns |
0.947 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
262.26 ns |
0.380 ns |
0.356 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,386.13 ns |
23.506 ns |
21.988 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
537.5 ns |
0.26 ns |
0.23 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,268.4 ns |
15.48 ns |
14.48 ns |
13.52 |
0.03 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,138.0 ns |
1.49 ns |
1.32 ns |
2.12 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,142.7 ns |
1.45 ns |
1.28 ns |
2.13 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,469.4 ns |
50.10 ns |
46.86 ns |
17.62 |
0.08 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
542.6 ns |
0.70 ns |
0.62 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
551,839.0 ns |
1,122.30 ns |
1,049.80 ns |
1,016.94 |
2.19 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,872.7 ns |
4.45 ns |
3.72 ns |
3.45 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,877.3 ns |
7.20 ns |
6.74 ns |
3.46 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
733,177.7 ns |
1,354.95 ns |
1,131.45 ns |
1,351.11 |
2.51 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
553.6 ns |
3.26 ns |
3.05 ns |
1.00 |
0.01 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,771,018.9 ns |
221,467.37 ns |
207,160.72 ns |
104,350.73 |
663.80 |
333.3333 |
222.2222 |
222.2222 |
16001055 B |
51,285.43 |
| InvokeIntArrayFixed |
100000 |
60,386.9 ns |
306.13 ns |
286.35 ns |
109.08 |
0.77 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,244.1 ns |
339.68 ns |
301.12 ns |
108.82 |
0.78 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,758,801.8 ns |
1,589,390.15 ns |
1,486,716.53 ns |
149,485.71 |
2,719.53 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-24.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.043 μs |
0.0110 μs |
0.0103 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.035 μs |
0.0073 μs |
0.0069 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.040 μs |
0.0067 μs |
0.0063 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
103.8 ns |
0.04 ns |
0.04 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
123.1 ns |
0.03 ns |
0.03 ns |
1.19 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
113.0 ns |
0.01 ns |
0.01 ns |
1.09 |
- |
- |
0.00 |
| SetInstanceStringField |
669.6 ns |
0.91 ns |
0.81 ns |
6.45 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
113.9 ns |
0.03 ns |
0.02 ns |
1.10 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
118.1 ns |
0.04 ns |
0.03 ns |
1.14 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
100.6 ns |
0.01 ns |
0.01 ns |
0.97 |
- |
- |
0.00 |
| SetStaticStringField |
663.3 ns |
1.05 ns |
0.98 ns |
6.39 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
108.3 ns |
0.03 ns |
0.02 ns |
1.04 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
302.2 ns |
0.22 ns |
0.20 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
302.8 ns |
0.44 ns |
0.41 ns |
1.00 |
- |
- |
NA |
| InvokeStaticWithFeedback |
530.1 ns |
0.35 ns |
0.31 ns |
1.75 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
308.8 ns |
0.24 ns |
0.23 ns |
1.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
549.2 ns |
0.45 ns |
0.40 ns |
1.82 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
2.606 μs |
0.0521 μs |
0.0462 μs |
1.00 |
0.02 |
0.0076 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,957.9 ns |
19.12 ns |
17.89 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
583.3 ns |
0.19 ns |
0.16 ns |
0.30 |
0.00 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
61,261.5 ns |
219.83 ns |
205.62 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
580.5 ns |
0.31 ns |
0.27 ns |
0.009 |
0.00 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,947,215.3 ns |
126,940.74 ns |
118,740.45 ns |
1.000 |
0.02 |
62.5000 |
62.5000 |
62.5000 |
2400808 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
603.1 ns |
0.15 ns |
0.12 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,020.1 ns |
7.68 ns |
7.18 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,037.7 ns |
2.45 ns |
2.29 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,293.8 ns |
1.52 ns |
1.27 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,732.4 ns |
99.16 ns |
77.42 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
455.0 ns |
0.98 ns |
0.92 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
442.9 ns |
0.47 ns |
0.42 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
692.4 ns |
6.05 ns |
5.36 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
5,040.9 ns |
44.44 ns |
39.40 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
586.88 ns |
0.751 ns |
0.586 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
586.84 ns |
0.643 ns |
0.502 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
791.50 ns |
4.604 ns |
4.306 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,521.78 ns |
41.018 ns |
45.592 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
42.16 ns |
0.110 ns |
0.103 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
41.59 ns |
0.146 ns |
0.136 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
253.98 ns |
0.495 ns |
0.463 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,630.63 ns |
33.763 ns |
28.193 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
538.5 ns |
0.58 ns |
0.52 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,018.8 ns |
12.76 ns |
11.31 ns |
13.03 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,149.6 ns |
2.82 ns |
2.64 ns |
2.13 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,135.9 ns |
2.37 ns |
2.22 ns |
2.11 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,023.1 ns |
18.28 ns |
17.09 ns |
16.75 |
0.03 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
540.9 ns |
0.48 ns |
0.42 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
556,506.6 ns |
1,345.68 ns |
1,258.75 ns |
1,028.91 |
2.38 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,922.0 ns |
8.39 ns |
7.85 ns |
3.55 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,926.2 ns |
12.25 ns |
11.46 ns |
3.56 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
752,229.3 ns |
1,268.14 ns |
1,186.22 ns |
1,390.77 |
2.37 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
543.5 ns |
0.73 ns |
0.61 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,518,751.9 ns |
342,799.78 ns |
320,655.12 ns |
109,517.49 |
583.65 |
333.3333 |
222.2222 |
222.2222 |
16000724 B |
51,284.37 |
| InvokeIntArrayFixed |
100000 |
60,779.8 ns |
643.81 ns |
570.72 ns |
111.84 |
1.02 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,629.3 ns |
519.83 ns |
486.25 ns |
111.56 |
0.87 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
84,970,069.7 ns |
585,901.49 ns |
548,052.61 ns |
156,349.19 |
991.32 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-24.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.076 μs |
0.0055 μs |
0.0046 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.066 μs |
0.0021 μs |
0.0018 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.063 μs |
0.0081 μs |
0.0076 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
96.46 ns |
0.097 ns |
0.091 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
117.57 ns |
0.062 ns |
0.055 ns |
1.22 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
112.12 ns |
0.033 ns |
0.029 ns |
1.16 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
677.28 ns |
1.657 ns |
1.550 ns |
7.02 |
0.02 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
121.95 ns |
0.029 ns |
0.024 ns |
1.26 |
0.00 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
120.60 ns |
0.038 ns |
0.032 ns |
1.25 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
110.18 ns |
0.077 ns |
0.072 ns |
1.14 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
663.43 ns |
0.987 ns |
0.923 ns |
6.88 |
0.01 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
110.27 ns |
0.076 ns |
0.067 ns |
1.14 |
0.00 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
377.6 ns |
1.11 ns |
1.04 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
385.3 ns |
0.17 ns |
0.16 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
545.0 ns |
0.67 ns |
0.59 ns |
1.44 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
394.3 ns |
0.24 ns |
0.22 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
553.8 ns |
0.52 ns |
0.46 ns |
1.47 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.317 μs |
0.0044 μs |
0.0041 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,990.3 ns |
10.23 ns |
9.57 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
582.9 ns |
0.33 ns |
0.29 ns |
0.29 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
64,910.1 ns |
204.69 ns |
191.47 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
567.7 ns |
0.58 ns |
0.51 ns |
0.009 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,411,332.5 ns |
68,021.00 ns |
63,626.89 ns |
1.000 |
62.5000 |
62.5000 |
62.5000 |
2400808 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
594.7 ns |
0.38 ns |
0.33 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,074.7 ns |
8.20 ns |
7.67 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,088.0 ns |
2.67 ns |
2.36 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,319.9 ns |
10.60 ns |
9.92 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,629.3 ns |
32.46 ns |
30.36 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
478.3 ns |
0.50 ns |
0.45 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
473.9 ns |
0.79 ns |
0.70 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
720.7 ns |
1.04 ns |
0.92 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,169.5 ns |
6.96 ns |
6.51 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
622.31 ns |
1.676 ns |
1.567 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
612.02 ns |
1.498 ns |
1.401 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
828.61 ns |
5.737 ns |
5.367 ns |
0.0017 |
176 B |
| PredicateSustained |
False |
True |
True |
4,315.25 ns |
21.159 ns |
19.792 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
50.34 ns |
0.978 ns |
0.915 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
50.52 ns |
0.921 ns |
0.861 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
276.68 ns |
0.355 ns |
0.332 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,476.04 ns |
17.745 ns |
16.599 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
559.8 ns |
0.84 ns |
0.75 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,469.9 ns |
41.35 ns |
38.68 ns |
13.34 |
0.07 |
0.0153 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,193.4 ns |
4.91 ns |
4.59 ns |
2.13 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,171.3 ns |
9.66 ns |
9.03 ns |
2.09 |
0.02 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,962.4 ns |
26.10 ns |
24.42 ns |
17.80 |
0.05 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
560.8 ns |
0.72 ns |
0.64 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
557,416.2 ns |
1,751.81 ns |
1,552.93 ns |
994.03 |
2.89 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,965.5 ns |
15.91 ns |
14.88 ns |
3.51 |
0.03 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,967.2 ns |
17.10 ns |
15.16 ns |
3.51 |
0.03 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
772,896.3 ns |
1,560.80 ns |
1,383.61 ns |
1,378.29 |
2.82 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
564.7 ns |
0.48 ns |
0.42 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,702,600.0 ns |
584,967.06 ns |
547,178.55 ns |
103,959.76 |
941.42 |
333.3333 |
222.2222 |
222.2222 |
16001422 B |
51,286.61 |
| InvokeIntArrayFixed |
100000 |
63,377.3 ns |
493.80 ns |
461.90 ns |
112.24 |
0.80 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
63,304.0 ns |
961.31 ns |
899.21 ns |
112.11 |
1.54 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
85,153,027.7 ns |
829,400.72 ns |
775,821.95 ns |
150,802.33 |
1,335.00 |
666.6667 |
500.0000 |
500.0000 |
27895284 B |
89,407.96 |
core-ubuntu-24.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.092 μs |
0.0141 μs |
0.0132 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.104 μs |
0.0155 μs |
0.0145 μs |
1.01 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.089 μs |
0.0011 μs |
0.0008 μs |
1.00 |
0.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
94.21 ns |
0.043 ns |
0.033 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
115.01 ns |
0.247 ns |
0.231 ns |
1.22 |
0.0004 |
24 B |
1.00 |
| GetInstanceStringField |
106.33 ns |
0.020 ns |
0.018 ns |
1.13 |
- |
- |
0.00 |
| SetInstanceStringField |
675.03 ns |
1.330 ns |
1.244 ns |
7.16 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
106.48 ns |
0.079 ns |
0.066 ns |
1.13 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
105.63 ns |
0.053 ns |
0.042 ns |
1.12 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
97.75 ns |
0.010 ns |
0.009 ns |
1.04 |
- |
- |
0.00 |
| SetStaticStringField |
670.76 ns |
0.884 ns |
0.783 ns |
7.12 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
107.97 ns |
0.172 ns |
0.144 ns |
1.15 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
303.4 ns |
0.20 ns |
0.19 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
318.5 ns |
0.26 ns |
0.24 ns |
1.05 |
- |
- |
NA |
| InvokeStaticWithFeedback |
555.3 ns |
0.40 ns |
0.33 ns |
1.83 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
316.8 ns |
0.19 ns |
0.17 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
563.4 ns |
0.35 ns |
0.31 ns |
1.86 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.484 μs |
0.0115 μs |
0.0108 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,055.2 ns |
23.11 ns |
20.48 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
574.5 ns |
0.51 ns |
0.45 ns |
0.28 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,088.1 ns |
158.78 ns |
148.52 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
590.8 ns |
0.33 ns |
0.29 ns |
0.010 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,482,601.6 ns |
61,363.72 ns |
57,399.66 ns |
1.000 |
62.5000 |
62.5000 |
62.5000 |
2400723 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
618.7 ns |
0.55 ns |
0.48 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,093.3 ns |
11.31 ns |
10.58 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,083.8 ns |
8.69 ns |
8.13 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,440.9 ns |
20.77 ns |
18.41 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
6,064.5 ns |
60.18 ns |
56.29 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
459.3 ns |
0.43 ns |
0.36 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
474.5 ns |
2.20 ns |
1.72 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
699.4 ns |
1.01 ns |
0.78 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
6,075.6 ns |
53.37 ns |
49.93 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
601.20 ns |
2.635 ns |
2.464 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
609.62 ns |
0.879 ns |
0.734 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
818.22 ns |
8.189 ns |
7.660 ns |
0.0017 |
176 B |
| PredicateSustained |
False |
True |
True |
4,834.78 ns |
55.558 ns |
49.251 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
43.47 ns |
0.679 ns |
0.635 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
44.31 ns |
0.021 ns |
0.020 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
261.17 ns |
0.413 ns |
0.386 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
4,095.85 ns |
54.638 ns |
51.109 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
543.1 ns |
0.43 ns |
0.38 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,867.7 ns |
12.17 ns |
10.78 ns |
12.64 |
0.02 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,135.6 ns |
1.86 ns |
1.74 ns |
2.09 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,156.9 ns |
2.66 ns |
2.36 ns |
2.13 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,761.2 ns |
47.40 ns |
44.33 ns |
16.13 |
0.08 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
550.3 ns |
0.33 ns |
0.28 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
547,683.7 ns |
1,368.43 ns |
1,280.03 ns |
995.28 |
2.30 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,837.4 ns |
5.77 ns |
5.40 ns |
3.34 |
0.01 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,849.9 ns |
1.06 ns |
0.94 ns |
3.36 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
728,031.2 ns |
1,408.56 ns |
1,176.21 ns |
1,323.01 |
2.16 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
536.4 ns |
0.42 ns |
0.37 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,824,515.5 ns |
188,385.69 ns |
166,999.00 ns |
107,797.46 |
309.28 |
333.3333 |
222.2222 |
222.2222 |
16001355 B |
51,286.39 |
| InvokeIntArrayFixed |
100000 |
59,360.7 ns |
127.50 ns |
113.02 ns |
110.66 |
0.22 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
59,370.0 ns |
141.30 ns |
125.26 ns |
110.68 |
0.24 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
83,801,132.8 ns |
602,974.23 ns |
534,520.95 ns |
156,223.52 |
968.32 |
1166.6667 |
1000.0000 |
1000.0000 |
27898336 B |
89,417.74 |
core-ubuntu-24.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.043 μs |
0.0103 μs |
0.0097 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.030 μs |
0.0086 μs |
0.0081 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.036 μs |
0.0098 μs |
0.0092 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
97.87 ns |
0.026 ns |
0.023 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
117.67 ns |
0.053 ns |
0.047 ns |
1.20 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
111.71 ns |
0.012 ns |
0.011 ns |
1.14 |
- |
- |
0.00 |
| SetInstanceStringField |
680.64 ns |
0.931 ns |
0.778 ns |
6.95 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
114.33 ns |
0.033 ns |
0.029 ns |
1.17 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
116.47 ns |
0.017 ns |
0.015 ns |
1.19 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
101.10 ns |
0.014 ns |
0.013 ns |
1.03 |
- |
- |
0.00 |
| SetStaticStringField |
671.48 ns |
0.690 ns |
0.612 ns |
6.86 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
106.72 ns |
0.018 ns |
0.016 ns |
1.09 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
303.8 ns |
0.12 ns |
0.11 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
307.7 ns |
0.54 ns |
0.51 ns |
1.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
533.1 ns |
0.32 ns |
0.29 ns |
1.75 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
322.3 ns |
0.17 ns |
0.16 ns |
1.06 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
554.5 ns |
0.35 ns |
0.30 ns |
1.83 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.300 μs |
0.0032 μs |
0.0028 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,907.5 ns |
4.01 ns |
3.13 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
579.5 ns |
0.56 ns |
0.52 ns |
0.30 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,179.8 ns |
113.36 ns |
100.49 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
587.2 ns |
0.85 ns |
0.76 ns |
0.010 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,388,394.1 ns |
11,557.77 ns |
10,245.66 ns |
1.000 |
54.6875 |
54.6875 |
54.6875 |
2400725 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
613.8 ns |
0.48 ns |
0.42 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,029.8 ns |
7.14 ns |
6.68 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,050.8 ns |
6.22 ns |
5.81 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,278.3 ns |
5.23 ns |
4.63 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,038.6 ns |
41.12 ns |
38.46 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
456.7 ns |
0.27 ns |
0.23 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
444.7 ns |
0.56 ns |
0.52 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
687.5 ns |
1.61 ns |
1.26 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,270.1 ns |
30.09 ns |
28.15 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
592.99 ns |
0.906 ns |
0.803 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
595.51 ns |
0.521 ns |
0.487 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
800.27 ns |
6.167 ns |
5.769 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,156.52 ns |
13.425 ns |
11.901 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
46.51 ns |
0.064 ns |
0.060 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
45.34 ns |
0.852 ns |
0.875 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
257.61 ns |
0.449 ns |
0.375 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,410.26 ns |
10.318 ns |
9.652 ns |
- |
656 B |
core-ubuntu-24.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
559.6 ns |
0.64 ns |
0.57 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,389.4 ns |
20.40 ns |
19.08 ns |
13.20 |
0.04 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,135.4 ns |
1.92 ns |
1.70 ns |
2.03 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,186.4 ns |
2.05 ns |
1.82 ns |
2.12 |
0.00 |
0.0057 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,192.7 ns |
30.29 ns |
28.33 ns |
16.43 |
0.05 |
0.0458 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
544.6 ns |
0.28 ns |
0.22 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
563,023.1 ns |
1,306.45 ns |
1,222.05 ns |
1,033.87 |
2.21 |
1.9531 |
- |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,881.2 ns |
4.88 ns |
4.56 ns |
3.45 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,907.1 ns |
8.89 ns |
8.32 ns |
3.50 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
740,963.3 ns |
1,638.48 ns |
1,368.21 ns |
1,360.62 |
2.48 |
3.9063 |
0.9766 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
553.1 ns |
0.83 ns |
0.74 ns |
1.00 |
0.00 |
0.0038 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,310,222.5 ns |
213,851.28 ns |
200,036.62 ns |
105,421.30 |
375.43 |
333.3333 |
222.2222 |
222.2222 |
16001575 B |
51,287.10 |
| InvokeIntArrayFixed |
100000 |
61,099.6 ns |
703.27 ns |
623.43 ns |
110.46 |
1.10 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
60,759.3 ns |
426.66 ns |
378.22 ns |
109.85 |
0.68 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,350,273.8 ns |
608,824.29 ns |
539,706.88 ns |
148,884.23 |
961.84 |
666.6667 |
500.0000 |
500.0000 |
27894008 B |
89,403.87 |
core-ubuntu-24.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.066 μs |
0.0074 μs |
0.0069 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.061 μs |
0.0069 μs |
0.0061 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.054 μs |
0.0084 μs |
0.0074 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
106.7 ns |
0.03 ns |
0.03 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
120.7 ns |
0.03 ns |
0.02 ns |
1.13 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
113.1 ns |
0.02 ns |
0.01 ns |
1.06 |
- |
- |
0.00 |
| SetInstanceStringField |
664.2 ns |
1.04 ns |
0.92 ns |
6.23 |
0.0038 |
256 B |
10.67 |
| GetStaticIntField |
115.6 ns |
0.02 ns |
0.02 ns |
1.08 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
116.1 ns |
0.03 ns |
0.03 ns |
1.09 |
0.0004 |
24 B |
1.00 |
| GetStaticStringField |
102.7 ns |
0.01 ns |
0.01 ns |
0.96 |
- |
- |
0.00 |
| SetStaticStringField |
671.5 ns |
1.21 ns |
1.13 ns |
6.30 |
0.0038 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
109.4 ns |
0.05 ns |
0.04 ns |
1.03 |
0.0004 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
306.9 ns |
0.22 ns |
0.19 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
311.6 ns |
0.49 ns |
0.46 ns |
1.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
555.5 ns |
0.61 ns |
0.54 ns |
1.81 |
0.0038 |
312 B |
NA |
| InvokeInstanceEmpty |
324.0 ns |
0.12 ns |
0.10 ns |
1.06 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
560.2 ns |
1.93 ns |
1.81 ns |
1.83 |
0.0038 |
312 B |
NA |
core-ubuntu-24.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.460 μs |
0.0113 μs |
0.0094 μs |
1.00 |
0.0095 |
680 B |
1.00 |
core-ubuntu-24.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,929.2 ns |
9.69 ns |
8.09 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
585.0 ns |
0.34 ns |
0.28 ns |
0.30 |
0.0038 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
66,137.2 ns |
432.43 ns |
404.49 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
583.8 ns |
0.46 ns |
0.41 ns |
0.009 |
0.0038 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,213,451.5 ns |
51,778.53 ns |
45,900.32 ns |
1.000 |
62.5000 |
62.5000 |
62.5000 |
2400820 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
635.1 ns |
0.45 ns |
0.40 ns |
0.000 |
0.0038 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,044.6 ns |
6.01 ns |
5.33 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,042.2 ns |
0.90 ns |
0.75 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,988.4 ns |
39.67 ns |
51.58 ns |
- |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,707.8 ns |
71.16 ns |
63.09 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
455.5 ns |
0.31 ns |
0.27 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
464.4 ns |
1.05 ns |
0.82 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
714.6 ns |
4.63 ns |
4.11 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
5,229.1 ns |
96.88 ns |
80.90 ns |
0.0076 |
680 B |
core-ubuntu-24.04-arm_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
599.68 ns |
6.053 ns |
5.662 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
593.34 ns |
0.287 ns |
0.224 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
820.81 ns |
5.051 ns |
4.725 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,306.40 ns |
29.347 ns |
28.823 ns |
0.0100 |
736 B |
| PredicateSustained |
True |
False |
False |
40.51 ns |
0.399 ns |
0.373 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
41.69 ns |
0.247 ns |
0.219 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
251.88 ns |
0.444 ns |
0.415 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,494.29 ns |
31.323 ns |
26.156 ns |
- |
656 B |
core-ubuntu-24.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
545.8 ns |
0.58 ns |
0.51 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,306.6 ns |
16.93 ns |
15.01 ns |
13.39 |
0.03 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,204.7 ns |
2.56 ns |
2.40 ns |
2.21 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,208.0 ns |
1.74 ns |
1.54 ns |
2.21 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,229.4 ns |
16.34 ns |
14.49 ns |
16.91 |
0.03 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
542.4 ns |
0.47 ns |
0.39 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
578,778.7 ns |
1,621.98 ns |
1,517.20 ns |
1,067.10 |
2.81 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,995.4 ns |
6.45 ns |
6.03 ns |
3.68 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,981.8 ns |
11.30 ns |
10.57 ns |
3.65 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
765,535.7 ns |
452.70 ns |
378.02 ns |
1,411.43 |
1.19 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
543.2 ns |
0.61 ns |
0.55 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,164,690.9 ns |
357,323.33 ns |
316,757.82 ns |
110,757.35 |
573.49 |
250.0000 |
125.0000 |
125.0000 |
16000605 B |
46,513.39 |
| InvokeIntArrayFixed |
100000 |
61,699.2 ns |
836.22 ns |
782.20 ns |
113.58 |
1.40 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
61,651.4 ns |
651.26 ns |
609.19 ns |
113.49 |
1.09 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,959,526.0 ns |
696,833.52 ns |
651,818.51 ns |
156,402.24 |
1,171.87 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-24.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.146 μs |
0.0054 μs |
0.0045 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.158 μs |
0.0009 μs |
0.0008 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.152 μs |
0.0050 μs |
0.0042 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
107.8 ns |
0.03 ns |
0.03 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
150.5 ns |
0.08 ns |
0.07 ns |
1.40 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
120.5 ns |
0.06 ns |
0.05 ns |
1.12 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
719.6 ns |
1.23 ns |
1.15 ns |
6.68 |
0.01 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
134.4 ns |
0.06 ns |
0.05 ns |
1.25 |
0.00 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
158.5 ns |
0.09 ns |
0.08 ns |
1.47 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
119.0 ns |
0.06 ns |
0.05 ns |
1.10 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
742.8 ns |
5.81 ns |
5.43 ns |
6.89 |
0.05 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
146.1 ns |
0.05 ns |
0.04 ns |
1.36 |
0.00 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
373.2 ns |
0.13 ns |
0.12 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
339.3 ns |
0.18 ns |
0.17 ns |
0.91 |
- |
- |
NA |
| InvokeStaticWithFeedback |
535.4 ns |
0.53 ns |
0.47 ns |
1.43 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
373.2 ns |
0.13 ns |
0.11 ns |
1.00 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
548.9 ns |
0.38 ns |
0.34 ns |
1.47 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.349 μs |
0.0011 μs |
0.0009 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,958.8 ns |
4.32 ns |
3.83 ns |
1.00 |
0.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
590.0 ns |
0.45 ns |
0.40 ns |
0.30 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,229.3 ns |
344.50 ns |
322.24 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
598.3 ns |
0.45 ns |
0.40 ns |
0.010 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,977,997.0 ns |
165,307.20 ns |
154,628.46 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
624.6 ns |
0.57 ns |
0.50 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,038.5 ns |
6.24 ns |
5.84 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,061.3 ns |
4.56 ns |
4.04 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,273.6 ns |
4.85 ns |
4.30 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,644.8 ns |
5.72 ns |
5.07 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
445.2 ns |
1.44 ns |
1.35 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
447.0 ns |
0.57 ns |
0.51 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
645.0 ns |
0.50 ns |
0.42 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,973.8 ns |
4.95 ns |
4.63 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
620.94 ns |
0.728 ns |
0.568 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
627.00 ns |
0.391 ns |
0.347 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
827.28 ns |
6.247 ns |
5.843 ns |
0.0017 |
176 B |
| PredicateSustained |
False |
True |
True |
4,216.26 ns |
5.938 ns |
5.555 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
59.90 ns |
0.028 ns |
0.026 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
59.33 ns |
1.175 ns |
1.154 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
254.28 ns |
0.487 ns |
0.432 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,572.27 ns |
13.402 ns |
12.536 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
549.4 ns |
0.53 ns |
0.44 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,277.8 ns |
7.46 ns |
6.61 ns |
13.25 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,219.3 ns |
1.79 ns |
1.58 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,221.4 ns |
2.31 ns |
2.16 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,053.9 ns |
44.25 ns |
41.39 ns |
18.30 |
0.07 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
533.9 ns |
0.40 ns |
0.36 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
591,853.2 ns |
1,217.43 ns |
1,138.78 ns |
1,108.61 |
2.18 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,956.8 ns |
9.05 ns |
8.46 ns |
3.67 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,969.5 ns |
10.87 ns |
10.17 ns |
3.69 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
792,766.8 ns |
1,446.40 ns |
1,207.81 ns |
1,484.94 |
2.38 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
537.0 ns |
0.59 ns |
0.52 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,785,423.9 ns |
203,465.23 ns |
180,366.63 ns |
111,334.69 |
340.88 |
250.0000 |
125.0000 |
125.0000 |
16000843 B |
46,514.08 |
| InvokeIntArrayFixed |
100000 |
61,647.3 ns |
443.02 ns |
392.73 ns |
114.80 |
0.71 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
61,365.3 ns |
464.29 ns |
434.30 ns |
114.28 |
0.79 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
86,889,356.3 ns |
533,705.52 ns |
499,228.47 ns |
161,808.66 |
913.00 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-24.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.152 μs |
0.0088 μs |
0.0082 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.167 μs |
0.0084 μs |
0.0078 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.157 μs |
0.0029 μs |
0.0023 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
103.3 ns |
0.02 ns |
0.02 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
151.0 ns |
0.07 ns |
0.07 ns |
1.46 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
115.5 ns |
0.01 ns |
0.01 ns |
1.12 |
- |
- |
0.00 |
| SetInstanceStringField |
745.3 ns |
1.22 ns |
1.14 ns |
7.21 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
124.3 ns |
0.10 ns |
0.09 ns |
1.20 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
149.7 ns |
0.05 ns |
0.04 ns |
1.45 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
111.5 ns |
0.02 ns |
0.02 ns |
1.08 |
- |
- |
0.00 |
| SetStaticStringField |
737.7 ns |
1.18 ns |
1.11 ns |
7.14 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
160.0 ns |
0.04 ns |
0.03 ns |
1.55 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
298.1 ns |
0.15 ns |
0.14 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
278.7 ns |
0.10 ns |
0.09 ns |
0.93 |
- |
- |
NA |
| InvokeStaticWithFeedback |
550.8 ns |
0.36 ns |
0.32 ns |
1.85 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
316.9 ns |
0.18 ns |
0.15 ns |
1.06 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
549.9 ns |
0.50 ns |
0.44 ns |
1.84 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.347 μs |
0.0016 μs |
0.0014 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,006.9 ns |
23.95 ns |
22.41 ns |
1.00 |
0.02 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
598.7 ns |
0.24 ns |
0.20 ns |
0.30 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,107.7 ns |
150.71 ns |
133.60 ns |
1.00 |
0.00 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
604.8 ns |
0.56 ns |
0.47 ns |
0.01 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,953,389.1 ns |
49,741.12 ns |
44,094.21 ns |
1.000 |
0.01 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
631.4 ns |
0.49 ns |
0.43 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,058.4 ns |
6.03 ns |
5.34 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,045.8 ns |
5.52 ns |
4.89 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,293.8 ns |
11.25 ns |
10.52 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,308.3 ns |
41.83 ns |
39.12 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
428.2 ns |
0.44 ns |
0.42 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
443.9 ns |
0.40 ns |
0.31 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
624.9 ns |
1.38 ns |
1.08 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,057.2 ns |
14.51 ns |
13.57 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
624.11 ns |
1.149 ns |
0.960 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
624.23 ns |
4.271 ns |
3.995 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
841.26 ns |
6.241 ns |
5.838 ns |
0.0017 |
176 B |
| PredicateSustained |
False |
True |
True |
4,441.49 ns |
17.070 ns |
15.967 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
50.67 ns |
0.975 ns |
1.002 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
53.39 ns |
0.607 ns |
0.568 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
241.23 ns |
0.511 ns |
0.478 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,774.62 ns |
18.949 ns |
17.725 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
537.2 ns |
0.33 ns |
0.29 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,255.1 ns |
11.29 ns |
10.57 ns |
13.51 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,162.2 ns |
1.89 ns |
1.77 ns |
2.16 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,178.5 ns |
0.88 ns |
0.73 ns |
2.19 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,005.8 ns |
24.62 ns |
21.83 ns |
16.76 |
0.04 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
536.2 ns |
0.36 ns |
0.30 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
576,105.1 ns |
1,131.31 ns |
1,058.23 ns |
1,074.48 |
2.00 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,886.2 ns |
8.54 ns |
7.99 ns |
3.52 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,899.1 ns |
8.35 ns |
7.81 ns |
3.54 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
762,880.8 ns |
741.40 ns |
619.11 ns |
1,422.83 |
1.36 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
540.1 ns |
1.55 ns |
1.45 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,602,718.9 ns |
185,741.53 ns |
173,742.74 ns |
110,359.36 |
422.93 |
250.0000 |
125.0000 |
125.0000 |
16001336 B |
46,515.51 |
| InvokeIntArrayFixed |
100000 |
60,853.4 ns |
372.29 ns |
348.24 ns |
112.68 |
0.69 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,288.5 ns |
292.45 ns |
259.25 ns |
111.63 |
0.55 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
86,475,286.2 ns |
683,758.47 ns |
639,588.10 ns |
160,116.14 |
1,219.46 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-24.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.108 μs |
0.0095 μs |
0.0089 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.126 μs |
0.0120 μs |
0.0112 μs |
1.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.117 μs |
0.0101 μs |
0.0094 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
104.6 ns |
0.05 ns |
0.04 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
149.2 ns |
0.04 ns |
0.04 ns |
1.43 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
117.6 ns |
0.03 ns |
0.02 ns |
1.12 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
726.2 ns |
1.81 ns |
1.69 ns |
6.94 |
0.02 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
125.1 ns |
0.14 ns |
0.13 ns |
1.20 |
0.00 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
147.8 ns |
0.08 ns |
0.07 ns |
1.41 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
119.2 ns |
0.02 ns |
0.02 ns |
1.14 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
717.2 ns |
1.11 ns |
1.04 ns |
6.85 |
0.01 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
150.5 ns |
0.05 ns |
0.04 ns |
1.44 |
0.00 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
306.2 ns |
0.26 ns |
0.25 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
279.0 ns |
0.20 ns |
0.19 ns |
0.91 |
- |
- |
NA |
| InvokeStaticWithFeedback |
525.6 ns |
0.33 ns |
0.29 ns |
1.72 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
316.7 ns |
0.15 ns |
0.13 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
539.7 ns |
0.32 ns |
0.29 ns |
1.76 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.330 μs |
0.0013 μs |
0.0010 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,945.4 ns |
18.39 ns |
17.20 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
586.8 ns |
0.28 ns |
0.23 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,951.9 ns |
251.86 ns |
235.59 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
590.7 ns |
0.66 ns |
0.59 ns |
0.010 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,453,350.4 ns |
56,645.41 ns |
50,214.68 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400718 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
643.9 ns |
0.24 ns |
0.22 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,031.5 ns |
4.86 ns |
4.54 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,016.5 ns |
5.88 ns |
5.50 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,236.8 ns |
7.79 ns |
7.28 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,563.9 ns |
17.03 ns |
15.93 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
436.0 ns |
0.29 ns |
0.26 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
425.7 ns |
0.32 ns |
0.28 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
617.0 ns |
1.05 ns |
0.82 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,960.0 ns |
23.80 ns |
22.26 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
608.70 ns |
0.347 ns |
0.308 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
602.11 ns |
0.616 ns |
0.514 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
808.80 ns |
7.691 ns |
7.195 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,184.91 ns |
20.982 ns |
19.627 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
52.32 ns |
0.974 ns |
1.001 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
51.54 ns |
1.011 ns |
1.081 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
239.63 ns |
0.480 ns |
0.426 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,492.71 ns |
16.972 ns |
15.876 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
537.9 ns |
0.46 ns |
0.43 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,098.7 ns |
10.74 ns |
10.04 ns |
13.20 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,184.4 ns |
2.05 ns |
1.92 ns |
2.20 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,196.4 ns |
2.66 ns |
2.08 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,633.9 ns |
50.05 ns |
46.82 ns |
17.91 |
0.09 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
531.2 ns |
0.52 ns |
0.46 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
579,030.1 ns |
991.87 ns |
927.80 ns |
1,090.14 |
1.92 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,915.6 ns |
6.10 ns |
5.40 ns |
3.61 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,942.1 ns |
6.16 ns |
5.76 ns |
3.66 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
760,255.7 ns |
1,273.70 ns |
1,063.60 ns |
1,431.34 |
2.27 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
541.8 ns |
0.65 ns |
0.57 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,579,194.8 ns |
191,833.32 ns |
179,441.01 ns |
111,821.37 |
340.59 |
333.3333 |
222.2222 |
222.2222 |
16001058 B |
46,514.70 |
| InvokeIntArrayFixed |
100000 |
60,166.7 ns |
311.05 ns |
275.74 ns |
111.06 |
0.50 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,311.0 ns |
156.64 ns |
130.80 ns |
111.33 |
0.26 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
88,361,741.0 ns |
277,460.50 ns |
216,622.91 ns |
163,104.36 |
418.78 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-24.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.105 μs |
0.0104 μs |
0.0097 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.117 μs |
0.0117 μs |
0.0109 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.133 μs |
0.0104 μs |
0.0097 μs |
1.03 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
108.4 ns |
0.04 ns |
0.04 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
157.3 ns |
0.06 ns |
0.05 ns |
1.45 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
115.5 ns |
0.02 ns |
0.02 ns |
1.07 |
- |
- |
0.00 |
| SetInstanceStringField |
713.3 ns |
1.59 ns |
1.49 ns |
6.58 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
124.0 ns |
0.03 ns |
0.03 ns |
1.14 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
145.4 ns |
0.06 ns |
0.05 ns |
1.34 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
116.6 ns |
0.02 ns |
0.02 ns |
1.08 |
- |
- |
0.00 |
| SetStaticStringField |
714.4 ns |
1.33 ns |
1.24 ns |
6.59 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
156.8 ns |
0.04 ns |
0.03 ns |
1.45 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
307.7 ns |
0.10 ns |
0.09 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
274.7 ns |
0.18 ns |
0.17 ns |
0.89 |
- |
- |
NA |
| InvokeStaticWithFeedback |
527.7 ns |
0.75 ns |
0.70 ns |
1.72 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
321.4 ns |
0.16 ns |
0.15 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
542.9 ns |
0.25 ns |
0.22 ns |
1.76 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.332 μs |
0.0027 μs |
0.0026 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,996.8 ns |
20.43 ns |
19.11 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
601.0 ns |
0.64 ns |
0.57 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
61,897.0 ns |
148.47 ns |
138.88 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
601.0 ns |
0.49 ns |
0.43 ns |
0.010 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,300,718.8 ns |
42,189.45 ns |
39,464.04 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
653.7 ns |
0.47 ns |
0.41 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,040.6 ns |
6.47 ns |
6.05 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,043.2 ns |
7.07 ns |
6.61 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,247.0 ns |
7.39 ns |
6.91 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,705.4 ns |
31.15 ns |
26.01 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
436.2 ns |
0.51 ns |
0.47 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
438.2 ns |
0.32 ns |
0.29 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
643.1 ns |
1.27 ns |
0.99 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,862.7 ns |
13.50 ns |
12.62 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
603.42 ns |
1.150 ns |
0.898 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
609.98 ns |
0.729 ns |
0.569 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
795.04 ns |
5.274 ns |
4.676 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,366.15 ns |
37.071 ns |
45.526 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
50.06 ns |
0.308 ns |
0.289 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
50.05 ns |
0.947 ns |
1.053 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
238.63 ns |
0.521 ns |
0.462 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,454.82 ns |
46.301 ns |
43.310 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
535.4 ns |
0.46 ns |
0.41 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,030.1 ns |
6.07 ns |
5.07 ns |
13.13 |
0.01 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,170.8 ns |
1.22 ns |
1.08 ns |
2.19 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,183.5 ns |
1.01 ns |
0.85 ns |
2.21 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,185.6 ns |
22.37 ns |
19.83 ns |
17.16 |
0.04 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
538.5 ns |
0.40 ns |
0.36 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
569,339.6 ns |
1,029.08 ns |
962.60 ns |
1,057.30 |
1.86 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,771.3 ns |
7.08 ns |
6.63 ns |
3.29 |
0.01 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,744.4 ns |
8.99 ns |
8.41 ns |
3.24 |
0.02 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
765,182.6 ns |
1,181.85 ns |
1,047.68 ns |
1,420.99 |
2.09 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
528.9 ns |
0.38 ns |
0.34 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,622,783.3 ns |
175,179.86 ns |
163,863.35 ns |
110,830.13 |
307.65 |
333.3333 |
222.2222 |
222.2222 |
16001660 B |
46,516.45 |
| InvokeIntArrayFixed |
100000 |
45,281.2 ns |
428.51 ns |
379.87 ns |
85.61 |
0.70 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
45,097.6 ns |
312.10 ns |
276.67 ns |
85.26 |
0.51 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
85,310,637.1 ns |
587,858.14 ns |
549,882.87 ns |
161,285.23 |
1,011.61 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-24.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Median |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.119 μs |
0.0155 μs |
0.0145 μs |
1.108 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.123 μs |
0.0134 μs |
0.0125 μs |
1.112 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.142 μs |
0.0139 μs |
0.0130 μs |
1.132 μs |
1.02 |
0.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
101.9 ns |
0.02 ns |
0.02 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
141.7 ns |
0.05 ns |
0.05 ns |
1.39 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
116.4 ns |
0.02 ns |
0.02 ns |
1.14 |
- |
- |
0.00 |
| SetInstanceStringField |
711.0 ns |
0.39 ns |
0.33 ns |
6.98 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
126.1 ns |
0.05 ns |
0.05 ns |
1.24 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
152.2 ns |
0.15 ns |
0.12 ns |
1.49 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
113.0 ns |
0.05 ns |
0.05 ns |
1.11 |
- |
- |
0.00 |
| SetStaticStringField |
707.7 ns |
0.33 ns |
0.28 ns |
6.94 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
155.9 ns |
0.04 ns |
0.04 ns |
1.53 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
299.0 ns |
0.10 ns |
0.09 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
266.4 ns |
0.12 ns |
0.12 ns |
0.89 |
- |
- |
NA |
| InvokeStaticWithFeedback |
535.0 ns |
0.39 ns |
0.35 ns |
1.79 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
315.4 ns |
0.13 ns |
0.12 ns |
1.05 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
546.2 ns |
0.37 ns |
0.29 ns |
1.83 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.317 μs |
0.0010 μs |
0.0009 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,936.2 ns |
2.28 ns |
1.90 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
577.9 ns |
0.90 ns |
0.84 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,700.1 ns |
89.98 ns |
79.77 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
586.9 ns |
0.24 ns |
0.20 ns |
0.010 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,292,701.8 ns |
108,250.11 ns |
101,257.22 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
608.0 ns |
0.45 ns |
0.40 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,049.5 ns |
5.65 ns |
5.01 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,059.5 ns |
5.94 ns |
5.56 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,266.8 ns |
6.35 ns |
5.94 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,627.5 ns |
13.48 ns |
12.61 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
441.7 ns |
0.17 ns |
0.15 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
446.6 ns |
0.26 ns |
0.23 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
625.1 ns |
0.52 ns |
0.44 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,121.6 ns |
25.05 ns |
23.43 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
621.63 ns |
3.207 ns |
2.678 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
621.21 ns |
3.886 ns |
3.034 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
820.48 ns |
0.803 ns |
0.670 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,268.69 ns |
19.179 ns |
17.940 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
52.06 ns |
0.020 ns |
0.018 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
51.74 ns |
0.033 ns |
0.031 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
244.22 ns |
0.158 ns |
0.148 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,485.04 ns |
11.352 ns |
10.063 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
529.8 ns |
0.33 ns |
0.28 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,024.1 ns |
14.63 ns |
13.68 ns |
13.26 |
0.03 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,174.3 ns |
2.81 ns |
2.63 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,190.0 ns |
1.96 ns |
1.73 ns |
2.25 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,164.0 ns |
29.36 ns |
27.46 ns |
17.30 |
0.05 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
524.2 ns |
0.48 ns |
0.43 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
566,570.8 ns |
1,123.26 ns |
1,050.70 ns |
1,080.76 |
2.12 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,740.9 ns |
5.47 ns |
4.57 ns |
3.32 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,739.7 ns |
14.76 ns |
13.81 ns |
3.32 |
0.03 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
742,309.0 ns |
973.02 ns |
812.52 ns |
1,415.98 |
1.86 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
534.8 ns |
0.60 ns |
0.53 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,743,160.0 ns |
164,745.40 ns |
154,102.95 ns |
109,851.32 |
298.27 |
250.0000 |
125.0000 |
125.0000 |
16001273 B |
46,515.33 |
| InvokeIntArrayFixed |
100000 |
44,945.4 ns |
386.18 ns |
361.23 ns |
84.05 |
0.66 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
45,319.1 ns |
523.25 ns |
489.45 ns |
84.75 |
0.89 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
82,880,004.1 ns |
435,759.83 ns |
386,289.74 ns |
154,987.88 |
713.51 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-24.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.103 μs |
0.0116 μs |
0.0109 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.125 μs |
0.0136 μs |
0.0127 μs |
1.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.115 μs |
0.0134 μs |
0.0125 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
104.8 ns |
0.03 ns |
0.02 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
148.1 ns |
0.04 ns |
0.04 ns |
1.41 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
117.5 ns |
0.02 ns |
0.02 ns |
1.12 |
- |
- |
0.00 |
| SetInstanceStringField |
720.0 ns |
0.88 ns |
0.82 ns |
6.87 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
124.5 ns |
0.03 ns |
0.03 ns |
1.19 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
149.7 ns |
0.04 ns |
0.03 ns |
1.43 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
115.7 ns |
0.02 ns |
0.02 ns |
1.10 |
- |
- |
0.00 |
| SetStaticStringField |
719.5 ns |
1.58 ns |
1.47 ns |
6.86 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
156.2 ns |
0.04 ns |
0.04 ns |
1.49 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
304.1 ns |
0.14 ns |
0.13 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
273.6 ns |
0.08 ns |
0.08 ns |
0.90 |
- |
- |
NA |
| InvokeStaticWithFeedback |
513.9 ns |
0.34 ns |
0.30 ns |
1.69 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
315.2 ns |
0.10 ns |
0.09 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
540.9 ns |
0.39 ns |
0.32 ns |
1.78 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.328 μs |
0.0042 μs |
0.0040 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,944.2 ns |
22.88 ns |
21.40 ns |
1.00 |
0.02 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
584.2 ns |
0.31 ns |
0.27 ns |
0.30 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,348.3 ns |
256.35 ns |
239.79 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
590.4 ns |
0.21 ns |
0.18 ns |
0.010 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,815,697.1 ns |
108,979.48 ns |
96,607.47 ns |
1.000 |
0.01 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
617.4 ns |
0.54 ns |
0.45 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,036.3 ns |
6.59 ns |
6.16 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,033.0 ns |
6.27 ns |
5.86 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,236.1 ns |
7.42 ns |
6.94 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,671.9 ns |
15.82 ns |
14.80 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
436.0 ns |
2.80 ns |
2.62 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
433.3 ns |
0.38 ns |
0.34 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
635.6 ns |
1.21 ns |
0.95 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,876.4 ns |
9.67 ns |
9.04 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
605.84 ns |
0.260 ns |
0.203 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
603.83 ns |
0.448 ns |
0.350 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
803.89 ns |
6.267 ns |
5.862 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,021.16 ns |
11.072 ns |
9.815 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
53.09 ns |
1.015 ns |
1.128 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
52.43 ns |
1.031 ns |
1.103 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
241.16 ns |
0.273 ns |
0.256 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,418.00 ns |
7.976 ns |
7.070 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
527.2 ns |
0.91 ns |
0.76 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,940.6 ns |
24.47 ns |
22.89 ns |
13.16 |
0.05 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,173.8 ns |
1.97 ns |
1.84 ns |
2.23 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,177.2 ns |
1.55 ns |
1.29 ns |
2.23 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,061.3 ns |
33.21 ns |
29.44 ns |
17.19 |
0.06 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
527.6 ns |
0.45 ns |
0.40 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
566,223.9 ns |
1,123.68 ns |
996.11 ns |
1,073.22 |
1.99 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,635.4 ns |
6.82 ns |
6.38 ns |
3.10 |
0.01 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,732.5 ns |
6.73 ns |
5.96 ns |
3.28 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
753,698.8 ns |
1,289.73 ns |
1,006.94 ns |
1,428.56 |
2.11 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
523.0 ns |
0.48 ns |
0.42 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,568,604.9 ns |
342,939.98 ns |
320,786.27 ns |
113,900.27 |
600.58 |
333.3333 |
222.2222 |
222.2222 |
16001155 B |
46,514.99 |
| InvokeIntArrayFixed |
100000 |
43,883.5 ns |
194.90 ns |
172.77 ns |
83.91 |
0.33 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
44,015.1 ns |
319.77 ns |
283.47 ns |
84.16 |
0.53 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
86,318,208.7 ns |
608,622.86 ns |
569,306.20 ns |
165,047.80 |
1,061.97 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-24.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.108 μs |
0.0103 μs |
0.0096 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.099 μs |
0.0137 μs |
0.0128 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.096 μs |
0.0024 μs |
0.0019 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
109.1 ns |
0.04 ns |
0.04 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
151.9 ns |
0.05 ns |
0.05 ns |
1.39 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
115.6 ns |
0.05 ns |
0.05 ns |
1.06 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
709.2 ns |
1.69 ns |
1.58 ns |
6.50 |
0.01 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
125.4 ns |
0.07 ns |
0.06 ns |
1.15 |
0.00 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
144.6 ns |
0.07 ns |
0.06 ns |
1.33 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
119.4 ns |
0.02 ns |
0.01 ns |
1.09 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
707.5 ns |
2.32 ns |
2.17 ns |
6.49 |
0.02 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
158.6 ns |
0.03 ns |
0.03 ns |
1.45 |
0.00 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
303.6 ns |
0.16 ns |
0.15 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
276.3 ns |
0.12 ns |
0.10 ns |
0.91 |
- |
- |
NA |
| InvokeStaticWithFeedback |
519.6 ns |
0.48 ns |
0.40 ns |
1.71 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
321.9 ns |
0.13 ns |
0.12 ns |
1.06 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
533.5 ns |
1.13 ns |
1.05 ns |
1.76 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.290 μs |
0.0025 μs |
0.0022 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,940.5 ns |
10.26 ns |
8.57 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
573.6 ns |
0.43 ns |
0.36 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
63,766.8 ns |
175.14 ns |
155.25 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
580.5 ns |
0.70 ns |
0.65 ns |
0.009 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,224,232.6 ns |
57,179.95 ns |
50,688.54 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
621.6 ns |
0.43 ns |
0.38 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,024.8 ns |
6.49 ns |
6.07 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,014.4 ns |
0.97 ns |
0.75 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,229.5 ns |
7.82 ns |
7.32 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,605.5 ns |
29.49 ns |
23.03 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
423.8 ns |
0.40 ns |
0.35 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
422.5 ns |
2.24 ns |
2.10 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
619.6 ns |
1.54 ns |
1.29 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,797.6 ns |
9.85 ns |
7.69 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
604.45 ns |
0.866 ns |
0.676 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
608.34 ns |
1.793 ns |
1.400 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
809.19 ns |
7.174 ns |
6.711 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,077.32 ns |
80.723 ns |
86.372 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
50.39 ns |
0.966 ns |
1.289 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
51.74 ns |
0.526 ns |
0.466 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
241.60 ns |
0.713 ns |
0.632 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
4,152.03 ns |
41.272 ns |
36.586 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
536.7 ns |
0.33 ns |
0.29 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,224.7 ns |
9.00 ns |
7.98 ns |
13.46 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,186.2 ns |
2.64 ns |
2.47 ns |
2.21 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,189.6 ns |
1.84 ns |
1.53 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,215.7 ns |
15.03 ns |
13.33 ns |
17.17 |
0.03 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
533.1 ns |
0.88 ns |
0.82 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
573,426.2 ns |
1,417.30 ns |
1,325.74 ns |
1,075.72 |
2.89 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,936.9 ns |
8.13 ns |
7.60 ns |
3.63 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,955.3 ns |
5.94 ns |
5.55 ns |
3.67 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
767,885.9 ns |
934.19 ns |
780.09 ns |
1,440.52 |
2.56 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
543.2 ns |
0.31 ns |
0.27 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,971,678.0 ns |
248,189.16 ns |
220,013.22 ns |
110,414.59 |
394.96 |
250.0000 |
125.0000 |
125.0000 |
16000748 B |
46,513.80 |
| InvokeIntArrayFixed |
100000 |
61,375.7 ns |
435.36 ns |
407.23 ns |
113.00 |
0.73 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
61,911.2 ns |
441.19 ns |
368.41 ns |
113.99 |
0.66 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
86,602,728.3 ns |
424,184.01 ns |
354,212.86 ns |
159,445.35 |
633.00 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-24.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.161 μs |
0.0106 μs |
0.0099 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.143 μs |
0.0022 μs |
0.0019 μs |
0.98 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.168 μs |
0.0009 μs |
0.0007 μs |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
107.9 ns |
0.02 ns |
0.02 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
146.9 ns |
0.05 ns |
0.05 ns |
1.36 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
118.8 ns |
0.05 ns |
0.04 ns |
1.10 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
733.2 ns |
1.58 ns |
1.48 ns |
6.79 |
0.01 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
129.9 ns |
0.04 ns |
0.04 ns |
1.20 |
0.00 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
155.3 ns |
0.09 ns |
0.08 ns |
1.44 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
117.9 ns |
0.07 ns |
0.06 ns |
1.09 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
728.4 ns |
2.41 ns |
2.13 ns |
6.75 |
0.02 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
148.1 ns |
0.04 ns |
0.03 ns |
1.37 |
0.00 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
379.0 ns |
0.35 ns |
0.33 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
347.6 ns |
0.20 ns |
0.18 ns |
0.92 |
- |
- |
NA |
| InvokeStaticWithFeedback |
537.4 ns |
0.27 ns |
0.24 ns |
1.42 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
391.3 ns |
0.20 ns |
0.18 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
542.5 ns |
0.44 ns |
0.39 ns |
1.43 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.318 μs |
0.0010 μs |
0.0008 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,981.7 ns |
3.69 ns |
2.88 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
582.0 ns |
0.53 ns |
0.47 ns |
0.29 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
62,133.4 ns |
73.40 ns |
57.30 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
587.1 ns |
0.29 ns |
0.25 ns |
0.009 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,174,258.9 ns |
51,095.55 ns |
47,794.81 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400822 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
630.0 ns |
0.44 ns |
0.37 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,048.5 ns |
4.98 ns |
4.66 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,045.3 ns |
7.24 ns |
6.77 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,242.7 ns |
6.17 ns |
5.47 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,696.0 ns |
8.06 ns |
7.54 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
438.0 ns |
0.17 ns |
0.13 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
436.5 ns |
0.89 ns |
0.83 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
633.0 ns |
1.18 ns |
1.11 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,970.3 ns |
4.66 ns |
4.36 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
619.66 ns |
0.486 ns |
0.380 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
618.90 ns |
0.434 ns |
0.362 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
813.15 ns |
1.031 ns |
0.805 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,183.92 ns |
8.213 ns |
7.682 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
58.99 ns |
0.894 ns |
0.836 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
58.90 ns |
1.176 ns |
1.259 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
252.12 ns |
0.580 ns |
0.543 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,581.01 ns |
10.433 ns |
9.759 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
534.2 ns |
0.68 ns |
0.61 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,069.7 ns |
6.88 ns |
6.10 ns |
13.24 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,171.4 ns |
2.19 ns |
1.94 ns |
2.19 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,194.6 ns |
1.42 ns |
1.26 ns |
2.24 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,723.3 ns |
52.67 ns |
49.27 ns |
18.20 |
0.09 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
525.7 ns |
0.44 ns |
0.39 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
561,894.2 ns |
1,259.25 ns |
1,177.90 ns |
1,068.78 |
2.30 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,905.0 ns |
5.04 ns |
4.71 ns |
3.62 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,879.5 ns |
11.96 ns |
11.18 ns |
3.57 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
768,352.5 ns |
960.72 ns |
802.24 ns |
1,461.49 |
1.80 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
544.8 ns |
0.46 ns |
0.41 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,954,209.1 ns |
175,240.42 ns |
163,920.00 ns |
110,048.73 |
302.15 |
333.3333 |
222.2222 |
222.2222 |
16000760 B |
46,513.84 |
| InvokeIntArrayFixed |
100000 |
60,575.3 ns |
301.55 ns |
267.32 ns |
111.19 |
0.48 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,742.3 ns |
226.24 ns |
200.56 ns |
111.50 |
0.36 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
85,475,289.3 ns |
646,159.68 ns |
604,418.17 ns |
156,893.86 |
1,080.41 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-24.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Median |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.141 μs |
0.0127 μs |
0.0119 μs |
1.133 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.143 μs |
0.0119 μs |
0.0111 μs |
1.134 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.122 μs |
0.0005 μs |
0.0004 μs |
1.122 μs |
0.98 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
106.9 ns |
0.04 ns |
0.03 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
142.8 ns |
0.08 ns |
0.07 ns |
1.34 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
116.5 ns |
0.02 ns |
0.02 ns |
1.09 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
727.0 ns |
2.22 ns |
2.08 ns |
6.80 |
0.02 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
116.1 ns |
0.04 ns |
0.03 ns |
1.09 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
140.4 ns |
0.09 ns |
0.08 ns |
1.31 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
104.9 ns |
0.01 ns |
0.01 ns |
0.98 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
721.4 ns |
0.88 ns |
0.78 ns |
6.75 |
0.01 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
154.3 ns |
0.05 ns |
0.05 ns |
1.44 |
0.00 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
299.9 ns |
0.12 ns |
0.11 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
266.3 ns |
0.17 ns |
0.16 ns |
0.89 |
- |
- |
NA |
| InvokeStaticWithFeedback |
529.1 ns |
0.83 ns |
0.77 ns |
1.76 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
304.7 ns |
0.20 ns |
0.19 ns |
1.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
538.0 ns |
0.19 ns |
0.16 ns |
1.79 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.305 μs |
0.0011 μs |
0.0010 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,923.8 ns |
28.19 ns |
26.37 ns |
1.00 |
0.02 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
578.0 ns |
0.22 ns |
0.20 ns |
0.30 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,061.7 ns |
239.63 ns |
224.15 ns |
1.00 |
0.01 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
591.7 ns |
0.58 ns |
0.54 ns |
0.01 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,833,508.1 ns |
81,202.51 ns |
71,983.91 ns |
1.000 |
0.01 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
630.2 ns |
0.49 ns |
0.41 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,039.8 ns |
6.36 ns |
5.31 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,033.4 ns |
6.40 ns |
5.99 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,236.0 ns |
8.02 ns |
7.50 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,701.4 ns |
8.30 ns |
7.77 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
432.4 ns |
0.51 ns |
0.43 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
428.2 ns |
1.96 ns |
1.83 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
622.9 ns |
1.29 ns |
1.01 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,046.0 ns |
12.72 ns |
11.89 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
595.82 ns |
1.049 ns |
0.876 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
592.25 ns |
1.250 ns |
1.044 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
780.01 ns |
0.898 ns |
0.796 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,382.56 ns |
16.749 ns |
15.667 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
51.00 ns |
0.990 ns |
0.973 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
50.82 ns |
1.015 ns |
1.042 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
243.04 ns |
0.476 ns |
0.445 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,545.89 ns |
22.272 ns |
19.744 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
533.3 ns |
0.38 ns |
0.33 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,998.2 ns |
8.04 ns |
7.13 ns |
13.12 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,168.9 ns |
1.61 ns |
1.35 ns |
2.19 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,184.7 ns |
1.33 ns |
1.11 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,909.3 ns |
18.40 ns |
17.21 ns |
16.70 |
0.03 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
525.6 ns |
0.42 ns |
0.37 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
567,403.4 ns |
1,517.43 ns |
1,419.41 ns |
1,079.63 |
2.72 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,867.9 ns |
5.28 ns |
4.68 ns |
3.55 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,891.0 ns |
6.12 ns |
5.73 ns |
3.60 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
740,339.5 ns |
1,410.82 ns |
1,178.10 ns |
1,408.69 |
2.36 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
534.0 ns |
0.40 ns |
0.35 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,988,796.4 ns |
244,749.97 ns |
228,939.27 ns |
112,331.77 |
421.36 |
333.3333 |
222.2222 |
222.2222 |
16001500 B |
46,515.99 |
| InvokeIntArrayFixed |
100000 |
60,639.9 ns |
321.93 ns |
285.38 ns |
113.55 |
0.52 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,640.0 ns |
260.99 ns |
231.36 ns |
113.55 |
0.42 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
85,850,359.4 ns |
529,591.24 ns |
469,468.84 ns |
160,758.73 |
855.54 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-24.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.130 μs |
0.0011 μs |
0.0009 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.120 μs |
0.0084 μs |
0.0078 μs |
0.99 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.128 μs |
0.0126 μs |
0.0118 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
109.0 ns |
0.01 ns |
0.01 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
157.5 ns |
0.03 ns |
0.03 ns |
1.45 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
117.5 ns |
0.04 ns |
0.04 ns |
1.08 |
- |
- |
0.00 |
| SetInstanceStringField |
726.2 ns |
1.58 ns |
1.48 ns |
6.66 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
127.3 ns |
0.07 ns |
0.06 ns |
1.17 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
150.0 ns |
0.05 ns |
0.05 ns |
1.38 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
117.6 ns |
0.03 ns |
0.02 ns |
1.08 |
- |
- |
0.00 |
| SetStaticStringField |
741.3 ns |
0.99 ns |
0.92 ns |
6.80 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
155.5 ns |
0.02 ns |
0.02 ns |
1.43 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
306.3 ns |
0.12 ns |
0.11 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
274.1 ns |
0.12 ns |
0.10 ns |
0.89 |
- |
- |
NA |
| InvokeStaticWithFeedback |
527.8 ns |
0.35 ns |
0.29 ns |
1.72 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
316.9 ns |
0.16 ns |
0.15 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
534.7 ns |
0.38 ns |
0.34 ns |
1.75 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.328 μs |
0.0038 μs |
0.0030 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,927.4 ns |
18.03 ns |
16.87 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
580.0 ns |
0.38 ns |
0.34 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
57,702.1 ns |
168.47 ns |
157.59 ns |
1.00 |
0.3052 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
585.8 ns |
0.33 ns |
0.29 ns |
0.01 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,886,146.7 ns |
45,110.71 ns |
42,196.59 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
622.6 ns |
0.29 ns |
0.25 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,005.6 ns |
6.85 ns |
6.41 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,003.5 ns |
5.17 ns |
4.83 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,231.0 ns |
5.11 ns |
4.53 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,426.3 ns |
14.33 ns |
12.71 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
427.2 ns |
0.41 ns |
0.36 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
429.9 ns |
0.51 ns |
0.46 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
621.7 ns |
1.04 ns |
0.81 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,940.5 ns |
30.88 ns |
28.89 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
588.30 ns |
0.385 ns |
0.301 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
597.99 ns |
0.534 ns |
0.474 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
785.02 ns |
4.989 ns |
4.667 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,145.07 ns |
23.719 ns |
22.187 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
51.97 ns |
1.090 ns |
1.120 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
52.85 ns |
1.001 ns |
1.028 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
240.24 ns |
0.390 ns |
0.346 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,434.55 ns |
23.825 ns |
22.286 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
541.8 ns |
0.67 ns |
0.59 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,147.2 ns |
9.15 ns |
8.11 ns |
13.19 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,180.7 ns |
2.11 ns |
1.97 ns |
2.18 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,181.7 ns |
1.70 ns |
1.59 ns |
2.18 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,651.0 ns |
49.28 ns |
46.09 ns |
17.81 |
0.08 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
533.5 ns |
0.33 ns |
0.29 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
581,572.5 ns |
2,986.10 ns |
2,793.20 ns |
1,090.06 |
5.10 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,880.9 ns |
4.66 ns |
4.13 ns |
3.53 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,903.3 ns |
11.55 ns |
10.81 ns |
3.57 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
762,837.7 ns |
1,552.50 ns |
1,296.41 ns |
1,429.82 |
2.46 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
539.7 ns |
0.33 ns |
0.29 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,654,585.7 ns |
318,120.50 ns |
297,570.11 ns |
110,526.38 |
537.02 |
333.3333 |
222.2222 |
222.2222 |
16001836 B |
46,516.97 |
| InvokeIntArrayFixed |
100000 |
60,286.3 ns |
487.25 ns |
455.77 ns |
111.70 |
0.82 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
59,900.5 ns |
316.45 ns |
296.01 ns |
110.98 |
0.53 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
86,822,805.9 ns |
782,447.69 ns |
731,902.06 ns |
160,862.92 |
1,315.88 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-24.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.113 μs |
0.0116 μs |
0.0108 μs |
1.00 |
0.01 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.124 μs |
0.0095 μs |
0.0089 μs |
1.01 |
0.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.124 μs |
0.0152 μs |
0.0143 μs |
1.01 |
0.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
106.4 ns |
0.03 ns |
0.02 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
151.3 ns |
0.03 ns |
0.03 ns |
1.42 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
116.8 ns |
0.03 ns |
0.03 ns |
1.10 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
738.0 ns |
2.31 ns |
2.16 ns |
6.94 |
0.02 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
125.6 ns |
0.02 ns |
0.02 ns |
1.18 |
0.00 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
154.2 ns |
0.05 ns |
0.04 ns |
1.45 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
118.0 ns |
0.03 ns |
0.03 ns |
1.11 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
713.7 ns |
1.03 ns |
0.96 ns |
6.71 |
0.01 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
152.6 ns |
0.93 ns |
0.82 ns |
1.43 |
0.01 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
298.8 ns |
0.14 ns |
0.13 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
270.2 ns |
0.11 ns |
0.10 ns |
0.90 |
- |
- |
NA |
| InvokeStaticWithFeedback |
523.8 ns |
0.40 ns |
0.33 ns |
1.75 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
311.5 ns |
0.17 ns |
0.16 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
547.2 ns |
0.37 ns |
0.33 ns |
1.83 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.361 μs |
0.0027 μs |
0.0025 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,958.5 ns |
9.61 ns |
8.02 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
600.7 ns |
0.79 ns |
0.70 ns |
0.31 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,676.0 ns |
192.74 ns |
180.29 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
592.3 ns |
0.28 ns |
0.23 ns |
0.010 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,005,573.4 ns |
50,928.21 ns |
47,638.28 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
644.3 ns |
0.80 ns |
0.74 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,041.6 ns |
6.39 ns |
5.98 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,025.3 ns |
7.20 ns |
6.74 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,238.6 ns |
5.37 ns |
5.02 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,367.5 ns |
5.00 ns |
4.18 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
434.1 ns |
0.47 ns |
0.44 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
425.4 ns |
0.85 ns |
0.76 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
618.8 ns |
4.32 ns |
3.83 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,738.5 ns |
2.87 ns |
2.39 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
583.20 ns |
1.033 ns |
0.807 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
594.30 ns |
1.032 ns |
0.805 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
784.89 ns |
6.929 ns |
6.481 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
3,998.98 ns |
19.562 ns |
18.298 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
49.10 ns |
0.271 ns |
0.254 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
48.72 ns |
0.018 ns |
0.017 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
239.75 ns |
0.313 ns |
0.293 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,398.39 ns |
47.181 ns |
44.133 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
541.6 ns |
0.41 ns |
0.36 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,118.7 ns |
10.30 ns |
9.13 ns |
13.14 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,189.3 ns |
1.61 ns |
1.51 ns |
2.20 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,202.4 ns |
1.85 ns |
1.73 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,580.1 ns |
66.70 ns |
62.39 ns |
17.69 |
0.11 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
542.9 ns |
0.26 ns |
0.22 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
573,646.5 ns |
1,345.80 ns |
1,258.86 ns |
1,056.73 |
2.28 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,925.1 ns |
4.63 ns |
4.33 ns |
3.55 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,927.5 ns |
4.49 ns |
4.20 ns |
3.55 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
762,079.7 ns |
1,184.93 ns |
989.47 ns |
1,403.85 |
1.84 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
545.1 ns |
0.42 ns |
0.37 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,153,749.3 ns |
163,425.74 ns |
144,872.66 ns |
108,528.46 |
266.47 |
333.3333 |
222.2222 |
222.2222 |
16001531 B |
46,516.08 |
| InvokeIntArrayFixed |
100000 |
60,669.8 ns |
657.59 ns |
615.11 ns |
111.31 |
1.10 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,887.0 ns |
729.22 ns |
646.44 ns |
111.71 |
1.15 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,749,039.1 ns |
449,316.03 ns |
420,290.50 ns |
155,487.74 |
753.67 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-24.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.154 μs |
0.0096 μs |
0.0090 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.135 μs |
0.0112 μs |
0.0104 μs |
0.98 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.133 μs |
0.0109 μs |
0.0102 μs |
0.98 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
102.2 ns |
0.08 ns |
0.07 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
142.4 ns |
0.07 ns |
0.06 ns |
1.39 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
114.7 ns |
0.05 ns |
0.04 ns |
1.12 |
- |
- |
0.00 |
| SetInstanceStringField |
715.3 ns |
1.44 ns |
1.28 ns |
7.00 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
126.9 ns |
0.04 ns |
0.03 ns |
1.24 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
146.5 ns |
0.04 ns |
0.03 ns |
1.43 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
110.6 ns |
0.03 ns |
0.03 ns |
1.08 |
- |
- |
0.00 |
| SetStaticStringField |
710.5 ns |
1.48 ns |
1.39 ns |
6.95 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
155.7 ns |
0.04 ns |
0.04 ns |
1.52 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
300.4 ns |
0.13 ns |
0.11 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
266.1 ns |
0.14 ns |
0.12 ns |
0.89 |
- |
- |
NA |
| InvokeStaticWithFeedback |
548.7 ns |
0.94 ns |
0.88 ns |
1.83 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
305.0 ns |
0.14 ns |
0.13 ns |
1.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
549.2 ns |
0.38 ns |
0.33 ns |
1.83 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.305 μs |
0.0019 μs |
0.0018 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,993.3 ns |
16.09 ns |
15.05 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
590.4 ns |
0.52 ns |
0.46 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
62,225.7 ns |
185.10 ns |
164.08 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
594.0 ns |
0.18 ns |
0.15 ns |
0.010 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,190,849.9 ns |
55,204.37 ns |
51,638.20 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
632.5 ns |
0.54 ns |
0.48 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,038.5 ns |
4.72 ns |
4.19 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,041.8 ns |
6.19 ns |
5.79 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,270.2 ns |
3.99 ns |
3.54 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,703.3 ns |
19.89 ns |
18.61 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
432.3 ns |
0.38 ns |
0.34 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
432.2 ns |
0.33 ns |
0.31 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
631.2 ns |
0.38 ns |
0.32 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,160.1 ns |
13.60 ns |
12.06 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
619.61 ns |
0.916 ns |
0.765 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
625.00 ns |
1.387 ns |
1.158 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
812.04 ns |
5.925 ns |
5.542 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,330.56 ns |
39.460 ns |
36.910 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
51.00 ns |
0.976 ns |
0.959 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
52.04 ns |
1.023 ns |
1.005 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
242.47 ns |
0.254 ns |
0.237 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,570.97 ns |
27.281 ns |
25.518 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
530.1 ns |
0.39 ns |
0.30 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,129.1 ns |
11.97 ns |
10.62 ns |
13.45 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,194.3 ns |
0.83 ns |
0.65 ns |
2.25 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,205.6 ns |
1.51 ns |
1.33 ns |
2.27 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,157.8 ns |
33.02 ns |
30.89 ns |
17.27 |
0.06 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
529.5 ns |
0.43 ns |
0.38 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
573,135.3 ns |
1,297.74 ns |
1,213.90 ns |
1,082.41 |
2.34 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,885.7 ns |
9.34 ns |
7.80 ns |
3.56 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,918.4 ns |
7.97 ns |
7.46 ns |
3.62 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
767,344.3 ns |
1,764.13 ns |
1,563.85 ns |
1,449.19 |
3.03 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
534.5 ns |
0.77 ns |
0.68 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,881,229.1 ns |
256,754.08 ns |
240,167.93 ns |
110,161.81 |
455.85 |
250.0000 |
125.0000 |
125.0000 |
16001516 B |
46,516.03 |
| InvokeIntArrayFixed |
100000 |
60,390.3 ns |
287.23 ns |
254.62 ns |
112.99 |
0.48 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,200.8 ns |
257.21 ns |
214.78 ns |
112.63 |
0.41 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
85,634,790.3 ns |
1,373,019.95 ns |
1,217,146.42 ns |
160,215.46 |
2,208.82 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-24.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.122 μs |
0.0158 μs |
0.0148 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.120 μs |
0.0125 μs |
0.0111 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.130 μs |
0.0139 μs |
0.0130 μs |
1.01 |
0.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
108.1 ns |
0.06 ns |
0.05 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
147.9 ns |
0.05 ns |
0.04 ns |
1.37 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
117.8 ns |
0.03 ns |
0.03 ns |
1.09 |
- |
- |
0.00 |
| SetInstanceStringField |
743.1 ns |
1.69 ns |
1.58 ns |
6.87 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
125.9 ns |
0.04 ns |
0.03 ns |
1.16 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
150.8 ns |
0.04 ns |
0.03 ns |
1.39 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
118.4 ns |
0.04 ns |
0.04 ns |
1.10 |
- |
- |
0.00 |
| SetStaticStringField |
715.6 ns |
1.70 ns |
1.59 ns |
6.62 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
160.6 ns |
0.05 ns |
0.05 ns |
1.49 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
302.2 ns |
0.17 ns |
0.15 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
287.4 ns |
0.11 ns |
0.10 ns |
0.95 |
- |
- |
NA |
| InvokeStaticWithFeedback |
537.3 ns |
0.57 ns |
0.50 ns |
1.78 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
326.5 ns |
0.14 ns |
0.14 ns |
1.08 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
538.9 ns |
0.37 ns |
0.33 ns |
1.78 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.324 μs |
0.0025 μs |
0.0023 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,950.8 ns |
19.91 ns |
18.63 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
583.8 ns |
0.41 ns |
0.34 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
58,922.5 ns |
210.91 ns |
197.29 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
588.1 ns |
0.37 ns |
0.33 ns |
0.010 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,083,850.1 ns |
55,719.50 ns |
49,393.89 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400718 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
628.4 ns |
0.56 ns |
0.53 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,024.6 ns |
7.03 ns |
6.58 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,023.2 ns |
6.61 ns |
6.19 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,219.4 ns |
7.86 ns |
7.35 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,618.8 ns |
16.02 ns |
14.98 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
427.5 ns |
0.36 ns |
0.32 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
435.7 ns |
0.39 ns |
0.36 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
622.2 ns |
0.99 ns |
0.77 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,948.3 ns |
12.61 ns |
11.79 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
601.10 ns |
2.412 ns |
2.256 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
612.87 ns |
0.793 ns |
0.703 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
795.36 ns |
6.330 ns |
5.921 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,080.62 ns |
13.814 ns |
12.922 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
51.25 ns |
0.714 ns |
0.668 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
52.77 ns |
0.026 ns |
0.023 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
239.30 ns |
0.451 ns |
0.422 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,433.02 ns |
16.104 ns |
15.064 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
541.1 ns |
0.80 ns |
0.75 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,145.1 ns |
15.84 ns |
14.81 ns |
13.20 |
0.03 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,179.1 ns |
1.41 ns |
1.25 ns |
2.18 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,165.8 ns |
2.47 ns |
2.19 ns |
2.15 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,249.0 ns |
17.08 ns |
14.26 ns |
17.09 |
0.03 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
529.2 ns |
0.50 ns |
0.47 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
575,782.3 ns |
1,161.97 ns |
1,086.90 ns |
1,088.09 |
2.20 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,869.5 ns |
5.77 ns |
5.11 ns |
3.53 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,877.5 ns |
4.63 ns |
4.33 ns |
3.55 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
749,956.9 ns |
2,083.99 ns |
1,740.23 ns |
1,417.24 |
3.40 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
543.8 ns |
0.51 ns |
0.48 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
61,194,263.6 ns |
210,311.12 ns |
186,435.33 ns |
112,525.02 |
344.60 |
333.3333 |
222.2222 |
222.2222 |
16001614 B |
46,516.32 |
| InvokeIntArrayFixed |
100000 |
59,540.8 ns |
249.52 ns |
221.19 ns |
109.48 |
0.40 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
59,537.6 ns |
208.75 ns |
195.27 ns |
109.48 |
0.36 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
85,879,286.0 ns |
854,337.80 ns |
799,148.11 ns |
157,916.25 |
1,429.11 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-24.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.122 μs |
0.0068 μs |
0.0057 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.117 μs |
0.0127 μs |
0.0119 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.128 μs |
0.0103 μs |
0.0097 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
110.3 ns |
0.03 ns |
0.02 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
146.0 ns |
0.06 ns |
0.05 ns |
1.32 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
115.8 ns |
0.03 ns |
0.03 ns |
1.05 |
- |
- |
0.00 |
| SetInstanceStringField |
712.6 ns |
1.37 ns |
1.28 ns |
6.46 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
124.6 ns |
0.07 ns |
0.07 ns |
1.13 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
145.8 ns |
0.05 ns |
0.05 ns |
1.32 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
120.2 ns |
0.02 ns |
0.02 ns |
1.09 |
- |
- |
0.00 |
| SetStaticStringField |
711.0 ns |
1.31 ns |
1.22 ns |
6.45 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
154.2 ns |
0.08 ns |
0.07 ns |
1.40 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
307.5 ns |
0.08 ns |
0.07 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
274.9 ns |
0.10 ns |
0.09 ns |
0.89 |
- |
- |
NA |
| InvokeStaticWithFeedback |
527.4 ns |
0.59 ns |
0.52 ns |
1.72 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
312.2 ns |
0.15 ns |
0.14 ns |
1.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
542.9 ns |
0.41 ns |
0.38 ns |
1.77 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.310 μs |
0.0017 μs |
0.0016 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,978.7 ns |
19.55 ns |
18.28 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
586.7 ns |
0.52 ns |
0.46 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
63,992.4 ns |
276.98 ns |
259.09 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
592.1 ns |
0.23 ns |
0.20 ns |
0.009 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,426,494.3 ns |
80,058.53 ns |
74,886.80 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400822 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
636.1 ns |
0.46 ns |
0.39 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Median |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,021.0 ns |
0.60 ns |
0.47 ns |
1,020.9 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,025.1 ns |
6.53 ns |
6.11 ns |
1,020.7 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,225.5 ns |
1.26 ns |
0.99 ns |
1,225.6 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,645.7 ns |
10.99 ns |
9.74 ns |
4,646.4 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
436.9 ns |
2.68 ns |
2.51 ns |
438.9 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
428.9 ns |
0.25 ns |
0.21 ns |
428.8 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
616.3 ns |
1.06 ns |
0.83 ns |
616.1 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,842.8 ns |
13.13 ns |
12.28 ns |
3,848.4 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
606.53 ns |
0.805 ns |
0.628 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
602.62 ns |
1.040 ns |
0.812 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
793.11 ns |
5.417 ns |
5.067 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,292.26 ns |
18.733 ns |
20.822 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
50.32 ns |
0.308 ns |
0.288 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
48.75 ns |
0.345 ns |
0.306 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
238.73 ns |
0.295 ns |
0.262 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,379.74 ns |
30.243 ns |
28.289 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
543.3 ns |
0.29 ns |
0.24 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,527.5 ns |
12.13 ns |
10.75 ns |
13.85 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,237.4 ns |
2.28 ns |
2.14 ns |
2.28 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,207.4 ns |
0.45 ns |
0.35 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,329.0 ns |
13.50 ns |
11.97 ns |
17.17 |
0.02 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
549.0 ns |
0.58 ns |
0.51 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
601,463.7 ns |
1,458.20 ns |
1,292.66 ns |
1,095.55 |
2.48 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,951.8 ns |
3.64 ns |
3.23 ns |
3.56 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,002.4 ns |
2.42 ns |
2.14 ns |
3.65 |
0.00 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
786,904.8 ns |
1,351.05 ns |
1,054.81 ns |
1,433.33 |
2.25 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
538.3 ns |
0.35 ns |
0.31 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
62,620,077.5 ns |
457,035.37 ns |
427,511.17 ns |
116,332.84 |
771.84 |
250.0000 |
125.0000 |
125.0000 |
16000709 B |
46,513.69 |
| InvokeIntArrayFixed |
100000 |
60,428.5 ns |
542.43 ns |
480.85 ns |
112.26 |
0.87 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,163.0 ns |
193.08 ns |
150.74 ns |
111.77 |
0.28 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
88,751,645.6 ns |
383,634.55 ns |
340,082.04 ns |
164,878.93 |
617.24 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-24.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.153 μs |
0.0077 μs |
0.0064 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.168 μs |
0.0011 μs |
0.0009 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.182 μs |
0.0054 μs |
0.0042 μs |
1.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
111.6 ns |
0.04 ns |
0.03 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
151.7 ns |
0.07 ns |
0.06 ns |
1.36 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
123.5 ns |
0.02 ns |
0.02 ns |
1.11 |
- |
- |
0.00 |
| SetInstanceStringField |
764.5 ns |
1.16 ns |
1.09 ns |
6.85 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
135.1 ns |
0.04 ns |
0.04 ns |
1.21 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
154.3 ns |
0.13 ns |
0.11 ns |
1.38 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
124.7 ns |
0.06 ns |
0.05 ns |
1.12 |
- |
- |
0.00 |
| SetStaticStringField |
767.3 ns |
1.49 ns |
1.39 ns |
6.88 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
150.4 ns |
0.15 ns |
0.14 ns |
1.35 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
364.1 ns |
0.17 ns |
0.16 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
338.3 ns |
0.12 ns |
0.11 ns |
0.93 |
- |
- |
NA |
| InvokeStaticWithFeedback |
536.0 ns |
0.41 ns |
0.37 ns |
1.47 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
390.9 ns |
0.21 ns |
0.20 ns |
1.07 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
548.5 ns |
0.35 ns |
0.31 ns |
1.51 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.400 μs |
0.0037 μs |
0.0034 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,057.2 ns |
2.44 ns |
2.04 ns |
1.00 |
0.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
617.3 ns |
0.47 ns |
0.42 ns |
0.30 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
61,894.4 ns |
156.81 ns |
146.68 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
594.8 ns |
0.34 ns |
0.30 ns |
0.010 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,059,838.3 ns |
133,206.28 ns |
124,601.24 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
640.7 ns |
0.26 ns |
0.20 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,068.4 ns |
5.55 ns |
4.92 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,092.5 ns |
4.63 ns |
4.10 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,323.7 ns |
6.70 ns |
6.27 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,717.0 ns |
11.31 ns |
10.58 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
439.0 ns |
0.89 ns |
0.79 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
458.5 ns |
0.30 ns |
0.26 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
654.8 ns |
0.71 ns |
0.59 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,016.4 ns |
11.42 ns |
10.68 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
633.72 ns |
3.348 ns |
3.132 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
630.35 ns |
0.944 ns |
0.883 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
818.92 ns |
1.225 ns |
0.956 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,331.40 ns |
27.536 ns |
25.757 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
61.09 ns |
1.200 ns |
1.333 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
59.01 ns |
1.139 ns |
1.219 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
252.84 ns |
0.643 ns |
0.602 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,703.18 ns |
10.723 ns |
9.505 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
539.0 ns |
0.80 ns |
0.75 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,337.9 ns |
9.21 ns |
7.19 ns |
13.61 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,202.3 ns |
1.48 ns |
1.31 ns |
2.23 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,203.9 ns |
2.47 ns |
2.31 ns |
2.23 |
0.01 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,554.0 ns |
32.57 ns |
30.47 ns |
17.73 |
0.06 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
544.8 ns |
0.42 ns |
0.38 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
585,327.3 ns |
1,224.49 ns |
1,145.39 ns |
1,074.43 |
2.16 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,939.4 ns |
7.53 ns |
6.29 ns |
3.56 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,949.5 ns |
6.70 ns |
5.94 ns |
3.58 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
784,532.9 ns |
1,192.26 ns |
1,056.91 ns |
1,440.10 |
2.11 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
531.7 ns |
0.35 ns |
0.31 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,601,847.8 ns |
144,247.11 ns |
134,928.84 ns |
113,976.25 |
253.89 |
250.0000 |
125.0000 |
125.0000 |
16000787 B |
46,513.92 |
| InvokeIntArrayFixed |
100000 |
61,632.0 ns |
170.85 ns |
151.45 ns |
115.91 |
0.28 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
61,692.8 ns |
351.56 ns |
311.65 ns |
116.03 |
0.57 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
86,402,059.4 ns |
286,851.41 ns |
254,286.30 ns |
162,499.72 |
470.90 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-24.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.173 μs |
0.0100 μs |
0.0093 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.184 μs |
0.0106 μs |
0.0099 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.169 μs |
0.0110 μs |
0.0103 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
103.0 ns |
0.03 ns |
0.03 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
146.2 ns |
0.27 ns |
0.24 ns |
1.42 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
116.1 ns |
0.03 ns |
0.03 ns |
1.13 |
- |
- |
0.00 |
| SetInstanceStringField |
736.7 ns |
0.96 ns |
0.89 ns |
7.16 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
115.5 ns |
0.04 ns |
0.03 ns |
1.12 |
0.0004 |
24 B |
1.00 |
| SetStaticIntField |
137.8 ns |
0.05 ns |
0.04 ns |
1.34 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
110.9 ns |
0.01 ns |
0.01 ns |
1.08 |
- |
- |
0.00 |
| SetStaticStringField |
737.1 ns |
0.77 ns |
0.72 ns |
7.16 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
160.5 ns |
0.08 ns |
0.08 ns |
1.56 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
303.9 ns |
0.19 ns |
0.18 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
268.5 ns |
0.10 ns |
0.09 ns |
0.88 |
- |
- |
NA |
| InvokeStaticWithFeedback |
540.8 ns |
0.78 ns |
0.73 ns |
1.78 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
311.5 ns |
0.91 ns |
0.76 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
544.9 ns |
0.22 ns |
0.19 ns |
1.79 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.343 μs |
0.0021 μs |
0.0018 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,949.0 ns |
2.83 ns |
2.21 ns |
1.00 |
0.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
589.0 ns |
0.27 ns |
0.24 ns |
0.30 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,528.4 ns |
390.80 ns |
365.55 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
580.5 ns |
0.35 ns |
0.30 ns |
0.010 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,241,560.8 ns |
128,669.22 ns |
120,357.27 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
617.7 ns |
0.26 ns |
0.22 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,028.8 ns |
4.50 ns |
3.99 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,026.8 ns |
5.70 ns |
5.33 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,249.6 ns |
6.75 ns |
5.98 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,591.9 ns |
13.83 ns |
12.26 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
420.3 ns |
1.04 ns |
0.97 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
423.9 ns |
1.41 ns |
1.32 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
626.1 ns |
0.95 ns |
0.79 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,035.3 ns |
11.26 ns |
9.98 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
603.79 ns |
0.558 ns |
0.436 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
593.69 ns |
0.503 ns |
0.446 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
784.77 ns |
5.214 ns |
4.877 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,180.31 ns |
26.755 ns |
25.027 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
51.89 ns |
0.980 ns |
1.006 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
51.57 ns |
0.963 ns |
0.989 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
240.74 ns |
0.423 ns |
0.353 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,520.50 ns |
8.427 ns |
7.470 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
532.1 ns |
0.40 ns |
0.35 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,260.6 ns |
10.33 ns |
9.16 ns |
13.64 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,167.7 ns |
1.17 ns |
0.98 ns |
2.19 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,193.4 ns |
2.24 ns |
1.87 ns |
2.24 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,863.2 ns |
28.98 ns |
27.10 ns |
16.66 |
0.05 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
536.0 ns |
0.37 ns |
0.33 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
572,194.9 ns |
744.99 ns |
622.10 ns |
1,067.56 |
1.29 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,882.7 ns |
6.11 ns |
5.10 ns |
3.51 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,885.4 ns |
8.19 ns |
7.66 ns |
3.52 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
742,329.5 ns |
2,092.11 ns |
1,747.01 ns |
1,384.98 |
3.25 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
542.9 ns |
1.44 ns |
1.35 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,678,778.0 ns |
177,226.37 ns |
165,777.65 ns |
108,084.03 |
393.62 |
250.0000 |
125.0000 |
125.0000 |
16000605 B |
46,513.39 |
| InvokeIntArrayFixed |
100000 |
60,050.8 ns |
349.20 ns |
291.60 ns |
110.61 |
0.58 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,536.7 ns |
216.20 ns |
191.65 ns |
111.51 |
0.43 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
85,270,348.6 ns |
1,366,636.58 ns |
1,278,352.71 ns |
157,064.67 |
2,310.97 |
1000.0000 |
833.3333 |
833.3333 |
27895428 B |
81,091.36 |
core-ubuntu-24.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Median |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.110 μs |
0.0148 μs |
0.0138 μs |
1.098 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.109 μs |
0.0127 μs |
0.0119 μs |
1.101 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.115 μs |
0.0126 μs |
0.0118 μs |
1.107 μs |
1.00 |
0.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
113.5 ns |
0.03 ns |
0.03 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
152.7 ns |
0.04 ns |
0.04 ns |
1.35 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
118.5 ns |
0.02 ns |
0.02 ns |
1.04 |
- |
- |
0.00 |
| SetInstanceStringField |
734.5 ns |
1.61 ns |
1.50 ns |
6.47 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
128.5 ns |
0.03 ns |
0.02 ns |
1.13 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
151.2 ns |
0.04 ns |
0.04 ns |
1.33 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
118.3 ns |
0.03 ns |
0.03 ns |
1.04 |
- |
- |
0.00 |
| SetStaticStringField |
724.3 ns |
1.23 ns |
1.15 ns |
6.38 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
157.8 ns |
0.05 ns |
0.04 ns |
1.39 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
302.7 ns |
0.17 ns |
0.16 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
278.9 ns |
0.08 ns |
0.07 ns |
0.92 |
- |
- |
NA |
| InvokeStaticWithFeedback |
529.4 ns |
0.16 ns |
0.14 ns |
1.75 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
316.1 ns |
0.09 ns |
0.09 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
540.3 ns |
0.43 ns |
0.36 ns |
1.78 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.316 μs |
0.0017 μs |
0.0014 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,912.3 ns |
19.85 ns |
18.57 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
578.7 ns |
0.28 ns |
0.23 ns |
0.30 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
58,171.5 ns |
195.04 ns |
182.44 ns |
1.000 |
0.00 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
579.4 ns |
0.34 ns |
0.28 ns |
0.010 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,351,940.0 ns |
151,531.45 ns |
134,328.68 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
639.6 ns |
0.30 ns |
0.27 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,019.4 ns |
7.68 ns |
7.18 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,014.6 ns |
5.78 ns |
5.41 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,221.7 ns |
7.46 ns |
6.98 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,462.3 ns |
10.64 ns |
9.95 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
425.3 ns |
0.27 ns |
0.24 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
425.6 ns |
0.38 ns |
0.33 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
628.4 ns |
0.86 ns |
0.67 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,857.5 ns |
10.92 ns |
10.21 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
593.05 ns |
0.763 ns |
0.713 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
597.22 ns |
1.704 ns |
1.594 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
789.71 ns |
7.037 ns |
6.583 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,141.22 ns |
28.056 ns |
24.871 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
52.30 ns |
1.003 ns |
1.155 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
51.37 ns |
0.982 ns |
1.051 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
243.75 ns |
0.371 ns |
0.347 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,364.38 ns |
12.854 ns |
12.024 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
545.0 ns |
0.35 ns |
0.31 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,241.8 ns |
12.97 ns |
12.13 ns |
13.29 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,236.0 ns |
2.02 ns |
1.89 ns |
2.27 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,212.4 ns |
1.37 ns |
1.15 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,593.3 ns |
35.59 ns |
29.72 ns |
19.44 |
0.05 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
537.3 ns |
0.32 ns |
0.27 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
583,947.5 ns |
1,092.06 ns |
1,021.51 ns |
1,086.85 |
1.91 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,912.2 ns |
4.78 ns |
4.23 ns |
3.56 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,920.3 ns |
5.70 ns |
5.33 ns |
3.57 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
773,902.3 ns |
1,701.70 ns |
1,420.99 ns |
1,440.39 |
2.64 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
536.9 ns |
0.25 ns |
0.22 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,999,792.6 ns |
208,875.47 ns |
195,382.25 ns |
113,613.33 |
355.20 |
333.3333 |
222.2222 |
222.2222 |
16001341 B |
46,515.53 |
| InvokeIntArrayFixed |
100000 |
60,542.6 ns |
475.30 ns |
421.34 ns |
112.76 |
0.76 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,433.6 ns |
329.72 ns |
308.42 ns |
112.56 |
0.56 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
85,822,456.2 ns |
708,645.23 ns |
662,867.18 ns |
159,846.04 |
1,197.23 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-24.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.123 μs |
0.0125 μs |
0.0117 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.124 μs |
0.0133 μs |
0.0124 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.115 μs |
0.0091 μs |
0.0085 μs |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
111.0 ns |
0.05 ns |
0.05 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
155.5 ns |
0.06 ns |
0.06 ns |
1.40 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
120.1 ns |
0.03 ns |
0.03 ns |
1.08 |
- |
- |
0.00 |
| SetInstanceStringField |
742.3 ns |
1.47 ns |
1.30 ns |
6.69 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
128.2 ns |
0.03 ns |
0.03 ns |
1.16 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
158.8 ns |
0.06 ns |
0.05 ns |
1.43 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
120.6 ns |
0.06 ns |
0.05 ns |
1.09 |
- |
- |
0.00 |
| SetStaticStringField |
710.7 ns |
1.01 ns |
0.94 ns |
6.40 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
156.1 ns |
0.06 ns |
0.05 ns |
1.41 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
306.1 ns |
0.14 ns |
0.13 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
270.6 ns |
0.11 ns |
0.10 ns |
0.88 |
- |
- |
NA |
| InvokeStaticWithFeedback |
551.3 ns |
0.41 ns |
0.36 ns |
1.80 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
316.3 ns |
0.10 ns |
0.09 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
537.9 ns |
0.64 ns |
0.56 ns |
1.76 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.337 μs |
0.0007 μs |
0.0005 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,990.9 ns |
10.97 ns |
9.16 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
590.1 ns |
0.55 ns |
0.51 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
61,701.9 ns |
156.32 ns |
146.22 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
597.7 ns |
0.43 ns |
0.38 ns |
0.010 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,034,520.5 ns |
94,532.78 ns |
88,426.02 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
638.4 ns |
0.53 ns |
0.44 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,024.9 ns |
6.46 ns |
5.73 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,036.0 ns |
0.82 ns |
0.64 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,248.6 ns |
6.38 ns |
5.96 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,552.3 ns |
16.05 ns |
12.53 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
447.8 ns |
0.51 ns |
0.45 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
443.5 ns |
0.43 ns |
0.38 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
648.3 ns |
5.99 ns |
5.31 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,907.9 ns |
8.19 ns |
7.26 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
593.11 ns |
2.332 ns |
1.948 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
590.77 ns |
0.491 ns |
0.383 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
782.87 ns |
6.268 ns |
5.863 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,801.36 ns |
69.868 ns |
54.548 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
49.25 ns |
0.303 ns |
0.284 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
49.65 ns |
0.276 ns |
0.258 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
240.23 ns |
0.326 ns |
0.305 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,413.41 ns |
58.948 ns |
55.140 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
544.6 ns |
0.46 ns |
0.40 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,162.2 ns |
9.26 ns |
8.66 ns |
13.15 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,205.8 ns |
1.69 ns |
1.41 ns |
2.21 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,211.6 ns |
1.81 ns |
1.60 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,296.0 ns |
12.80 ns |
10.69 ns |
17.07 |
0.02 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
534.7 ns |
0.27 ns |
0.22 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
601,934.4 ns |
889.03 ns |
742.38 ns |
1,125.72 |
1.41 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,929.3 ns |
4.47 ns |
3.74 ns |
3.61 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,933.1 ns |
7.81 ns |
6.52 ns |
3.62 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
778,934.9 ns |
1,303.70 ns |
1,219.48 ns |
1,456.74 |
2.28 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
528.6 ns |
0.39 ns |
0.35 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,929,673.1 ns |
306,319.70 ns |
286,531.64 ns |
115,262.69 |
529.96 |
250.0000 |
125.0000 |
125.0000 |
16001088 B |
46,514.79 |
| InvokeIntArrayFixed |
100000 |
60,753.0 ns |
263.73 ns |
246.70 ns |
114.93 |
0.46 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
61,081.5 ns |
319.77 ns |
283.46 ns |
115.55 |
0.52 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
87,400,537.8 ns |
529,888.50 ns |
469,732.35 ns |
165,338.50 |
864.84 |
1000.0000 |
833.3333 |
833.3333 |
27894277 B |
81,088.01 |
core-ubuntu-24.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.150 μs |
0.0069 μs |
0.0064 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.167 μs |
0.0017 μs |
0.0014 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.171 μs |
0.0009 μs |
0.0007 μs |
1.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
107.9 ns |
0.02 ns |
0.02 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
153.9 ns |
0.06 ns |
0.05 ns |
1.43 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
120.9 ns |
0.03 ns |
0.03 ns |
1.12 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
751.3 ns |
2.05 ns |
1.92 ns |
6.96 |
0.02 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
135.6 ns |
0.04 ns |
0.04 ns |
1.26 |
0.00 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
150.8 ns |
0.03 ns |
0.02 ns |
1.40 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
126.9 ns |
0.04 ns |
0.04 ns |
1.18 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
748.1 ns |
2.02 ns |
1.89 ns |
6.93 |
0.02 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
148.0 ns |
0.02 ns |
0.02 ns |
1.37 |
0.00 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
375.7 ns |
0.30 ns |
0.27 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
357.2 ns |
0.29 ns |
0.27 ns |
0.95 |
- |
- |
NA |
| InvokeStaticWithFeedback |
530.6 ns |
0.61 ns |
0.54 ns |
1.41 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
395.2 ns |
0.49 ns |
0.46 ns |
1.05 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
546.7 ns |
0.36 ns |
0.32 ns |
1.46 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.324 μs |
0.0024 μs |
0.0022 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,977.0 ns |
4.11 ns |
3.21 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
597.7 ns |
0.34 ns |
0.30 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,886.2 ns |
196.64 ns |
174.31 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
601.2 ns |
0.28 ns |
0.24 ns |
0.010 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,978,143.8 ns |
35,254.42 ns |
29,439.04 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
622.7 ns |
0.40 ns |
0.36 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,065.1 ns |
6.31 ns |
5.90 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,039.3 ns |
5.80 ns |
5.42 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,257.6 ns |
6.16 ns |
5.76 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,729.1 ns |
10.15 ns |
9.50 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
446.0 ns |
1.07 ns |
1.00 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
451.5 ns |
0.78 ns |
0.73 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
654.5 ns |
0.75 ns |
0.63 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,065.7 ns |
12.63 ns |
11.82 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
631.55 ns |
0.895 ns |
0.747 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
632.77 ns |
1.333 ns |
1.247 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
811.40 ns |
4.376 ns |
4.093 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,355.58 ns |
13.394 ns |
11.874 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
59.26 ns |
1.163 ns |
1.244 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
58.95 ns |
1.248 ns |
1.282 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
251.76 ns |
0.517 ns |
0.484 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,627.46 ns |
7.611 ns |
6.747 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
550.3 ns |
0.33 ns |
0.29 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,264.9 ns |
14.00 ns |
13.10 ns |
13.20 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,248.1 ns |
2.13 ns |
1.99 ns |
2.27 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,221.8 ns |
1.35 ns |
1.06 ns |
2.22 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,965.9 ns |
39.76 ns |
37.19 ns |
18.11 |
0.07 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
538.6 ns |
0.32 ns |
0.27 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
580,032.4 ns |
1,495.84 ns |
1,399.21 ns |
1,077.02 |
2.57 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,935.7 ns |
12.35 ns |
11.55 ns |
3.59 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,936.9 ns |
10.74 ns |
8.97 ns |
3.60 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
780,751.4 ns |
1,320.67 ns |
1,102.82 ns |
1,449.72 |
2.09 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
548.4 ns |
0.27 ns |
0.24 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,808,150.5 ns |
150,658.97 ns |
140,926.50 ns |
109,065.51 |
253.09 |
250.0000 |
125.0000 |
125.0000 |
16001392 B |
46,515.67 |
| InvokeIntArrayFixed |
100000 |
60,106.9 ns |
626.28 ns |
585.82 ns |
109.61 |
1.04 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,444.1 ns |
398.10 ns |
372.38 ns |
110.23 |
0.66 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
86,132,432.2 ns |
589,935.31 ns |
551,825.85 ns |
157,070.18 |
976.75 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-24.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Median |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.173 μs |
0.0099 μs |
0.0093 μs |
1.166 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.177 μs |
0.0084 μs |
0.0079 μs |
1.172 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.169 μs |
0.0109 μs |
0.0102 μs |
1.162 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
107.8 ns |
0.03 ns |
0.03 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
155.0 ns |
0.05 ns |
0.04 ns |
1.44 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
116.8 ns |
0.05 ns |
0.05 ns |
1.08 |
- |
- |
0.00 |
| SetInstanceStringField |
734.8 ns |
1.07 ns |
1.00 ns |
6.82 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
124.3 ns |
0.04 ns |
0.04 ns |
1.15 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
153.9 ns |
0.09 ns |
0.07 ns |
1.43 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
112.1 ns |
0.03 ns |
0.02 ns |
1.04 |
- |
- |
0.00 |
| SetStaticStringField |
730.9 ns |
0.77 ns |
0.72 ns |
6.78 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
157.4 ns |
0.05 ns |
0.04 ns |
1.46 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
306.6 ns |
0.12 ns |
0.11 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
276.0 ns |
0.14 ns |
0.13 ns |
0.90 |
- |
- |
NA |
| InvokeStaticWithFeedback |
541.6 ns |
0.32 ns |
0.26 ns |
1.77 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
319.0 ns |
0.13 ns |
0.12 ns |
1.04 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
540.1 ns |
0.27 ns |
0.24 ns |
1.76 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.341 μs |
0.0018 μs |
0.0017 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,992.3 ns |
19.09 ns |
17.86 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
589.1 ns |
0.28 ns |
0.25 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,993.1 ns |
164.10 ns |
137.03 ns |
1.00 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
608.1 ns |
0.27 ns |
0.24 ns |
0.01 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,838,768.7 ns |
70,411.04 ns |
62,417.55 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
631.0 ns |
0.33 ns |
0.29 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,065.4 ns |
7.60 ns |
7.11 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,059.1 ns |
6.69 ns |
6.26 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,277.4 ns |
6.52 ns |
6.10 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,899.0 ns |
8.32 ns |
7.37 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
438.1 ns |
0.25 ns |
0.21 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
434.3 ns |
1.94 ns |
1.82 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
637.0 ns |
1.00 ns |
0.78 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,224.5 ns |
23.82 ns |
22.28 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
613.79 ns |
0.428 ns |
0.380 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
628.35 ns |
4.872 ns |
4.557 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
824.47 ns |
5.552 ns |
5.194 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,701.17 ns |
35.557 ns |
33.260 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
50.62 ns |
0.961 ns |
0.987 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
50.76 ns |
1.035 ns |
1.107 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
243.14 ns |
0.476 ns |
0.445 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
4,043.92 ns |
36.519 ns |
34.159 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
550.1 ns |
0.78 ns |
0.70 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,212.4 ns |
20.19 ns |
18.89 ns |
13.11 |
0.04 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,215.8 ns |
1.83 ns |
1.62 ns |
2.21 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,233.2 ns |
3.47 ns |
3.24 ns |
2.24 |
0.01 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,192.0 ns |
33.06 ns |
30.92 ns |
16.71 |
0.06 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
534.1 ns |
0.65 ns |
0.58 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
576,844.3 ns |
1,370.94 ns |
1,282.37 ns |
1,079.93 |
2.58 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,940.6 ns |
13.74 ns |
12.85 ns |
3.63 |
0.02 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,945.6 ns |
7.80 ns |
7.29 ns |
3.64 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
767,218.8 ns |
1,127.30 ns |
941.35 ns |
1,436.34 |
2.26 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
548.4 ns |
0.58 ns |
0.51 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,037,817.7 ns |
311,303.49 ns |
275,962.44 ns |
109,474.53 |
495.98 |
250.0000 |
125.0000 |
125.0000 |
16000632 B |
46,513.47 |
| InvokeIntArrayFixed |
100000 |
60,351.7 ns |
403.22 ns |
357.45 ns |
110.05 |
0.64 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
61,026.6 ns |
535.95 ns |
475.10 ns |
111.28 |
0.84 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,923,357.2 ns |
819,571.78 ns |
726,529.04 ns |
154,851.47 |
1,287.39 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-24.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.132 μs |
0.0016 μs |
0.0012 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.163 μs |
0.0144 μs |
0.0135 μs |
1.03 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.156 μs |
0.0121 μs |
0.0113 μs |
1.02 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
109.3 ns |
0.04 ns |
0.03 ns |
1.00 |
0.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
150.6 ns |
0.06 ns |
0.05 ns |
1.38 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
117.1 ns |
0.02 ns |
0.02 ns |
1.07 |
0.00 |
- |
- |
0.00 |
| SetInstanceStringField |
725.5 ns |
2.55 ns |
2.26 ns |
6.64 |
0.02 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
125.8 ns |
0.06 ns |
0.05 ns |
1.15 |
0.00 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
149.2 ns |
0.07 ns |
0.06 ns |
1.36 |
0.00 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
118.4 ns |
0.04 ns |
0.03 ns |
1.08 |
0.00 |
- |
- |
0.00 |
| SetStaticStringField |
714.9 ns |
1.06 ns |
1.00 ns |
6.54 |
0.01 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
154.9 ns |
0.06 ns |
0.05 ns |
1.42 |
0.00 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
310.6 ns |
0.16 ns |
0.12 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
272.9 ns |
0.15 ns |
0.14 ns |
0.88 |
- |
- |
NA |
| InvokeStaticWithFeedback |
542.1 ns |
0.46 ns |
0.41 ns |
1.75 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
319.6 ns |
0.17 ns |
0.16 ns |
1.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
542.8 ns |
0.57 ns |
0.50 ns |
1.75 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.332 μs |
0.0026 μs |
0.0020 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,922.3 ns |
3.16 ns |
2.46 ns |
1.00 |
0.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
595.1 ns |
0.69 ns |
0.61 ns |
0.31 |
0.00 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,734.7 ns |
254.14 ns |
237.72 ns |
1.00 |
0.01 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
599.4 ns |
0.38 ns |
0.32 ns |
0.01 |
0.00 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,974,610.2 ns |
178,933.25 ns |
191,456.57 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
640.2 ns |
0.40 ns |
0.36 ns |
0.000 |
0.00 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,022.0 ns |
6.45 ns |
6.03 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,051.7 ns |
6.99 ns |
6.54 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,224.0 ns |
7.28 ns |
6.81 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,584.9 ns |
15.34 ns |
14.35 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
436.3 ns |
0.37 ns |
0.33 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
428.1 ns |
0.21 ns |
0.17 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
634.4 ns |
0.96 ns |
0.75 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,917.2 ns |
17.73 ns |
16.59 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
598.13 ns |
1.244 ns |
1.103 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
607.70 ns |
0.361 ns |
0.302 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
799.89 ns |
7.970 ns |
7.455 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,274.16 ns |
13.528 ns |
11.992 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
52.80 ns |
1.045 ns |
0.978 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
51.55 ns |
0.999 ns |
1.151 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
245.94 ns |
0.397 ns |
0.372 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
3,487.32 ns |
14.013 ns |
13.108 ns |
0.0100 |
688 B |
core-ubuntu-24.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
543.4 ns |
0.81 ns |
0.71 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,263.6 ns |
8.05 ns |
7.13 ns |
13.37 |
0.02 |
0.0305 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,197.0 ns |
1.98 ns |
1.76 ns |
2.20 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,198.8 ns |
1.30 ns |
1.08 ns |
2.21 |
0.00 |
0.0057 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
9,193.9 ns |
35.23 ns |
32.96 ns |
16.92 |
0.06 |
0.0458 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
544.4 ns |
0.49 ns |
0.46 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
572,107.0 ns |
1,066.07 ns |
997.20 ns |
1,050.91 |
1.97 |
1.9531 |
- |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,915.8 ns |
7.47 ns |
6.99 ns |
3.52 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,936.6 ns |
6.23 ns |
5.82 ns |
3.56 |
0.01 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
773,058.3 ns |
2,671.60 ns |
2,230.91 ns |
1,420.04 |
4.12 |
3.9063 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
538.7 ns |
0.48 ns |
0.45 ns |
1.00 |
0.00 |
0.0048 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,085,450.1 ns |
250,311.19 ns |
234,141.25 ns |
111,535.82 |
430.31 |
333.3333 |
222.2222 |
222.2222 |
16001460 B |
46,515.87 |
| InvokeIntArrayFixed |
100000 |
60,258.0 ns |
443.78 ns |
415.11 ns |
111.86 |
0.75 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
60,503.5 ns |
400.59 ns |
374.71 ns |
112.31 |
0.68 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,261,759.5 ns |
645,146.65 ns |
538,726.67 ns |
156,413.98 |
971.48 |
666.6667 |
500.0000 |
500.0000 |
27894040 B |
81,087.33 |
core-ubuntu-24.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.139 μs |
0.0064 μs |
0.0056 μs |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
1.146 μs |
0.0097 μs |
0.0090 μs |
1.01 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.143 μs |
0.0075 μs |
0.0070 μs |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
110.7 ns |
0.04 ns |
0.03 ns |
1.00 |
0.0004 |
24 B |
1.00 |
| SetInstanceIntField |
152.4 ns |
0.05 ns |
0.04 ns |
1.38 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
117.1 ns |
0.05 ns |
0.05 ns |
1.06 |
- |
- |
0.00 |
| SetInstanceStringField |
726.8 ns |
1.00 ns |
0.94 ns |
6.57 |
0.0038 |
288 B |
12.00 |
| GetStaticIntField |
126.1 ns |
0.04 ns |
0.03 ns |
1.14 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
154.9 ns |
0.02 ns |
0.02 ns |
1.40 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
119.6 ns |
0.03 ns |
0.03 ns |
1.08 |
- |
- |
0.00 |
| SetStaticStringField |
719.8 ns |
0.96 ns |
0.90 ns |
6.50 |
0.0038 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
152.9 ns |
0.07 ns |
0.06 ns |
1.38 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
314.9 ns |
0.17 ns |
0.16 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
279.3 ns |
0.07 ns |
0.07 ns |
0.89 |
- |
- |
NA |
| InvokeStaticWithFeedback |
540.9 ns |
0.31 ns |
0.27 ns |
1.72 |
0.0048 |
344 B |
NA |
| InvokeInstanceEmpty |
322.3 ns |
0.14 ns |
0.13 ns |
1.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
547.7 ns |
0.29 ns |
0.26 ns |
1.74 |
0.0048 |
344 B |
NA |
core-ubuntu-24.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.334 μs |
0.0015 μs |
0.0012 μs |
1.00 |
0.0095 |
712 B |
1.00 |
core-ubuntu-24.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,007.6 ns |
5.42 ns |
5.07 ns |
1.00 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
608.8 ns |
0.22 ns |
0.20 ns |
0.30 |
0.0048 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
64,098.5 ns |
202.64 ns |
189.55 ns |
1.000 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
602.8 ns |
0.21 ns |
0.19 ns |
0.009 |
0.0048 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,026,010.1 ns |
71,041.46 ns |
62,976.41 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400890 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
639.7 ns |
0.29 ns |
0.25 ns |
0.000 |
0.0048 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,021.2 ns |
6.59 ns |
5.84 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,029.7 ns |
4.18 ns |
3.71 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,257.4 ns |
3.72 ns |
3.48 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,536.8 ns |
3.76 ns |
3.14 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
438.5 ns |
0.39 ns |
0.35 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
450.6 ns |
0.43 ns |
0.40 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
640.2 ns |
1.14 ns |
0.89 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,908.8 ns |
5.90 ns |
5.23 ns |
0.0076 |
712 B |
core-ubuntu-24.04-arm_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Neoverse-N2, 4 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), Arm64 RyuJIT armv8.0-a
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
605.49 ns |
1.542 ns |
1.204 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
False |
True |
603.48 ns |
0.848 ns |
0.662 ns |
0.0011 |
80 B |
| PredicateSustained |
False |
True |
False |
797.98 ns |
5.016 ns |
4.692 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
4,198.48 ns |
53.600 ns |
50.137 ns |
0.0100 |
768 B |
| PredicateSustained |
True |
False |
False |
48.77 ns |
0.230 ns |
0.215 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
49.79 ns |
0.318 ns |
0.282 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
239.03 ns |
0.430 ns |
0.402 ns |
0.0013 |
96 B |
| PredicateSustained |
True |
True |
True |
4,265.10 ns |
39.039 ns |
47.943 ns |
0.0100 |
688 B |
core-ubuntu-24.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
563.4 ns |
6.46 ns |
6.04 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,381.6 ns |
68.06 ns |
60.33 ns |
11.33 |
0.16 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,234.0 ns |
6.84 ns |
5.71 ns |
2.19 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,248.0 ns |
6.46 ns |
5.39 ns |
2.22 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,410.9 ns |
89.11 ns |
83.36 ns |
14.93 |
0.21 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
519.0 ns |
6.97 ns |
5.82 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
488,795.9 ns |
3,973.06 ns |
3,522.02 ns |
941.87 |
12.16 |
8.7891 |
1.9531 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,914.9 ns |
11.36 ns |
9.48 ns |
3.69 |
0.04 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,910.0 ns |
11.09 ns |
9.83 ns |
3.68 |
0.04 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
653,514.4 ns |
4,179.79 ns |
3,909.78 ns |
1,259.27 |
15.52 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
567.1 ns |
5.91 ns |
5.53 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,949,809.7 ns |
747,945.79 ns |
663,034.46 ns |
102,189.65 |
1,485.76 |
1111.1111 |
1000.0000 |
333.3333 |
16002314 B |
51,289.47 |
| InvokeIntArrayFixed |
100000 |
66,287.3 ns |
465.39 ns |
412.56 ns |
116.89 |
1.31 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
66,071.9 ns |
285.14 ns |
266.72 ns |
116.51 |
1.19 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
80,510,536.7 ns |
960,666.16 ns |
802,199.75 ns |
141,973.61 |
1,912.14 |
2142.8571 |
2000.0000 |
1000.0000 |
27896242 B |
89,411.03 |
core-ubuntu-24.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.140 μs |
0.0060 μs |
0.0056 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.158 μs |
0.0059 μs |
0.0055 μs |
1.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.138 μs |
0.0078 μs |
0.0073 μs |
1.00 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
77.30 ns |
0.768 ns |
0.718 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
87.29 ns |
1.209 ns |
1.131 ns |
1.13 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
90.55 ns |
1.576 ns |
1.474 ns |
1.17 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
612.70 ns |
1.830 ns |
1.622 ns |
7.93 |
0.07 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
88.09 ns |
0.720 ns |
0.674 ns |
1.14 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
94.37 ns |
0.987 ns |
0.924 ns |
1.22 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
86.57 ns |
1.038 ns |
0.920 ns |
1.12 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
625.50 ns |
2.570 ns |
2.279 ns |
8.09 |
0.08 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
89.73 ns |
0.785 ns |
0.734 ns |
1.16 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
320.8 ns |
3.19 ns |
2.98 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
342.6 ns |
2.70 ns |
2.53 ns |
1.07 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
517.6 ns |
6.11 ns |
5.42 ns |
1.61 |
0.02 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
353.5 ns |
4.99 ns |
4.66 ns |
1.10 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
542.2 ns |
6.65 ns |
6.22 ns |
1.69 |
0.02 |
0.0181 |
312 B |
NA |
core-ubuntu-24.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.515 μs |
0.0091 μs |
0.0081 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,086.2 ns |
12.60 ns |
11.17 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
611.1 ns |
8.35 ns |
7.40 ns |
0.29 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
58,769.8 ns |
489.91 ns |
434.29 ns |
1.000 |
0.01 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
575.1 ns |
5.81 ns |
5.43 ns |
0.010 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,383,154.5 ns |
98,729.20 ns |
87,520.87 ns |
1.000 |
0.02 |
70.3125 |
70.3125 |
70.3125 |
2400792 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
634.8 ns |
5.19 ns |
4.60 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,088.0 ns |
11.38 ns |
10.64 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,158.5 ns |
14.84 ns |
13.88 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,394.9 ns |
8.33 ns |
7.39 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,750.3 ns |
22.27 ns |
20.83 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
415.4 ns |
5.90 ns |
5.52 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
416.7 ns |
6.17 ns |
5.77 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
661.6 ns |
2.26 ns |
2.11 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,861.2 ns |
13.73 ns |
12.84 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
538.66 ns |
5.532 ns |
5.174 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
554.14 ns |
6.345 ns |
5.935 ns |
0.0044 |
80 B |
| PredicateSustained |
False |
True |
False |
782.08 ns |
3.358 ns |
2.804 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,106.97 ns |
19.628 ns |
17.400 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
28.87 ns |
0.211 ns |
0.198 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
28.70 ns |
0.320 ns |
0.267 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
198.50 ns |
0.727 ns |
0.645 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,411.59 ns |
18.591 ns |
15.525 ns |
0.0300 |
656 B |
core-ubuntu-24.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
580.2 ns |
7.45 ns |
6.96 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,070.4 ns |
40.76 ns |
38.12 ns |
10.46 |
0.14 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,218.9 ns |
7.07 ns |
5.90 ns |
2.10 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,203.2 ns |
4.24 ns |
3.96 ns |
2.07 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,515.9 ns |
36.05 ns |
31.96 ns |
14.68 |
0.18 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
578.8 ns |
5.68 ns |
5.31 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
430,812.5 ns |
4,308.17 ns |
4,029.87 ns |
744.37 |
9.47 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,901.9 ns |
11.63 ns |
10.88 ns |
3.29 |
0.03 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,891.4 ns |
15.85 ns |
14.82 ns |
3.27 |
0.04 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
667,337.5 ns |
4,662.77 ns |
4,133.42 ns |
1,153.05 |
12.40 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
581.9 ns |
3.66 ns |
3.25 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
64,974,244.2 ns |
588,837.89 ns |
491,706.31 ns |
111,670.53 |
1,012.62 |
1111.1111 |
1000.0000 |
333.3333 |
16001615 B |
51,287.23 |
| InvokeIntArrayFixed |
100000 |
67,975.0 ns |
433.46 ns |
405.45 ns |
116.83 |
0.92 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
67,506.1 ns |
363.46 ns |
322.20 ns |
116.02 |
0.82 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
83,670,415.4 ns |
1,186,139.64 ns |
1,109,515.75 ns |
143,803.44 |
2,002.72 |
2000.0000 |
1833.3333 |
1000.0000 |
27897333 B |
89,414.53 |
core-ubuntu-24.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.118 μs |
0.0062 μs |
0.0055 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.130 μs |
0.0051 μs |
0.0045 μs |
1.01 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.111 μs |
0.0058 μs |
0.0049 μs |
0.99 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
86.48 ns |
0.719 ns |
0.672 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
90.27 ns |
0.827 ns |
0.773 ns |
1.04 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
81.86 ns |
1.012 ns |
0.947 ns |
0.95 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
614.51 ns |
4.260 ns |
3.985 ns |
7.11 |
0.07 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
88.08 ns |
0.590 ns |
0.551 ns |
1.02 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
89.94 ns |
0.903 ns |
0.800 ns |
1.04 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
78.61 ns |
0.845 ns |
0.791 ns |
0.91 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
613.13 ns |
3.121 ns |
2.919 ns |
7.09 |
0.06 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
95.20 ns |
0.592 ns |
0.554 ns |
1.10 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
283.3 ns |
2.23 ns |
2.09 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
264.4 ns |
2.72 ns |
2.54 ns |
0.93 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
545.8 ns |
3.53 ns |
2.95 ns |
1.93 |
0.02 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
284.8 ns |
1.67 ns |
1.48 ns |
1.01 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
570.1 ns |
7.44 ns |
6.60 ns |
2.01 |
0.03 |
0.0181 |
312 B |
NA |
core-ubuntu-24.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.364 μs |
0.0066 μs |
0.0062 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,061.7 ns |
15.92 ns |
14.90 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
593.9 ns |
6.61 ns |
6.18 ns |
0.29 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
56,581.8 ns |
611.11 ns |
571.64 ns |
1.00 |
0.01 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
579.4 ns |
6.65 ns |
6.22 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,413,772.7 ns |
108,264.92 ns |
101,271.08 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400708 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
689.7 ns |
6.86 ns |
6.42 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,099.8 ns |
11.09 ns |
10.38 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,055.5 ns |
13.21 ns |
12.35 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,300.3 ns |
4.90 ns |
4.58 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,605.5 ns |
26.69 ns |
24.97 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
416.3 ns |
5.41 ns |
5.07 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
436.7 ns |
4.87 ns |
4.55 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
678.0 ns |
5.93 ns |
5.54 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,908.8 ns |
25.17 ns |
23.55 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
535.47 ns |
4.467 ns |
3.960 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
526.27 ns |
6.514 ns |
6.093 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
735.97 ns |
6.272 ns |
5.560 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,929.23 ns |
35.361 ns |
33.076 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
27.61 ns |
0.286 ns |
0.268 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
27.85 ns |
0.267 ns |
0.249 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
190.86 ns |
0.792 ns |
0.702 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,222.19 ns |
18.169 ns |
16.107 ns |
0.0350 |
656 B |
core-ubuntu-24.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
572.7 ns |
6.76 ns |
6.33 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,911.1 ns |
45.83 ns |
38.27 ns |
10.32 |
0.13 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,206.4 ns |
10.02 ns |
8.37 ns |
2.11 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,208.6 ns |
7.08 ns |
6.62 ns |
2.11 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,251.4 ns |
65.77 ns |
61.52 ns |
14.41 |
0.19 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
558.7 ns |
7.42 ns |
6.58 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
427,084.2 ns |
1,735.83 ns |
1,538.77 ns |
764.58 |
9.22 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,822.9 ns |
6.51 ns |
5.44 ns |
3.26 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,812.9 ns |
8.19 ns |
7.26 ns |
3.25 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
610,236.9 ns |
3,449.05 ns |
2,880.11 ns |
1,092.47 |
13.56 |
15.6250 |
5.8594 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
544.8 ns |
3.96 ns |
3.51 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
55,826,635.3 ns |
419,428.26 ns |
371,812.23 ns |
102,474.93 |
916.74 |
1111.1111 |
1000.0000 |
333.3333 |
16002145 B |
51,288.93 |
| InvokeIntArrayFixed |
100000 |
65,500.6 ns |
387.47 ns |
362.44 ns |
120.23 |
0.99 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
65,116.7 ns |
255.74 ns |
226.71 ns |
119.53 |
0.84 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
76,813,804.3 ns |
1,472,110.79 ns |
1,377,013.34 ns |
140,998.81 |
2,599.90 |
2142.8571 |
2000.0000 |
1000.0000 |
27896433 B |
89,411.64 |
core-ubuntu-24.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.110 μs |
0.0067 μs |
0.0059 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.101 μs |
0.0046 μs |
0.0038 μs |
0.99 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.102 μs |
0.0043 μs |
0.0036 μs |
0.99 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
72.03 ns |
0.623 ns |
0.553 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
79.43 ns |
0.629 ns |
0.558 ns |
1.10 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
77.18 ns |
0.352 ns |
0.312 ns |
1.07 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
584.31 ns |
4.748 ns |
4.442 ns |
8.11 |
0.08 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
99.65 ns |
1.048 ns |
0.980 ns |
1.38 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
82.84 ns |
0.982 ns |
0.919 ns |
1.15 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
73.07 ns |
0.527 ns |
0.493 ns |
1.01 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
545.36 ns |
3.238 ns |
2.870 ns |
7.57 |
0.07 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
84.10 ns |
0.703 ns |
0.623 ns |
1.17 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
273.6 ns |
3.41 ns |
3.19 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
268.0 ns |
3.66 ns |
3.42 ns |
0.98 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
521.3 ns |
6.95 ns |
6.50 ns |
1.91 |
0.03 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
291.7 ns |
2.34 ns |
2.19 ns |
1.07 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
570.0 ns |
4.51 ns |
4.22 ns |
2.08 |
0.03 |
0.0181 |
312 B |
NA |
core-ubuntu-24.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.385 μs |
0.0050 μs |
0.0047 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,009.6 ns |
13.03 ns |
12.19 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
611.3 ns |
5.44 ns |
4.83 ns |
0.30 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
58,576.5 ns |
712.07 ns |
666.07 ns |
1.00 |
0.02 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
590.1 ns |
5.12 ns |
4.79 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,999,846.0 ns |
118,007.51 ns |
104,610.58 ns |
1.000 |
0.02 |
70.3125 |
70.3125 |
70.3125 |
2400747 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
651.3 ns |
6.45 ns |
6.03 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,032.0 ns |
18.62 ns |
16.51 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,036.8 ns |
13.14 ns |
11.64 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,282.9 ns |
8.39 ns |
7.85 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,312.0 ns |
17.02 ns |
15.09 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
457.6 ns |
3.95 ns |
3.69 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
424.4 ns |
6.43 ns |
6.01 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
664.1 ns |
6.90 ns |
6.12 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,710.8 ns |
23.75 ns |
21.05 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
508.70 ns |
4.232 ns |
3.534 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
515.02 ns |
5.463 ns |
5.110 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
723.96 ns |
2.168 ns |
1.922 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,806.31 ns |
37.104 ns |
32.892 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
29.47 ns |
0.268 ns |
0.251 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
28.86 ns |
0.265 ns |
0.235 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
192.64 ns |
0.795 ns |
0.664 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,147.08 ns |
15.030 ns |
13.323 ns |
0.0350 |
656 B |
core-ubuntu-24.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
573.0 ns |
2.98 ns |
2.79 ns |
1.00 |
0.01 |
0.0124 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,523.3 ns |
51.98 ns |
48.62 ns |
11.38 |
0.10 |
0.0763 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,203.2 ns |
9.69 ns |
8.59 ns |
2.10 |
0.02 |
0.0153 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,179.3 ns |
10.70 ns |
10.01 ns |
2.06 |
0.02 |
0.0153 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,823.5 ns |
76.42 ns |
71.49 ns |
15.40 |
0.14 |
0.1373 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
554.9 ns |
3.50 ns |
3.27 ns |
1.00 |
0.01 |
0.0124 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
486,485.0 ns |
4,285.24 ns |
4,008.42 ns |
876.67 |
8.61 |
5.8594 |
1.9531 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,962.7 ns |
8.65 ns |
7.67 ns |
3.54 |
0.02 |
0.0153 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,923.5 ns |
9.74 ns |
8.63 ns |
3.47 |
0.02 |
0.0153 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
718,401.7 ns |
3,632.66 ns |
3,220.26 ns |
1,294.60 |
9.29 |
9.7656 |
2.9297 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
556.5 ns |
4.61 ns |
4.31 ns |
1.00 |
0.01 |
0.0124 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
67,934,673.7 ns |
453,591.91 ns |
402,097.41 ns |
122,092.20 |
1,155.57 |
875.0000 |
750.0000 |
375.0000 |
16003048 B |
51,291.82 |
| InvokeIntArrayFixed |
100000 |
74,749.9 ns |
484.13 ns |
429.17 ns |
134.34 |
1.26 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
75,460.1 ns |
683.30 ns |
639.16 ns |
135.62 |
1.51 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
89,921,711.4 ns |
1,761,798.61 ns |
2,097,296.11 ns |
161,607.30 |
3,880.48 |
1666.6667 |
1500.0000 |
1000.0000 |
27897749 B |
89,415.86 |
core-ubuntu-24.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.120 μs |
0.0091 μs |
0.0085 μs |
1.00 |
0.0134 |
360 B |
1.00 |
| NewWithSignature |
1.132 μs |
0.0069 μs |
0.0065 μs |
1.01 |
0.0134 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.135 μs |
0.0108 μs |
0.0101 μs |
1.01 |
0.0134 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
77.55 ns |
0.529 ns |
0.469 ns |
1.00 |
0.01 |
0.0010 |
24 B |
1.00 |
| SetInstanceIntField |
87.00 ns |
0.465 ns |
0.435 ns |
1.12 |
0.01 |
0.0010 |
24 B |
1.00 |
| GetInstanceStringField |
75.81 ns |
0.448 ns |
0.420 ns |
0.98 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
653.66 ns |
4.889 ns |
4.573 ns |
8.43 |
0.08 |
0.0095 |
256 B |
10.67 |
| GetStaticIntField |
82.74 ns |
0.339 ns |
0.301 ns |
1.07 |
0.01 |
0.0010 |
24 B |
1.00 |
| SetStaticIntField |
84.86 ns |
0.719 ns |
0.672 ns |
1.09 |
0.01 |
0.0010 |
24 B |
1.00 |
| GetStaticStringField |
71.17 ns |
0.564 ns |
0.471 ns |
0.92 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
649.79 ns |
3.562 ns |
3.332 ns |
8.38 |
0.06 |
0.0095 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
83.98 ns |
0.313 ns |
0.261 ns |
1.08 |
0.01 |
0.0010 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
270.8 ns |
1.94 ns |
1.82 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
270.2 ns |
2.57 ns |
2.40 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
496.1 ns |
2.26 ns |
2.11 ns |
1.83 |
0.01 |
0.0124 |
312 B |
NA |
| InvokeInstanceEmpty |
266.4 ns |
1.02 ns |
0.90 ns |
0.98 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
566.2 ns |
3.55 ns |
3.32 ns |
2.09 |
0.02 |
0.0124 |
312 B |
NA |
core-ubuntu-24.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.366 μs |
0.0132 μs |
0.0124 μs |
1.00 |
0.0267 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,987.2 ns |
16.71 ns |
15.64 ns |
1.00 |
0.01 |
0.0229 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
588.3 ns |
4.97 ns |
4.40 ns |
0.30 |
0.00 |
0.0114 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
53,140.2 ns |
414.49 ns |
387.72 ns |
1.00 |
0.01 |
0.9155 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
616.4 ns |
3.70 ns |
3.28 ns |
0.01 |
0.00 |
0.0114 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,978,120.9 ns |
152,684.18 ns |
198,532.58 ns |
1.001 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400762 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
547.8 ns |
5.29 ns |
4.95 ns |
0.000 |
0.00 |
0.0114 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
986.0 ns |
8.56 ns |
7.15 ns |
0.0038 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
993.3 ns |
9.43 ns |
8.82 ns |
0.0038 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,324.5 ns |
8.02 ns |
7.51 ns |
0.0076 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,498.1 ns |
40.04 ns |
35.50 ns |
0.0229 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
395.2 ns |
2.65 ns |
2.35 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
398.0 ns |
2.53 ns |
2.36 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
701.3 ns |
4.47 ns |
4.18 ns |
0.0048 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,890.1 ns |
34.41 ns |
32.19 ns |
0.0229 |
680 B |
core-ubuntu-24.04_net10.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
501.44 ns |
1.614 ns |
1.510 ns |
0.0030 |
80 B |
| PredicateSustained |
False |
False |
True |
566.31 ns |
5.015 ns |
4.691 ns |
0.0022 |
80 B |
| PredicateSustained |
False |
True |
False |
786.40 ns |
12.009 ns |
11.233 ns |
0.0057 |
176 B |
| PredicateSustained |
False |
True |
True |
3,907.07 ns |
68.023 ns |
63.628 ns |
0.0200 |
736 B |
| PredicateSustained |
True |
False |
False |
45.34 ns |
0.929 ns |
1.473 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
45.27 ns |
0.895 ns |
1.591 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
229.39 ns |
1.860 ns |
1.740 ns |
0.0038 |
96 B |
| PredicateSustained |
True |
True |
True |
3,238.32 ns |
18.266 ns |
17.086 ns |
0.0250 |
656 B |
core-ubuntu-24.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
533.1 ns |
3.45 ns |
3.06 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,148.6 ns |
62.88 ns |
58.82 ns |
11.53 |
0.12 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,172.4 ns |
11.93 ns |
11.16 ns |
2.20 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,190.3 ns |
15.33 ns |
13.59 ns |
2.23 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,179.6 ns |
61.51 ns |
51.36 ns |
15.34 |
0.13 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
537.8 ns |
6.67 ns |
6.24 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
437,021.9 ns |
3,780.77 ns |
3,536.53 ns |
812.66 |
11.11 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,599.7 ns |
9.34 ns |
8.28 ns |
2.97 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,610.5 ns |
10.62 ns |
9.93 ns |
2.99 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
632,378.0 ns |
11,400.27 ns |
10,663.82 ns |
1,175.93 |
23.29 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
530.4 ns |
10.45 ns |
9.77 ns |
1.00 |
0.03 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
55,808,211.1 ns |
1,069,309.19 ns |
1,313,207.83 ns |
105,255.96 |
3,059.25 |
1111.1111 |
1000.0000 |
333.3333 |
16002736 B |
51,290.82 |
| InvokeIntArrayFixed |
100000 |
41,202.2 ns |
821.94 ns |
728.62 ns |
77.71 |
1.91 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
41,155.7 ns |
804.52 ns |
1,127.83 ns |
77.62 |
2.50 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
79,267,006.6 ns |
1,205,121.60 ns |
1,006,331.12 ns |
149,499.95 |
3,222.83 |
2142.8571 |
2000.0000 |
1000.0000 |
27897275 B |
89,414.34 |
core-ubuntu-24.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.120 μs |
0.0080 μs |
0.0067 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.115 μs |
0.0099 μs |
0.0083 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.110 μs |
0.0050 μs |
0.0047 μs |
0.99 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
83.14 ns |
0.597 ns |
0.529 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
87.29 ns |
0.977 ns |
0.914 ns |
1.05 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
77.32 ns |
0.689 ns |
0.576 ns |
0.93 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
595.46 ns |
4.173 ns |
3.485 ns |
7.16 |
0.06 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
88.11 ns |
0.443 ns |
0.414 ns |
1.06 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
84.74 ns |
0.803 ns |
0.712 ns |
1.02 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
77.59 ns |
0.566 ns |
0.502 ns |
0.93 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
606.20 ns |
5.773 ns |
5.400 ns |
7.29 |
0.08 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
87.06 ns |
1.003 ns |
0.938 ns |
1.05 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
268.8 ns |
3.01 ns |
2.82 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
259.9 ns |
1.88 ns |
1.75 ns |
0.97 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
519.3 ns |
5.80 ns |
5.43 ns |
1.93 |
0.03 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
275.9 ns |
4.37 ns |
3.87 ns |
1.03 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
545.8 ns |
4.15 ns |
3.68 ns |
2.03 |
0.02 |
0.0181 |
312 B |
NA |
core-ubuntu-24.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.464 μs |
0.0070 μs |
0.0062 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,918.9 ns |
8.64 ns |
7.21 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
589.1 ns |
5.60 ns |
4.96 ns |
0.31 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
53,039.4 ns |
847.95 ns |
793.17 ns |
1.00 |
0.02 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
571.2 ns |
5.58 ns |
5.22 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,920,534.9 ns |
133,614.50 ns |
142,966.02 ns |
1.000 |
0.03 |
70.3125 |
70.3125 |
70.3125 |
2400954 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
619.9 ns |
3.86 ns |
3.23 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,016.7 ns |
12.16 ns |
10.78 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,044.3 ns |
13.74 ns |
12.85 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,282.0 ns |
8.38 ns |
7.84 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,370.8 ns |
24.10 ns |
22.55 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
403.3 ns |
4.37 ns |
3.65 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
404.8 ns |
6.45 ns |
6.03 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
661.3 ns |
1.67 ns |
1.48 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,683.0 ns |
27.16 ns |
25.41 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
517.47 ns |
4.024 ns |
3.567 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
499.24 ns |
4.117 ns |
3.851 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
770.68 ns |
12.290 ns |
11.496 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,891.28 ns |
27.404 ns |
22.884 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
28.44 ns |
0.289 ns |
0.256 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
28.01 ns |
0.209 ns |
0.196 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
192.15 ns |
2.632 ns |
2.462 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,194.78 ns |
39.171 ns |
36.641 ns |
0.0350 |
656 B |
core-ubuntu-24.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Median |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
299.0 ns |
1.87 ns |
1.66 ns |
299.1 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
3,880.3 ns |
32.03 ns |
26.75 ns |
3,879.8 ns |
12.98 |
0.11 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
608.2 ns |
9.42 ns |
7.87 ns |
606.0 ns |
2.03 |
0.03 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
602.7 ns |
4.07 ns |
3.17 ns |
602.6 ns |
2.02 |
0.01 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
6,328.5 ns |
125.67 ns |
256.71 ns |
6,208.6 ns |
21.17 |
0.86 |
0.0381 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
301.0 ns |
1.87 ns |
1.66 ns |
300.8 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
309,705.5 ns |
5,194.12 ns |
5,557.64 ns |
308,101.4 ns |
1,028.91 |
18.78 |
1.4648 |
0.4883 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,122.8 ns |
22.23 ns |
42.29 ns |
1,100.8 ns |
3.73 |
0.14 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,082.1 ns |
9.71 ns |
7.58 ns |
1,081.7 ns |
3.60 |
0.03 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
520,388.4 ns |
5,932.11 ns |
4,953.58 ns |
518,426.9 ns |
1,728.84 |
18.31 |
2.9297 |
- |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
301.7 ns |
1.74 ns |
1.46 ns |
301.7 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
34,880,096.6 ns |
270,027.64 ns |
210,819.82 ns |
34,919,171.7 ns |
115,612.24 |
860.02 |
333.3333 |
266.6667 |
200.0000 |
16001075 B |
51,285.50 |
| InvokeIntArrayFixed |
100000 |
50,343.0 ns |
631.14 ns |
559.49 ns |
50,239.8 ns |
166.87 |
1.95 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
50,398.6 ns |
245.97 ns |
192.04 ns |
50,387.3 ns |
167.05 |
0.99 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
63,866,287.2 ns |
1,082,892.83 ns |
2,137,524.96 ns |
63,775,089.5 ns |
211,688.77 |
7,084.88 |
1000.0000 |
875.0000 |
875.0000 |
27896605 B |
89,412.20 |
core-ubuntu-24.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
630.6 ns |
4.89 ns |
3.82 ns |
1.00 |
0.01 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
639.4 ns |
12.13 ns |
9.47 ns |
1.01 |
0.02 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
638.1 ns |
4.81 ns |
4.02 ns |
1.01 |
0.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
45.51 ns |
0.505 ns |
0.473 ns |
1.00 |
0.01 |
0.0002 |
24 B |
1.00 |
| SetInstanceIntField |
51.73 ns |
0.516 ns |
0.431 ns |
1.14 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
46.91 ns |
0.943 ns |
1.602 ns |
1.03 |
0.04 |
- |
- |
0.00 |
| SetInstanceStringField |
359.85 ns |
4.320 ns |
3.373 ns |
7.91 |
0.11 |
0.0029 |
256 B |
10.67 |
| GetStaticIntField |
58.23 ns |
0.256 ns |
0.213 ns |
1.28 |
0.01 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
50.99 ns |
0.438 ns |
0.342 ns |
1.12 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
46.79 ns |
0.832 ns |
0.650 ns |
1.03 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
362.79 ns |
5.365 ns |
4.189 ns |
7.97 |
0.12 |
0.0029 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
51.59 ns |
0.844 ns |
0.705 ns |
1.13 |
0.02 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
150.7 ns |
0.93 ns |
0.77 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
151.3 ns |
0.86 ns |
0.67 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
298.7 ns |
4.69 ns |
4.39 ns |
1.98 |
0.03 |
0.0033 |
312 B |
NA |
| InvokeInstanceEmpty |
157.0 ns |
0.79 ns |
0.74 ns |
1.04 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
308.5 ns |
1.12 ns |
0.94 ns |
2.05 |
0.01 |
0.0033 |
312 B |
NA |
core-ubuntu-24.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
736.7 ns |
13.29 ns |
16.81 ns |
1.00 |
0.03 |
0.0076 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,092.6 ns |
6.56 ns |
5.81 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
317.2 ns |
5.09 ns |
3.97 ns |
0.29 |
0.00 |
0.0033 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
41,889.2 ns |
224.27 ns |
187.28 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
316.6 ns |
3.39 ns |
3.33 ns |
0.008 |
0.00 |
0.0033 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
4,604,556.1 ns |
69,847.22 ns |
61,917.74 ns |
1.000 |
0.02 |
70.3125 |
70.3125 |
70.3125 |
2400462 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
326.4 ns |
2.81 ns |
2.34 ns |
0.000 |
0.00 |
0.0033 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
542.6 ns |
5.81 ns |
4.85 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
548.5 ns |
3.88 ns |
3.24 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
729.6 ns |
11.13 ns |
15.96 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
2,638.4 ns |
37.19 ns |
32.97 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
224.7 ns |
1.11 ns |
1.04 ns |
0.0002 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
225.6 ns |
0.85 ns |
0.75 ns |
0.0002 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
373.7 ns |
2.09 ns |
1.63 ns |
0.0014 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
2,286.1 ns |
28.61 ns |
22.34 ns |
0.0076 |
680 B |
core-ubuntu-24.04_net10.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Median |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
314.88 ns |
4.756 ns |
5.089 ns |
313.65 ns |
0.0006 |
80 B |
| PredicateSustained |
False |
False |
True |
313.69 ns |
4.935 ns |
5.068 ns |
312.00 ns |
0.0009 |
80 B |
| PredicateSustained |
False |
True |
False |
444.56 ns |
4.492 ns |
3.507 ns |
444.06 ns |
0.0018 |
176 B |
| PredicateSustained |
False |
True |
True |
2,393.63 ns |
40.794 ns |
74.594 ns |
2,363.90 ns |
0.0067 |
736 B |
| PredicateSustained |
True |
False |
False |
34.98 ns |
0.604 ns |
1.312 ns |
34.31 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
34.98 ns |
0.096 ns |
0.080 ns |
34.97 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
140.21 ns |
2.233 ns |
1.979 ns |
139.31 ns |
0.0011 |
96 B |
| PredicateSustained |
True |
True |
True |
1,995.59 ns |
30.518 ns |
25.484 ns |
1,991.32 ns |
0.0067 |
656 B |
core-ubuntu-24.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
385.2 ns |
3.67 ns |
3.44 ns |
1.00 |
0.01 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
4,209.5 ns |
36.98 ns |
34.59 ns |
10.93 |
0.13 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
895.1 ns |
4.17 ns |
3.70 ns |
2.32 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
896.5 ns |
4.89 ns |
4.08 ns |
2.33 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
5,931.6 ns |
41.12 ns |
34.33 ns |
15.40 |
0.16 |
0.2060 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
389.5 ns |
1.94 ns |
1.62 ns |
1.00 |
0.01 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
306,087.7 ns |
1,986.11 ns |
1,658.49 ns |
785.82 |
5.17 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,231.9 ns |
6.02 ns |
5.63 ns |
3.16 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,248.3 ns |
6.00 ns |
5.32 ns |
3.20 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
464,824.3 ns |
1,457.56 ns |
1,137.97 ns |
1,193.34 |
5.55 |
15.6250 |
7.3242 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
372.3 ns |
2.06 ns |
1.72 ns |
1.00 |
0.01 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
38,571,731.4 ns |
493,259.77 ns |
461,395.49 ns |
103,596.58 |
1,285.95 |
1142.8571 |
1000.0000 |
357.1429 |
16001571 B |
51,287.09 |
| InvokeIntArrayFixed |
100000 |
27,049.8 ns |
54.20 ns |
45.26 ns |
72.65 |
0.34 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
27,017.7 ns |
118.06 ns |
110.43 ns |
72.56 |
0.43 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
60,355,801.5 ns |
717,808.49 ns |
599,402.60 ns |
162,104.59 |
1,711.28 |
2125.0000 |
2000.0000 |
1000.0000 |
27896743 B |
89,412.64 |
core-ubuntu-24.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
788.9 ns |
4.34 ns |
4.06 ns |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
795.9 ns |
3.71 ns |
3.29 ns |
1.01 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
786.6 ns |
5.48 ns |
4.58 ns |
1.00 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
62.45 ns |
0.351 ns |
0.329 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
65.89 ns |
0.270 ns |
0.253 ns |
1.06 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
61.67 ns |
0.473 ns |
0.443 ns |
0.99 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
379.38 ns |
4.381 ns |
4.098 ns |
6.08 |
0.07 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
66.95 ns |
0.539 ns |
0.505 ns |
1.07 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
65.04 ns |
0.593 ns |
0.555 ns |
1.04 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
60.39 ns |
0.630 ns |
0.589 ns |
0.97 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
380.06 ns |
2.303 ns |
2.041 ns |
6.09 |
0.04 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
69.14 ns |
0.664 ns |
0.589 ns |
1.11 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
189.6 ns |
0.87 ns |
0.77 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
192.4 ns |
1.16 ns |
1.03 ns |
1.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
370.5 ns |
2.78 ns |
2.32 ns |
1.95 |
0.0186 |
312 B |
NA |
| InvokeInstanceEmpty |
190.3 ns |
1.43 ns |
1.12 ns |
1.00 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
393.7 ns |
1.85 ns |
1.64 ns |
2.08 |
0.0186 |
312 B |
NA |
core-ubuntu-24.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
990.4 ns |
4.22 ns |
3.53 ns |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,551.8 ns |
7.64 ns |
7.15 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
432.6 ns |
1.72 ns |
1.52 ns |
0.28 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
47,125.5 ns |
755.27 ns |
706.48 ns |
1.000 |
0.02 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
418.6 ns |
2.34 ns |
2.08 ns |
0.009 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,451,964.2 ns |
92,357.63 ns |
81,872.63 ns |
1.000 |
0.02 |
70.3125 |
70.3125 |
70.3125 |
2400978 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
426.9 ns |
2.01 ns |
1.78 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
756.4 ns |
5.07 ns |
4.50 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
747.6 ns |
3.68 ns |
3.26 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
948.1 ns |
5.04 ns |
4.21 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,176.2 ns |
11.46 ns |
10.72 ns |
0.0420 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
293.1 ns |
1.89 ns |
1.77 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
283.7 ns |
2.01 ns |
1.78 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
512.6 ns |
5.11 ns |
4.53 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
2,767.7 ns |
7.27 ns |
6.45 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
361.52 ns |
3.653 ns |
3.417 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
False |
True |
379.27 ns |
2.964 ns |
2.627 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
True |
False |
488.40 ns |
1.067 ns |
0.833 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
2,781.99 ns |
15.399 ns |
12.859 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
24.06 ns |
0.227 ns |
0.201 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
23.89 ns |
0.261 ns |
0.244 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
144.04 ns |
0.708 ns |
0.628 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,259.33 ns |
19.886 ns |
18.602 ns |
0.0367 |
656 B |
core-ubuntu-24.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
294.3 ns |
4.45 ns |
3.95 ns |
1.00 |
0.02 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
3,980.3 ns |
68.03 ns |
69.86 ns |
13.53 |
0.29 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
694.0 ns |
4.09 ns |
3.83 ns |
2.36 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
700.7 ns |
9.33 ns |
7.79 ns |
2.38 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
5,233.3 ns |
31.67 ns |
24.73 ns |
17.79 |
0.24 |
0.2060 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
305.3 ns |
2.92 ns |
2.28 ns |
1.00 |
0.01 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
309,465.7 ns |
3,703.22 ns |
3,282.80 ns |
1,013.64 |
12.65 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,131.2 ns |
15.11 ns |
11.79 ns |
3.71 |
0.05 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,148.8 ns |
12.01 ns |
10.03 ns |
3.76 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
386,102.0 ns |
5,952.26 ns |
5,276.52 ns |
1,264.66 |
18.98 |
15.6250 |
7.3242 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
299.3 ns |
2.43 ns |
2.03 ns |
1.00 |
0.01 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
37,583,504.7 ns |
688,370.41 ns |
574,820.47 ns |
125,579.05 |
2,025.93 |
1142.8571 |
1000.0000 |
357.1429 |
16001409 B |
51,286.57 |
| InvokeIntArrayFixed |
100000 |
38,235.5 ns |
267.76 ns |
237.36 ns |
127.76 |
1.14 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
38,208.7 ns |
236.77 ns |
221.47 ns |
127.67 |
1.10 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
51,124,435.5 ns |
1,019,660.95 ns |
903,902.88 ns |
170,823.82 |
3,126.17 |
1900.0000 |
1800.0000 |
800.0000 |
27893391 B |
89,401.89 |
core-ubuntu-24.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
645.5 ns |
6.40 ns |
5.34 ns |
1.00 |
0.01 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
621.3 ns |
11.86 ns |
11.09 ns |
0.96 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
639.8 ns |
6.61 ns |
5.52 ns |
0.99 |
0.01 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
44.98 ns |
0.902 ns |
1.002 ns |
1.00 |
0.03 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
51.95 ns |
0.395 ns |
0.330 ns |
1.16 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
52.13 ns |
0.917 ns |
0.813 ns |
1.16 |
0.03 |
- |
- |
0.00 |
| SetInstanceStringField |
367.22 ns |
4.553 ns |
3.802 ns |
8.17 |
0.19 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
54.01 ns |
0.711 ns |
0.665 ns |
1.20 |
0.03 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
56.83 ns |
0.318 ns |
0.248 ns |
1.26 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
49.52 ns |
0.535 ns |
0.500 ns |
1.10 |
0.03 |
- |
- |
0.00 |
| SetStaticStringField |
362.32 ns |
7.161 ns |
6.348 ns |
8.06 |
0.22 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
47.53 ns |
0.534 ns |
0.446 ns |
1.06 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
170.2 ns |
3.42 ns |
3.66 ns |
1.00 |
0.03 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
167.5 ns |
1.45 ns |
1.35 ns |
0.98 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
286.3 ns |
3.46 ns |
2.89 ns |
1.68 |
0.04 |
0.0186 |
312 B |
NA |
| InvokeInstanceEmpty |
171.6 ns |
1.75 ns |
1.46 ns |
1.01 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
282.9 ns |
1.52 ns |
1.27 ns |
1.66 |
0.04 |
0.0186 |
312 B |
NA |
core-ubuntu-24.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
786.6 ns |
3.93 ns |
3.48 ns |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,224.5 ns |
8.13 ns |
7.60 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
335.7 ns |
4.30 ns |
3.36 ns |
0.27 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
36,328.9 ns |
417.77 ns |
348.85 ns |
1.000 |
0.01 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
332.1 ns |
4.73 ns |
3.95 ns |
0.009 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
5,637,773.6 ns |
109,417.41 ns |
117,075.41 ns |
1.000 |
0.03 |
70.3125 |
70.3125 |
70.3125 |
2400960 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
336.7 ns |
4.09 ns |
3.62 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
620.4 ns |
6.53 ns |
5.45 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
621.9 ns |
10.82 ns |
9.60 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
737.8 ns |
7.09 ns |
5.53 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
2,561.1 ns |
40.81 ns |
40.08 ns |
0.0420 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
207.2 ns |
3.68 ns |
3.07 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
199.3 ns |
2.45 ns |
2.05 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
369.0 ns |
6.13 ns |
5.73 ns |
0.0072 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
2,270.1 ns |
37.42 ns |
35.01 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
308.51 ns |
6.106 ns |
8.358 ns |
0.0047 |
80 B |
| PredicateSustained |
False |
False |
True |
305.44 ns |
5.662 ns |
4.728 ns |
0.0047 |
80 B |
| PredicateSustained |
False |
True |
False |
421.27 ns |
7.941 ns |
7.040 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
2,295.77 ns |
38.618 ns |
34.233 ns |
0.0433 |
736 B |
| PredicateSustained |
True |
False |
False |
29.27 ns |
0.585 ns |
0.858 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
28.98 ns |
0.360 ns |
0.301 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
129.06 ns |
2.437 ns |
2.160 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
1,821.74 ns |
31.546 ns |
29.508 ns |
0.0367 |
656 B |
core-ubuntu-24.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
490.0 ns |
4.25 ns |
3.98 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,633.7 ns |
21.70 ns |
19.23 ns |
11.50 |
0.10 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,145.9 ns |
4.14 ns |
3.67 ns |
2.34 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,134.1 ns |
6.33 ns |
5.61 ns |
2.31 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
7,958.7 ns |
42.68 ns |
37.84 ns |
16.24 |
0.15 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
472.5 ns |
3.02 ns |
2.83 ns |
1.00 |
0.01 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
408,789.4 ns |
1,735.81 ns |
1,538.75 ns |
865.22 |
5.93 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,900.7 ns |
10.61 ns |
9.41 ns |
4.02 |
0.03 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,882.1 ns |
13.49 ns |
11.96 ns |
3.98 |
0.03 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
614,039.4 ns |
3,876.24 ns |
3,625.84 ns |
1,299.65 |
10.59 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
475.9 ns |
3.84 ns |
3.59 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
52,846,940.6 ns |
754,999.75 ns |
669,287.62 ns |
111,061.55 |
1,580.86 |
1100.0000 |
1000.0000 |
300.0000 |
16001834 B |
51,287.93 |
| InvokeIntArrayFixed |
100000 |
63,338.2 ns |
165.19 ns |
146.44 ns |
133.11 |
1.01 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
63,372.5 ns |
243.63 ns |
190.21 ns |
133.18 |
1.04 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
78,815,951.0 ns |
1,157,765.92 ns |
1,082,974.96 ns |
165,637.25 |
2,511.73 |
2142.8571 |
2000.0000 |
1000.0000 |
27897033 B |
89,413.57 |
core-ubuntu-24.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.085 μs |
0.0058 μs |
0.0051 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.064 μs |
0.0067 μs |
0.0063 μs |
0.98 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.040 μs |
0.0055 μs |
0.0049 μs |
0.96 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
81.58 ns |
0.432 ns |
0.383 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
88.02 ns |
0.572 ns |
0.478 ns |
1.08 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
78.95 ns |
0.578 ns |
0.540 ns |
0.97 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
530.63 ns |
4.252 ns |
3.978 ns |
6.50 |
0.06 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
83.82 ns |
0.593 ns |
0.496 ns |
1.03 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
87.80 ns |
0.666 ns |
0.623 ns |
1.08 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
75.70 ns |
0.437 ns |
0.409 ns |
0.93 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
521.15 ns |
2.845 ns |
2.661 ns |
6.39 |
0.04 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
90.50 ns |
0.362 ns |
0.321 ns |
1.11 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
259.3 ns |
1.56 ns |
1.38 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
247.9 ns |
2.43 ns |
2.28 ns |
0.96 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
450.3 ns |
2.75 ns |
2.57 ns |
1.74 |
0.01 |
0.0186 |
312 B |
NA |
| InvokeInstanceEmpty |
248.8 ns |
2.70 ns |
2.53 ns |
0.96 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
494.1 ns |
3.70 ns |
3.46 ns |
1.91 |
0.02 |
0.0181 |
312 B |
NA |
core-ubuntu-24.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.310 μs |
0.0052 μs |
0.0048 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,958.7 ns |
17.48 ns |
16.35 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
547.1 ns |
3.76 ns |
3.52 ns |
0.28 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
54,138.2 ns |
329.88 ns |
292.43 ns |
1.00 |
0.01 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
617.4 ns |
4.24 ns |
3.97 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,617,399.0 ns |
94,351.12 ns |
88,256.10 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400953 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
542.6 ns |
4.91 ns |
4.59 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
970.3 ns |
7.12 ns |
6.66 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,258.6 ns |
7.66 ns |
7.17 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,239.0 ns |
5.18 ns |
4.04 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,235.5 ns |
23.05 ns |
19.25 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
382.8 ns |
2.13 ns |
1.99 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
386.0 ns |
4.19 ns |
3.92 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
629.8 ns |
2.95 ns |
2.76 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,525.9 ns |
9.22 ns |
7.19 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
466.89 ns |
4.541 ns |
4.248 ns |
0.0045 |
80 B |
| PredicateSustained |
False |
False |
True |
480.76 ns |
7.962 ns |
7.448 ns |
0.0045 |
80 B |
| PredicateSustained |
False |
True |
False |
654.22 ns |
4.165 ns |
3.896 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,637.78 ns |
14.229 ns |
12.614 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
30.61 ns |
0.161 ns |
0.143 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
29.50 ns |
0.260 ns |
0.243 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
183.39 ns |
0.605 ns |
0.505 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,020.93 ns |
16.529 ns |
15.461 ns |
0.0350 |
656 B |
core-ubuntu-24.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
535.9 ns |
5.67 ns |
5.30 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,710.1 ns |
73.12 ns |
68.40 ns |
10.66 |
0.16 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,097.8 ns |
8.21 ns |
7.28 ns |
2.05 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,097.2 ns |
6.42 ns |
5.36 ns |
2.05 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
7,688.6 ns |
44.44 ns |
39.40 ns |
14.35 |
0.16 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
511.5 ns |
8.04 ns |
7.52 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
426,608.3 ns |
3,862.47 ns |
3,612.96 ns |
834.14 |
13.78 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,789.3 ns |
10.08 ns |
9.43 ns |
3.50 |
0.05 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,778.4 ns |
7.59 ns |
7.10 ns |
3.48 |
0.05 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
626,340.7 ns |
3,190.37 ns |
2,984.28 ns |
1,224.67 |
18.45 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
521.5 ns |
5.49 ns |
4.87 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
55,020,223.6 ns |
493,722.02 ns |
461,827.88 ns |
105,519.34 |
1,284.36 |
1111.1111 |
1000.0000 |
333.3333 |
16001774 B |
51,287.74 |
| InvokeIntArrayFixed |
100000 |
65,196.8 ns |
324.11 ns |
303.17 ns |
125.04 |
1.26 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
65,162.4 ns |
245.31 ns |
229.46 ns |
124.97 |
1.21 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
75,314,998.9 ns |
1,282,481.53 ns |
1,199,634.02 ns |
144,441.23 |
2,583.92 |
2142.8571 |
2000.0000 |
1000.0000 |
27897261 B |
89,414.30 |
core-ubuntu-24.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.034 μs |
0.0071 μs |
0.0063 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.006 μs |
0.0061 μs |
0.0057 μs |
0.97 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.038 μs |
0.0054 μs |
0.0048 μs |
1.00 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
74.22 ns |
0.942 ns |
0.835 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
77.36 ns |
0.896 ns |
0.838 ns |
1.04 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
72.60 ns |
1.206 ns |
1.128 ns |
0.98 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
592.79 ns |
4.270 ns |
3.566 ns |
7.99 |
0.10 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
77.25 ns |
0.836 ns |
0.782 ns |
1.04 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
78.47 ns |
0.590 ns |
0.552 ns |
1.06 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
73.93 ns |
0.785 ns |
0.734 ns |
1.00 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
556.09 ns |
5.495 ns |
5.140 ns |
7.49 |
0.11 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
84.20 ns |
0.951 ns |
0.889 ns |
1.13 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
255.3 ns |
5.01 ns |
4.69 ns |
1.00 |
0.03 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
256.6 ns |
3.17 ns |
2.97 ns |
1.01 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
507.4 ns |
5.37 ns |
5.02 ns |
1.99 |
0.04 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
275.9 ns |
3.50 ns |
3.27 ns |
1.08 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
512.3 ns |
6.18 ns |
5.78 ns |
2.01 |
0.04 |
0.0181 |
312 B |
NA |
core-ubuntu-24.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.300 μs |
0.0051 μs |
0.0045 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,928.4 ns |
12.44 ns |
11.64 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
560.1 ns |
8.02 ns |
7.11 ns |
0.29 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
54,653.0 ns |
606.59 ns |
567.41 ns |
1.00 |
0.01 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
558.4 ns |
6.46 ns |
6.04 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,826,680.3 ns |
100,750.85 ns |
94,242.41 ns |
1.000 |
0.02 |
70.3125 |
70.3125 |
70.3125 |
2400707 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
599.1 ns |
7.10 ns |
6.64 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
979.0 ns |
10.61 ns |
9.92 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
982.4 ns |
11.52 ns |
10.78 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,211.2 ns |
6.36 ns |
5.63 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,131.3 ns |
31.09 ns |
27.56 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
384.9 ns |
4.50 ns |
4.21 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
385.3 ns |
4.35 ns |
4.07 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
624.8 ns |
3.99 ns |
3.73 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,457.0 ns |
11.59 ns |
10.84 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
482.18 ns |
6.870 ns |
6.426 ns |
0.0045 |
80 B |
| PredicateSustained |
False |
False |
True |
485.71 ns |
5.854 ns |
5.476 ns |
0.0045 |
80 B |
| PredicateSustained |
False |
True |
False |
687.80 ns |
7.540 ns |
7.053 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,607.06 ns |
16.036 ns |
15.000 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
27.87 ns |
0.275 ns |
0.257 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
27.88 ns |
0.272 ns |
0.254 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
190.37 ns |
1.323 ns |
1.237 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,971.61 ns |
23.555 ns |
22.034 ns |
0.0350 |
656 B |
core-ubuntu-24.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 4.09GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
302.1 ns |
4.43 ns |
4.14 ns |
1.00 |
0.02 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
3,684.9 ns |
35.78 ns |
31.71 ns |
12.20 |
0.19 |
0.1183 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
680.7 ns |
13.04 ns |
12.19 ns |
2.25 |
0.05 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
683.6 ns |
13.55 ns |
12.01 ns |
2.26 |
0.05 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
4,956.7 ns |
54.92 ns |
51.38 ns |
16.41 |
0.27 |
0.2060 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
300.8 ns |
5.85 ns |
6.26 ns |
1.00 |
0.03 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
266,789.3 ns |
4,730.66 ns |
4,193.61 ns |
887.22 |
22.35 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,147.6 ns |
11.19 ns |
10.47 ns |
3.82 |
0.08 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,125.4 ns |
14.78 ns |
13.10 ns |
3.74 |
0.09 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
377,169.6 ns |
6,883.14 ns |
7,068.48 ns |
1,254.29 |
34.02 |
15.6250 |
7.3242 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
288.7 ns |
4.84 ns |
4.75 ns |
1.00 |
0.02 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
34,145,252.9 ns |
427,920.70 ns |
379,340.56 ns |
118,304.05 |
2,277.97 |
1133.3333 |
1000.0000 |
333.3333 |
16001298 B |
51,286.21 |
| InvokeIntArrayFixed |
100000 |
37,577.9 ns |
216.86 ns |
192.24 ns |
130.20 |
2.18 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
37,357.3 ns |
296.77 ns |
247.82 ns |
129.43 |
2.23 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
49,689,271.2 ns |
877,635.49 ns |
1,044,762.71 ns |
172,159.86 |
4,481.56 |
2200.0000 |
2100.0000 |
1100.0000 |
27896812 B |
89,412.86 |
core-ubuntu-24.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 4.09GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
633.6 ns |
11.54 ns |
11.85 ns |
1.00 |
0.03 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
643.7 ns |
5.82 ns |
4.86 ns |
1.02 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
652.6 ns |
5.43 ns |
5.08 ns |
1.03 |
0.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 4.09GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
42.16 ns |
0.775 ns |
0.647 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
48.82 ns |
0.628 ns |
0.490 ns |
1.16 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
44.49 ns |
0.892 ns |
0.916 ns |
1.06 |
0.03 |
- |
- |
0.00 |
| SetInstanceStringField |
314.64 ns |
2.724 ns |
2.275 ns |
7.47 |
0.12 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
46.75 ns |
0.926 ns |
0.910 ns |
1.11 |
0.03 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
44.15 ns |
0.474 ns |
0.396 ns |
1.05 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
41.21 ns |
0.694 ns |
0.580 ns |
0.98 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
320.54 ns |
4.945 ns |
4.625 ns |
7.60 |
0.15 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
41.81 ns |
0.711 ns |
0.630 ns |
0.99 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 4.09GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
132.1 ns |
1.69 ns |
1.49 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
137.7 ns |
1.46 ns |
1.37 ns |
1.04 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
255.6 ns |
5.09 ns |
5.86 ns |
1.93 |
0.05 |
0.0186 |
312 B |
NA |
| InvokeInstanceEmpty |
135.2 ns |
1.19 ns |
1.05 ns |
1.02 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
264.5 ns |
5.10 ns |
5.01 ns |
2.00 |
0.04 |
0.0186 |
312 B |
NA |
core-ubuntu-24.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 4.09GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
745.4 ns |
8.64 ns |
8.09 ns |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 4.09GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,138.4 ns |
21.57 ns |
19.12 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
297.5 ns |
5.25 ns |
4.65 ns |
0.26 |
0.01 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
32,257.9 ns |
395.63 ns |
350.71 ns |
1.000 |
0.01 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
317.9 ns |
2.36 ns |
1.97 ns |
0.010 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
4,872,444.6 ns |
96,471.62 ns |
150,194.71 ns |
1.001 |
0.04 |
70.3125 |
70.3125 |
70.3125 |
2400941 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
306.9 ns |
2.69 ns |
2.25 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 4.09GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
585.7 ns |
3.96 ns |
3.31 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
601.1 ns |
5.01 ns |
4.19 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
738.9 ns |
10.39 ns |
9.21 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
2,529.9 ns |
24.89 ns |
20.79 ns |
0.0420 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
194.4 ns |
3.91 ns |
3.66 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
195.5 ns |
1.46 ns |
1.14 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
370.7 ns |
3.86 ns |
3.22 ns |
0.0072 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
2,138.7 ns |
25.86 ns |
22.93 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 4.09GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
281.37 ns |
5.623 ns |
5.260 ns |
0.0047 |
80 B |
| PredicateSustained |
False |
False |
True |
260.36 ns |
2.486 ns |
2.076 ns |
0.0047 |
80 B |
| PredicateSustained |
False |
True |
False |
367.58 ns |
4.676 ns |
4.145 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
2,113.03 ns |
29.038 ns |
27.163 ns |
0.0433 |
736 B |
| PredicateSustained |
True |
False |
False |
30.41 ns |
0.298 ns |
0.279 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
30.56 ns |
0.444 ns |
0.394 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
131.59 ns |
2.601 ns |
4.346 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
1,771.03 ns |
35.068 ns |
37.522 ns |
0.0367 |
656 B |
core-ubuntu-24.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
433.1 ns |
4.20 ns |
3.93 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,621.3 ns |
50.93 ns |
47.64 ns |
12.98 |
0.16 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
889.0 ns |
4.90 ns |
4.58 ns |
2.05 |
0.02 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
885.2 ns |
5.17 ns |
4.84 ns |
2.04 |
0.02 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,729.1 ns |
124.90 ns |
110.72 ns |
20.16 |
0.30 |
0.0305 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
433.7 ns |
4.73 ns |
4.42 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
447,503.3 ns |
2,692.95 ns |
2,518.99 ns |
1,031.89 |
11.69 |
1.4648 |
0.4883 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,703.3 ns |
10.85 ns |
10.15 ns |
3.93 |
0.05 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,695.8 ns |
11.89 ns |
11.12 ns |
3.91 |
0.05 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
742,926.3 ns |
9,068.33 ns |
7,572.47 ns |
1,713.10 |
23.93 |
2.9297 |
- |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
435.6 ns |
5.05 ns |
4.72 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
48,114,774.5 ns |
238,861.00 ns |
199,459.76 ns |
110,477.83 |
1,240.44 |
272.7273 |
181.8182 |
181.8182 |
16000684 B |
51,284.24 |
| InvokeIntArrayFixed |
100000 |
76,643.9 ns |
512.86 ns |
479.73 ns |
175.98 |
2.13 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
76,679.6 ns |
265.58 ns |
248.43 ns |
176.07 |
1.93 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
83,223,209.7 ns |
823,366.62 ns |
729,893.06 ns |
191,091.39 |
2,576.93 |
1166.6667 |
1000.0000 |
1000.0000 |
27898525 B |
89,418.35 |
core-ubuntu-24.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
911.0 ns |
4.34 ns |
4.06 ns |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
895.5 ns |
7.38 ns |
6.91 ns |
0.98 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
901.8 ns |
4.06 ns |
3.80 ns |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
71.91 ns |
0.481 ns |
0.450 ns |
1.00 |
0.01 |
0.0002 |
24 B |
1.00 |
| SetInstanceIntField |
75.54 ns |
0.548 ns |
0.486 ns |
1.05 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
72.15 ns |
0.536 ns |
0.476 ns |
1.00 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
528.16 ns |
4.011 ns |
3.752 ns |
7.35 |
0.07 |
0.0029 |
256 B |
10.67 |
| GetStaticIntField |
74.44 ns |
0.606 ns |
0.567 ns |
1.04 |
0.01 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
80.08 ns |
0.771 ns |
0.721 ns |
1.11 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
74.34 ns |
0.755 ns |
0.706 ns |
1.03 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
522.26 ns |
5.237 ns |
4.899 ns |
7.26 |
0.08 |
0.0029 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
77.54 ns |
0.558 ns |
0.522 ns |
1.08 |
0.01 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
215.0 ns |
2.60 ns |
2.43 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
214.1 ns |
2.01 ns |
1.88 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
433.5 ns |
2.97 ns |
2.78 ns |
2.02 |
0.03 |
0.0033 |
312 B |
NA |
| InvokeInstanceEmpty |
217.2 ns |
1.58 ns |
1.40 ns |
1.01 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
431.7 ns |
3.18 ns |
2.82 ns |
2.01 |
0.03 |
0.0033 |
312 B |
NA |
core-ubuntu-24.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.042 μs |
0.0090 μs |
0.0084 μs |
1.00 |
0.0076 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,574.4 ns |
5.87 ns |
5.21 ns |
1.00 |
0.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
446.9 ns |
4.72 ns |
4.42 ns |
0.28 |
0.00 |
0.0033 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
48,518.8 ns |
480.95 ns |
449.88 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
450.0 ns |
6.52 ns |
6.10 ns |
0.009 |
0.00 |
0.0033 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
5,672,624.0 ns |
68,398.36 ns |
63,979.87 ns |
1.000 |
0.02 |
70.3125 |
70.3125 |
70.3125 |
2400495 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
468.3 ns |
3.55 ns |
3.32 ns |
0.000 |
0.00 |
0.0033 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
836.2 ns |
11.56 ns |
10.24 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
831.8 ns |
8.64 ns |
7.66 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,028.6 ns |
9.82 ns |
9.19 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,858.3 ns |
41.96 ns |
35.04 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
330.3 ns |
2.02 ns |
1.79 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
320.8 ns |
2.59 ns |
2.42 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
582.5 ns |
5.48 ns |
5.13 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,338.1 ns |
48.88 ns |
45.72 ns |
0.0076 |
680 B |
core-ubuntu-24.04_net10.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
482.68 ns |
2.906 ns |
2.576 ns |
0.0009 |
80 B |
| PredicateSustained |
False |
False |
True |
491.63 ns |
3.714 ns |
3.474 ns |
0.0009 |
80 B |
| PredicateSustained |
False |
True |
False |
664.64 ns |
3.565 ns |
2.783 ns |
0.0013 |
176 B |
| PredicateSustained |
False |
True |
True |
3,433.91 ns |
49.937 ns |
46.711 ns |
- |
736 B |
| PredicateSustained |
True |
False |
False |
49.14 ns |
0.979 ns |
1.765 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
48.83 ns |
0.974 ns |
1.333 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
193.30 ns |
0.896 ns |
0.794 ns |
0.0009 |
96 B |
| PredicateSustained |
True |
True |
True |
2,876.16 ns |
56.949 ns |
58.482 ns |
0.0050 |
656 B |
core-ubuntu-24.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
486.9 ns |
2.75 ns |
2.58 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,361.5 ns |
39.16 ns |
36.63 ns |
11.01 |
0.09 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,126.8 ns |
5.03 ns |
4.46 ns |
2.31 |
0.01 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,140.3 ns |
6.58 ns |
5.84 ns |
2.34 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
7,716.6 ns |
44.80 ns |
39.72 ns |
15.85 |
0.11 |
0.2060 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
486.4 ns |
3.90 ns |
3.65 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
407,406.5 ns |
3,436.67 ns |
2,683.13 ns |
837.56 |
8.05 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,860.6 ns |
8.00 ns |
6.68 ns |
3.83 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,863.9 ns |
14.14 ns |
11.81 ns |
3.83 |
0.04 |
0.0229 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
621,819.0 ns |
3,165.53 ns |
2,961.04 ns |
1,278.36 |
10.96 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
471.1 ns |
5.43 ns |
4.81 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
51,454,912.7 ns |
488,889.31 ns |
433,387.64 ns |
109,226.64 |
1,391.59 |
1100.0000 |
1000.0000 |
300.0000 |
16002468 B |
51,289.96 |
| InvokeIntArrayFixed |
100000 |
62,313.9 ns |
288.40 ns |
240.83 ns |
132.28 |
1.39 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
62,095.1 ns |
279.88 ns |
261.80 ns |
131.81 |
1.40 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
79,909,881.5 ns |
1,228,965.23 ns |
1,314,979.03 ns |
169,629.83 |
3,186.07 |
2142.8571 |
2000.0000 |
1000.0000 |
27896800 B |
89,412.82 |
core-ubuntu-24.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.036 μs |
0.0128 μs |
0.0107 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.045 μs |
0.0063 μs |
0.0056 μs |
1.01 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.024 μs |
0.0062 μs |
0.0052 μs |
0.99 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
80.42 ns |
0.555 ns |
0.519 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
91.69 ns |
0.460 ns |
0.407 ns |
1.14 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
84.86 ns |
0.699 ns |
0.620 ns |
1.06 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
506.46 ns |
2.599 ns |
2.171 ns |
6.30 |
0.05 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
94.19 ns |
0.393 ns |
0.348 ns |
1.17 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
87.59 ns |
0.486 ns |
0.455 ns |
1.09 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
75.66 ns |
0.811 ns |
0.719 ns |
0.94 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
486.70 ns |
4.475 ns |
4.186 ns |
6.05 |
0.06 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
85.90 ns |
0.531 ns |
0.471 ns |
1.07 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
281.3 ns |
1.51 ns |
1.42 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
249.8 ns |
2.21 ns |
2.07 ns |
0.89 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
478.6 ns |
3.48 ns |
3.09 ns |
1.70 |
0.01 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
252.0 ns |
1.81 ns |
1.69 ns |
0.90 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
476.6 ns |
4.73 ns |
3.95 ns |
1.69 |
0.02 |
0.0181 |
312 B |
NA |
core-ubuntu-24.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.267 μs |
0.0079 μs |
0.0070 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,904.4 ns |
6.48 ns |
5.41 ns |
1.00 |
0.00 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
532.0 ns |
1.60 ns |
1.33 ns |
0.28 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
62,295.8 ns |
713.74 ns |
667.63 ns |
1.000 |
0.01 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
515.8 ns |
2.50 ns |
2.09 ns |
0.008 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,632,301.5 ns |
147,840.41 ns |
138,290.01 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400953 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
617.5 ns |
3.52 ns |
3.29 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
948.6 ns |
7.12 ns |
6.31 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
953.0 ns |
9.97 ns |
9.33 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,201.4 ns |
4.33 ns |
3.84 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,167.8 ns |
15.30 ns |
12.78 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
368.4 ns |
3.80 ns |
3.55 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
370.2 ns |
2.63 ns |
2.46 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
630.3 ns |
3.84 ns |
3.41 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,469.8 ns |
12.00 ns |
10.64 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
478.02 ns |
4.589 ns |
4.068 ns |
0.0045 |
80 B |
| PredicateSustained |
False |
False |
True |
465.18 ns |
7.444 ns |
6.963 ns |
0.0045 |
80 B |
| PredicateSustained |
False |
True |
False |
648.34 ns |
5.318 ns |
4.714 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,543.01 ns |
20.793 ns |
19.449 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
30.56 ns |
0.243 ns |
0.227 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
32.21 ns |
0.165 ns |
0.147 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
232.20 ns |
1.892 ns |
1.580 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,886.44 ns |
11.802 ns |
9.855 ns |
0.0350 |
656 B |
core-ubuntu-24.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
544.3 ns |
7.60 ns |
7.11 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,831.8 ns |
41.52 ns |
38.84 ns |
10.71 |
0.15 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,133.1 ns |
7.71 ns |
7.21 ns |
2.08 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,149.0 ns |
5.39 ns |
4.78 ns |
2.11 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
7,945.8 ns |
76.65 ns |
67.95 ns |
14.60 |
0.22 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
560.4 ns |
4.37 ns |
4.09 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
445,555.8 ns |
4,504.43 ns |
4,213.44 ns |
795.13 |
9.20 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,838.6 ns |
9.87 ns |
9.23 ns |
3.28 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,813.9 ns |
14.80 ns |
12.36 ns |
3.24 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
640,974.8 ns |
8,895.17 ns |
7,885.33 ns |
1,143.87 |
15.82 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
547.5 ns |
5.96 ns |
5.58 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
54,996,602.1 ns |
314,627.45 ns |
278,909.04 ns |
100,456.21 |
1,106.90 |
1100.0000 |
1000.0000 |
300.0000 |
16001794 B |
51,287.80 |
| InvokeIntArrayFixed |
100000 |
67,283.8 ns |
802.92 ns |
751.05 ns |
122.90 |
1.80 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
68,110.9 ns |
557.61 ns |
494.30 ns |
124.41 |
1.51 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
79,943,948.7 ns |
1,544,028.22 ns |
2,061,233.50 ns |
146,024.76 |
3,964.71 |
2142.8571 |
2000.0000 |
1000.0000 |
27896656 B |
89,412.36 |
core-ubuntu-24.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.048 μs |
0.0050 μs |
0.0045 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.039 μs |
0.0091 μs |
0.0085 μs |
0.99 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.033 μs |
0.0064 μs |
0.0057 μs |
0.99 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
71.21 ns |
0.788 ns |
0.737 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
89.53 ns |
0.832 ns |
0.778 ns |
1.26 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
79.67 ns |
0.892 ns |
0.835 ns |
1.12 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
558.04 ns |
3.168 ns |
2.964 ns |
7.84 |
0.09 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
80.23 ns |
0.542 ns |
0.481 ns |
1.13 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
80.54 ns |
1.150 ns |
1.076 ns |
1.13 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
79.12 ns |
0.567 ns |
0.530 ns |
1.11 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
548.67 ns |
5.519 ns |
5.162 ns |
7.71 |
0.10 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
79.34 ns |
0.866 ns |
0.810 ns |
1.11 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
267.5 ns |
4.20 ns |
3.93 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
267.9 ns |
3.33 ns |
3.11 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
517.4 ns |
8.78 ns |
8.21 ns |
1.93 |
0.04 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
280.1 ns |
2.21 ns |
2.07 ns |
1.05 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
537.3 ns |
7.99 ns |
7.48 ns |
2.01 |
0.04 |
0.0181 |
312 B |
NA |
core-ubuntu-24.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.342 μs |
0.0098 μs |
0.0092 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,986.6 ns |
19.17 ns |
17.93 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
578.5 ns |
6.71 ns |
6.28 ns |
0.29 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,581.1 ns |
284.26 ns |
251.99 ns |
1.000 |
0.01 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
565.7 ns |
7.06 ns |
6.60 ns |
0.009 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,379,682.2 ns |
139,699.57 ns |
166,302.41 ns |
1.000 |
0.03 |
70.3125 |
70.3125 |
70.3125 |
2400612 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
593.7 ns |
6.22 ns |
5.82 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
981.8 ns |
15.46 ns |
14.46 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
989.6 ns |
14.05 ns |
13.15 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,281.2 ns |
5.12 ns |
4.79 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,214.9 ns |
26.15 ns |
23.19 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
420.4 ns |
3.91 ns |
3.66 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
421.0 ns |
3.57 ns |
3.34 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
639.7 ns |
4.69 ns |
3.92 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,637.9 ns |
13.13 ns |
12.28 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
564.39 ns |
6.858 ns |
6.415 ns |
0.0044 |
80 B |
| PredicateSustained |
False |
False |
True |
508.49 ns |
3.164 ns |
2.642 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
689.28 ns |
5.783 ns |
5.409 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,671.04 ns |
19.026 ns |
17.797 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
29.98 ns |
0.223 ns |
0.198 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
28.92 ns |
0.218 ns |
0.194 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
197.44 ns |
1.866 ns |
1.746 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,080.21 ns |
13.718 ns |
12.161 ns |
0.0350 |
656 B |
core-ubuntu-24.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
448.8 ns |
3.81 ns |
3.38 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,050.1 ns |
35.72 ns |
33.42 ns |
13.48 |
0.12 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
937.7 ns |
4.22 ns |
3.95 ns |
2.09 |
0.02 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
951.9 ns |
4.37 ns |
4.08 ns |
2.12 |
0.02 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,257.9 ns |
129.31 ns |
114.63 ns |
20.63 |
0.29 |
0.0305 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
470.8 ns |
3.04 ns |
2.85 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
485,885.4 ns |
1,516.24 ns |
1,418.29 ns |
1,031.98 |
6.71 |
1.4648 |
0.4883 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,727.8 ns |
7.88 ns |
7.37 ns |
3.67 |
0.03 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,732.0 ns |
7.97 ns |
7.46 ns |
3.68 |
0.03 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
799,471.4 ns |
15,890.26 ns |
17,661.98 ns |
1,698.01 |
37.90 |
2.9297 |
- |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
457.0 ns |
3.87 ns |
3.62 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
51,665,146.1 ns |
425,439.74 ns |
377,141.25 ns |
113,060.57 |
1,178.09 |
300.0000 |
200.0000 |
200.0000 |
16000958 B |
51,285.12 |
| InvokeIntArrayFixed |
100000 |
76,112.5 ns |
476.02 ns |
445.27 ns |
166.56 |
1.59 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
76,320.7 ns |
521.13 ns |
487.47 ns |
167.02 |
1.65 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
86,021,568.8 ns |
1,108,464.69 ns |
982,625.08 ns |
188,243.88 |
2,529.82 |
1166.6667 |
1000.0000 |
1000.0000 |
27899135 B |
89,420.30 |
core-ubuntu-24.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
959.4 ns |
7.46 ns |
6.98 ns |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
940.3 ns |
7.69 ns |
7.19 ns |
0.98 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
946.7 ns |
6.49 ns |
6.07 ns |
0.99 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
74.84 ns |
0.373 ns |
0.330 ns |
1.00 |
0.01 |
0.0002 |
24 B |
1.00 |
| SetInstanceIntField |
87.17 ns |
0.501 ns |
0.444 ns |
1.16 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
83.74 ns |
0.731 ns |
0.684 ns |
1.12 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
574.00 ns |
3.381 ns |
2.997 ns |
7.67 |
0.05 |
0.0029 |
256 B |
10.67 |
| GetStaticIntField |
90.98 ns |
0.666 ns |
0.623 ns |
1.22 |
0.01 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
93.38 ns |
0.808 ns |
0.756 ns |
1.25 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
84.50 ns |
0.737 ns |
0.689 ns |
1.13 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
571.12 ns |
4.079 ns |
3.816 ns |
7.63 |
0.06 |
0.0029 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
82.96 ns |
0.401 ns |
0.335 ns |
1.11 |
0.01 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
284.3 ns |
2.03 ns |
1.90 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
280.9 ns |
3.22 ns |
3.01 ns |
0.99 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
449.3 ns |
3.06 ns |
2.86 ns |
1.58 |
0.01 |
0.0033 |
312 B |
NA |
| InvokeInstanceEmpty |
301.2 ns |
2.84 ns |
2.66 ns |
1.06 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
470.6 ns |
4.70 ns |
4.39 ns |
1.66 |
0.02 |
0.0033 |
312 B |
NA |
core-ubuntu-24.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.124 μs |
0.0069 μs |
0.0065 μs |
1.00 |
0.0076 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,717.1 ns |
8.52 ns |
7.97 ns |
1.00 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
471.3 ns |
5.06 ns |
4.73 ns |
0.27 |
0.0033 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
57,032.9 ns |
344.66 ns |
322.40 ns |
1.000 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
478.0 ns |
6.08 ns |
5.39 ns |
0.008 |
0.0029 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,652,307.0 ns |
76,140.44 ns |
71,221.82 ns |
1.000 |
70.3125 |
70.3125 |
70.3125 |
2400462 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
519.3 ns |
5.17 ns |
4.84 ns |
0.000 |
0.0029 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
929.6 ns |
10.40 ns |
9.73 ns |
- |
104 B |
| PredicateRoundTrip |
False |
False |
True |
929.7 ns |
13.52 ns |
12.65 ns |
- |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,124.4 ns |
10.06 ns |
9.41 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,217.8 ns |
70.23 ns |
65.70 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
383.8 ns |
4.61 ns |
4.31 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
351.2 ns |
4.22 ns |
3.74 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
561.7 ns |
5.72 ns |
5.07 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,603.3 ns |
60.21 ns |
56.32 ns |
0.0076 |
680 B |
core-ubuntu-24.04_net10.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
547.87 ns |
2.943 ns |
2.753 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
541.13 ns |
3.966 ns |
3.710 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
740.30 ns |
5.304 ns |
4.961 ns |
0.0014 |
176 B |
| PredicateSustained |
False |
True |
True |
3,808.01 ns |
74.502 ns |
88.689 ns |
- |
736 B |
| PredicateSustained |
True |
False |
False |
48.06 ns |
0.924 ns |
1.264 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
47.45 ns |
0.928 ns |
1.720 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
194.18 ns |
1.024 ns |
0.958 ns |
0.0009 |
96 B |
| PredicateSustained |
True |
True |
True |
3,196.71 ns |
55.469 ns |
51.885 ns |
0.0050 |
656 B |
core-ubuntu-24.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
553.3 ns |
4.86 ns |
4.55 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,724.2 ns |
48.56 ns |
43.05 ns |
10.35 |
0.11 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,202.2 ns |
6.35 ns |
5.94 ns |
2.17 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,176.3 ns |
9.11 ns |
8.53 ns |
2.13 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,168.3 ns |
36.99 ns |
32.79 ns |
14.76 |
0.13 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
545.5 ns |
4.37 ns |
4.09 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
448,181.2 ns |
3,223.31 ns |
2,857.38 ns |
821.62 |
7.83 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,849.3 ns |
8.36 ns |
6.98 ns |
3.39 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,839.6 ns |
5.40 ns |
4.79 ns |
3.37 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
632,005.1 ns |
5,526.46 ns |
4,899.07 ns |
1,158.61 |
12.09 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
553.6 ns |
4.87 ns |
4.56 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
57,063,418.2 ns |
529,135.15 ns |
494,953.35 ns |
103,091.23 |
1,195.32 |
1111.1111 |
1000.0000 |
333.3333 |
16001771 B |
51,287.73 |
| InvokeIntArrayFixed |
100000 |
65,055.0 ns |
378.78 ns |
354.31 ns |
117.53 |
1.13 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
65,348.9 ns |
192.66 ns |
160.88 ns |
118.06 |
0.98 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
79,552,741.8 ns |
1,431,794.14 ns |
1,269,248.21 ns |
143,720.63 |
2,495.29 |
2142.8571 |
2000.0000 |
1000.0000 |
27897250 B |
89,414.26 |
core-ubuntu-24.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.142 μs |
0.0182 μs |
0.0170 μs |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.091 μs |
0.0087 μs |
0.0082 μs |
0.96 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.079 μs |
0.0040 μs |
0.0034 μs |
0.94 |
0.01 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
84.17 ns |
0.534 ns |
0.499 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
86.62 ns |
0.596 ns |
0.558 ns |
1.03 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
78.51 ns |
0.794 ns |
0.743 ns |
0.93 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
584.73 ns |
2.890 ns |
2.703 ns |
6.95 |
0.05 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
86.25 ns |
0.296 ns |
0.247 ns |
1.02 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
86.34 ns |
0.930 ns |
0.870 ns |
1.03 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
77.71 ns |
0.403 ns |
0.377 ns |
0.92 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
582.33 ns |
8.131 ns |
7.606 ns |
6.92 |
0.10 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
90.94 ns |
0.516 ns |
0.457 ns |
1.08 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
276.3 ns |
3.45 ns |
3.23 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
260.2 ns |
3.27 ns |
2.90 ns |
0.94 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
538.7 ns |
8.19 ns |
7.66 ns |
1.95 |
0.03 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
272.3 ns |
3.83 ns |
3.58 ns |
0.99 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
541.0 ns |
6.48 ns |
6.07 ns |
1.96 |
0.03 |
0.0181 |
312 B |
NA |
core-ubuntu-24.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.377 μs |
0.0069 μs |
0.0061 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,941.9 ns |
10.61 ns |
9.93 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
588.9 ns |
6.84 ns |
6.40 ns |
0.30 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
54,045.7 ns |
812.76 ns |
720.49 ns |
1.00 |
0.02 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
563.8 ns |
5.95 ns |
5.27 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,043,640.0 ns |
79,307.87 ns |
70,304.36 ns |
1.000 |
0.01 |
70.3125 |
70.3125 |
70.3125 |
2400790 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
660.9 ns |
5.57 ns |
5.21 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,039.1 ns |
9.58 ns |
8.50 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,034.5 ns |
11.07 ns |
10.36 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,271.5 ns |
3.98 ns |
3.52 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,333.5 ns |
33.38 ns |
29.59 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
399.0 ns |
5.52 ns |
5.16 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
418.3 ns |
6.19 ns |
5.79 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
643.0 ns |
3.76 ns |
3.51 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,625.3 ns |
18.79 ns |
16.65 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
514.67 ns |
4.822 ns |
4.510 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
518.03 ns |
5.035 ns |
4.710 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
775.91 ns |
7.530 ns |
7.043 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,752.21 ns |
18.260 ns |
16.187 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
28.32 ns |
0.290 ns |
0.271 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
27.64 ns |
0.225 ns |
0.210 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
193.41 ns |
1.228 ns |
1.089 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,180.80 ns |
17.990 ns |
15.022 ns |
0.0350 |
656 B |
core-ubuntu-24.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
575.5 ns |
4.83 ns |
4.52 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,813.0 ns |
62.64 ns |
58.60 ns |
10.10 |
0.13 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,153.4 ns |
7.68 ns |
6.42 ns |
2.00 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,146.0 ns |
5.75 ns |
4.80 ns |
1.99 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
7,932.9 ns |
59.17 ns |
49.41 ns |
13.78 |
0.13 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
523.0 ns |
8.30 ns |
7.77 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
419,889.9 ns |
3,135.95 ns |
2,933.37 ns |
802.96 |
12.81 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,815.3 ns |
10.68 ns |
9.47 ns |
3.47 |
0.05 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,786.7 ns |
12.72 ns |
11.90 ns |
3.42 |
0.05 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
644,919.2 ns |
5,019.76 ns |
4,449.89 ns |
1,233.29 |
19.63 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
538.3 ns |
5.02 ns |
4.70 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
52,766,308.6 ns |
342,570.69 ns |
320,440.84 ns |
98,023.59 |
1,011.30 |
1100.0000 |
1000.0000 |
300.0000 |
16001854 B |
51,287.99 |
| InvokeIntArrayFixed |
100000 |
65,833.9 ns |
233.56 ns |
218.47 ns |
122.30 |
1.11 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
65,695.2 ns |
239.58 ns |
212.38 ns |
122.04 |
1.10 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
82,503,839.2 ns |
824,624.36 ns |
771,354.14 ns |
153,266.78 |
1,900.85 |
2142.8571 |
2000.0000 |
1000.0000 |
27895569 B |
89,408.88 |
core-ubuntu-24.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.072 μs |
0.0049 μs |
0.0043 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.082 μs |
0.0044 μs |
0.0037 μs |
1.01 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.067 μs |
0.0115 μs |
0.0107 μs |
1.00 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
76.56 ns |
0.684 ns |
0.640 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
77.95 ns |
0.447 ns |
0.396 ns |
1.02 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
74.71 ns |
0.797 ns |
0.707 ns |
0.98 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
577.37 ns |
4.883 ns |
4.568 ns |
7.54 |
0.08 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
77.21 ns |
0.639 ns |
0.567 ns |
1.01 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
78.72 ns |
0.598 ns |
0.500 ns |
1.03 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
70.89 ns |
0.528 ns |
0.494 ns |
0.93 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
576.08 ns |
4.672 ns |
4.370 ns |
7.52 |
0.08 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
85.32 ns |
0.964 ns |
0.902 ns |
1.11 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
256.9 ns |
2.67 ns |
2.36 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
264.5 ns |
2.16 ns |
2.02 ns |
1.03 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
511.8 ns |
7.38 ns |
6.90 ns |
1.99 |
0.03 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
272.9 ns |
2.42 ns |
2.27 ns |
1.06 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
543.6 ns |
4.69 ns |
4.38 ns |
2.12 |
0.03 |
0.0181 |
312 B |
NA |
core-ubuntu-24.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.338 μs |
0.0091 μs |
0.0085 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,028.1 ns |
20.76 ns |
18.40 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
556.6 ns |
8.06 ns |
7.54 ns |
0.27 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
53,995.4 ns |
512.17 ns |
479.08 ns |
1.00 |
0.01 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
594.6 ns |
7.24 ns |
6.77 ns |
0.01 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,200,734.0 ns |
93,233.99 ns |
87,211.13 ns |
1.000 |
0.02 |
70.3125 |
70.3125 |
70.3125 |
2400714 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
630.3 ns |
7.38 ns |
6.91 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
987.1 ns |
9.89 ns |
9.25 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,050.2 ns |
14.15 ns |
13.24 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,235.6 ns |
8.25 ns |
7.72 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,287.1 ns |
21.43 ns |
19.00 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
405.0 ns |
3.99 ns |
3.73 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
407.2 ns |
5.52 ns |
5.16 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
649.4 ns |
2.58 ns |
2.28 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,646.9 ns |
12.98 ns |
12.15 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
507.07 ns |
5.186 ns |
4.851 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
467.10 ns |
4.836 ns |
4.524 ns |
0.0045 |
80 B |
| PredicateSustained |
False |
True |
False |
670.45 ns |
3.334 ns |
3.118 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,728.24 ns |
23.264 ns |
21.761 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
28.59 ns |
0.377 ns |
0.352 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
28.10 ns |
0.366 ns |
0.342 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
187.47 ns |
1.810 ns |
1.694 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,090.69 ns |
14.364 ns |
11.995 ns |
0.0350 |
656 B |
core-ubuntu-24.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
275.7 ns |
3.94 ns |
3.29 ns |
1.00 |
0.02 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
3,489.8 ns |
32.80 ns |
29.08 ns |
12.66 |
0.18 |
0.1183 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
672.6 ns |
10.86 ns |
9.07 ns |
2.44 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
664.3 ns |
6.11 ns |
5.41 ns |
2.41 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
4,697.5 ns |
46.00 ns |
40.78 ns |
17.04 |
0.24 |
0.2060 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
286.4 ns |
5.40 ns |
5.31 ns |
1.00 |
0.03 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
270,031.5 ns |
4,027.71 ns |
3,570.46 ns |
943.14 |
20.87 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,101.2 ns |
13.17 ns |
11.00 ns |
3.85 |
0.08 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,118.7 ns |
18.62 ns |
15.55 ns |
3.91 |
0.09 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
354,043.3 ns |
6,943.70 ns |
7,130.66 ns |
1,236.57 |
32.94 |
15.6250 |
7.3242 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
280.0 ns |
4.46 ns |
3.96 ns |
1.00 |
0.02 |
0.0186 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
33,918,358.7 ns |
642,635.32 ns |
569,679.47 ns |
121,159.25 |
2,557.20 |
1133.3333 |
1000.0000 |
333.3333 |
16001564 B |
51,287.06 |
| InvokeIntArrayFixed |
100000 |
37,038.5 ns |
239.35 ns |
223.88 ns |
132.30 |
1.95 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
37,241.6 ns |
102.01 ns |
79.65 ns |
133.03 |
1.82 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
48,569,744.6 ns |
963,131.17 ns |
1,350,175.50 ns |
173,495.24 |
5,285.03 |
2200.0000 |
2100.0000 |
1100.0000 |
27897910 B |
89,416.38 |
core-ubuntu-24.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
646.3 ns |
9.26 ns |
7.23 ns |
1.00 |
0.02 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
674.9 ns |
10.53 ns |
8.22 ns |
1.04 |
0.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
659.2 ns |
4.94 ns |
4.12 ns |
1.02 |
0.01 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
41.93 ns |
0.734 ns |
0.815 ns |
1.00 |
0.03 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
46.03 ns |
0.880 ns |
0.780 ns |
1.10 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
45.48 ns |
0.907 ns |
0.932 ns |
1.08 |
0.03 |
- |
- |
0.00 |
| SetInstanceStringField |
319.65 ns |
6.331 ns |
6.501 ns |
7.63 |
0.21 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
46.00 ns |
0.436 ns |
0.386 ns |
1.10 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
46.06 ns |
0.805 ns |
0.672 ns |
1.10 |
0.03 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
41.16 ns |
0.308 ns |
0.273 ns |
0.98 |
0.02 |
- |
- |
0.00 |
| SetStaticStringField |
305.71 ns |
5.909 ns |
5.238 ns |
7.29 |
0.18 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
43.97 ns |
0.251 ns |
0.196 ns |
1.05 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
136.8 ns |
2.73 ns |
3.35 ns |
1.00 |
0.03 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
135.0 ns |
1.05 ns |
0.93 ns |
0.99 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
260.7 ns |
1.74 ns |
1.45 ns |
1.91 |
0.05 |
0.0186 |
312 B |
NA |
| InvokeInstanceEmpty |
142.5 ns |
1.23 ns |
1.03 ns |
1.04 |
0.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
277.1 ns |
1.51 ns |
1.26 ns |
2.03 |
0.05 |
0.0186 |
312 B |
NA |
core-ubuntu-24.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
770.9 ns |
9.95 ns |
7.77 ns |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,166.9 ns |
8.73 ns |
7.74 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
303.2 ns |
4.55 ns |
3.80 ns |
0.26 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
31,922.3 ns |
463.46 ns |
387.01 ns |
1.000 |
0.02 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
313.0 ns |
3.73 ns |
3.12 ns |
0.010 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
5,217,584.4 ns |
104,204.26 ns |
176,946.75 ns |
1.001 |
0.05 |
70.3125 |
70.3125 |
70.3125 |
2400902 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
334.9 ns |
2.69 ns |
2.10 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
574.0 ns |
4.91 ns |
4.35 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
577.7 ns |
11.09 ns |
11.39 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
720.5 ns |
7.25 ns |
5.66 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
2,479.5 ns |
48.57 ns |
43.06 ns |
0.0420 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
203.2 ns |
3.36 ns |
2.98 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
202.8 ns |
3.81 ns |
3.56 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
371.6 ns |
4.06 ns |
3.60 ns |
0.0072 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
2,198.8 ns |
39.47 ns |
36.92 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V45 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
270.48 ns |
3.839 ns |
3.205 ns |
0.0047 |
80 B |
| PredicateSustained |
False |
False |
True |
267.02 ns |
4.997 ns |
4.908 ns |
0.0047 |
80 B |
| PredicateSustained |
False |
True |
False |
383.71 ns |
5.547 ns |
4.918 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
2,141.89 ns |
31.232 ns |
29.214 ns |
0.0433 |
736 B |
| PredicateSustained |
True |
False |
False |
30.03 ns |
0.534 ns |
0.500 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
30.15 ns |
0.600 ns |
0.561 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
131.37 ns |
2.576 ns |
3.350 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
1,805.02 ns |
23.567 ns |
20.892 ns |
0.0367 |
656 B |
core-ubuntu-24.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
322.6 ns |
6.33 ns |
6.50 ns |
1.00 |
0.03 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
4,396.3 ns |
54.47 ns |
45.48 ns |
13.63 |
0.30 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
651.1 ns |
6.49 ns |
5.42 ns |
2.02 |
0.04 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
648.0 ns |
5.35 ns |
4.47 ns |
2.01 |
0.04 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
6,728.2 ns |
124.47 ns |
193.79 ns |
20.87 |
0.72 |
0.0381 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
322.3 ns |
6.19 ns |
4.83 ns |
1.00 |
0.02 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
349,794.2 ns |
2,562.71 ns |
2,397.17 ns |
1,085.56 |
16.99 |
1.4648 |
0.4883 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,324.5 ns |
6.34 ns |
5.62 ns |
4.11 |
0.06 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,317.0 ns |
6.71 ns |
5.60 ns |
4.09 |
0.06 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
580,000.5 ns |
11,359.10 ns |
20,482.80 ns |
1,799.99 |
67.82 |
2.9297 |
- |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
320.8 ns |
1.57 ns |
1.31 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
41,028,664.1 ns |
357,313.29 ns |
334,231.07 ns |
127,896.95 |
1,128.45 |
384.6154 |
307.6923 |
230.7692 |
16000830 B |
51,284.71 |
| InvokeIntArrayFixed |
100000 |
73,784.7 ns |
1,242.69 ns |
1,276.15 ns |
230.01 |
3.97 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
74,617.1 ns |
1,371.62 ns |
1,632.82 ns |
232.60 |
5.06 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
66,794,602.9 ns |
1,328,035.95 ns |
2,290,796.95 ns |
208,216.04 |
7,101.21 |
1000.0000 |
875.0000 |
875.0000 |
27897376 B |
89,414.67 |
core-ubuntu-24.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
670.3 ns |
3.10 ns |
2.59 ns |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
672.5 ns |
3.81 ns |
3.18 ns |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
668.2 ns |
4.41 ns |
3.68 ns |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
49.48 ns |
0.780 ns |
0.609 ns |
1.00 |
0.02 |
0.0002 |
24 B |
1.00 |
| SetInstanceIntField |
59.59 ns |
0.982 ns |
1.311 ns |
1.20 |
0.03 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
57.24 ns |
0.345 ns |
0.288 ns |
1.16 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
423.85 ns |
7.553 ns |
6.695 ns |
8.57 |
0.16 |
0.0029 |
256 B |
10.67 |
| GetStaticIntField |
60.16 ns |
0.360 ns |
0.281 ns |
1.22 |
0.02 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
59.66 ns |
0.259 ns |
0.202 ns |
1.21 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
56.65 ns |
0.339 ns |
0.283 ns |
1.15 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
425.93 ns |
3.294 ns |
2.751 ns |
8.61 |
0.11 |
0.0029 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
57.15 ns |
1.109 ns |
1.037 ns |
1.16 |
0.02 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
194.2 ns |
2.82 ns |
2.50 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
200.3 ns |
3.63 ns |
6.26 ns |
1.03 |
0.03 |
- |
- |
NA |
| InvokeStaticWithFeedback |
313.0 ns |
2.92 ns |
2.44 ns |
1.61 |
0.02 |
0.0033 |
312 B |
NA |
| InvokeInstanceEmpty |
194.9 ns |
1.60 ns |
1.42 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
321.1 ns |
2.30 ns |
1.92 ns |
1.65 |
0.02 |
0.0033 |
312 B |
NA |
core-ubuntu-24.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
792.1 ns |
15.59 ns |
13.02 ns |
1.00 |
0.02 |
0.0076 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Median |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,223.9 ns |
22.21 ns |
34.57 ns |
1,217.0 ns |
1.00 |
0.04 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
334.9 ns |
1.91 ns |
1.49 ns |
335.1 ns |
0.27 |
0.01 |
0.0033 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
41,648.7 ns |
819.22 ns |
1,636.07 ns |
40,689.0 ns |
1.001 |
0.05 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
344.1 ns |
6.72 ns |
12.95 ns |
336.9 ns |
0.008 |
0.00 |
0.0033 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,046,652.5 ns |
113,488.91 ns |
111,461.28 ns |
6,070,580.5 ns |
1.000 |
0.03 |
70.3125 |
70.3125 |
70.3125 |
2400462 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
344.0 ns |
1.05 ns |
0.93 ns |
343.9 ns |
0.000 |
0.00 |
0.0033 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
611.8 ns |
3.42 ns |
3.20 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
611.4 ns |
3.65 ns |
3.05 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
758.5 ns |
13.06 ns |
16.04 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
2,933.2 ns |
53.58 ns |
69.66 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
242.3 ns |
2.44 ns |
2.16 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
251.8 ns |
3.56 ns |
2.97 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
400.8 ns |
2.73 ns |
2.42 ns |
0.0014 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
2,509.5 ns |
38.65 ns |
32.28 ns |
0.0076 |
680 B |
core-ubuntu-24.04_net10.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon 6973P-C 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
357.24 ns |
3.435 ns |
3.213 ns |
0.0007 |
80 B |
| PredicateSustained |
False |
False |
True |
359.77 ns |
6.969 ns |
5.820 ns |
0.0007 |
80 B |
| PredicateSustained |
False |
True |
False |
504.84 ns |
5.469 ns |
5.371 ns |
0.0020 |
176 B |
| PredicateSustained |
False |
True |
True |
2,606.66 ns |
37.165 ns |
34.765 ns |
0.0050 |
736 B |
| PredicateSustained |
True |
False |
False |
34.23 ns |
0.455 ns |
0.524 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
33.96 ns |
0.088 ns |
0.069 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
141.74 ns |
1.518 ns |
1.346 ns |
0.0011 |
96 B |
| PredicateSustained |
True |
True |
True |
2,202.99 ns |
24.837 ns |
23.233 ns |
0.0067 |
656 B |
core-ubuntu-24.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.98GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
459.6 ns |
2.29 ns |
2.03 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,014.2 ns |
32.54 ns |
30.44 ns |
15.26 |
0.09 |
0.0229 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
917.1 ns |
3.66 ns |
3.24 ns |
2.00 |
0.01 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
903.5 ns |
5.51 ns |
4.60 ns |
1.97 |
0.01 |
0.0048 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
9,186.9 ns |
174.53 ns |
163.25 ns |
19.99 |
0.35 |
0.0305 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
459.2 ns |
1.43 ns |
1.20 ns |
1.00 |
0.00 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
468,473.2 ns |
2,734.11 ns |
2,283.10 ns |
1,020.29 |
5.44 |
1.4648 |
0.4883 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,723.5 ns |
2.63 ns |
2.33 ns |
3.75 |
0.01 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,788.9 ns |
9.39 ns |
8.78 ns |
3.90 |
0.02 |
0.0038 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
790,494.5 ns |
15,584.22 ns |
20,804.49 ns |
1,721.62 |
44.67 |
2.9297 |
- |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
458.4 ns |
3.25 ns |
2.88 ns |
1.00 |
0.01 |
0.0033 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
51,275,230.8 ns |
402,062.38 ns |
376,089.40 ns |
111,854.88 |
1,048.32 |
300.0000 |
200.0000 |
200.0000 |
16001074 B |
51,285.49 |
| InvokeIntArrayFixed |
100000 |
79,825.9 ns |
455.03 ns |
425.63 ns |
174.14 |
1.39 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
80,059.2 ns |
379.50 ns |
354.98 ns |
174.65 |
1.30 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
87,798,314.1 ns |
1,732,385.86 ns |
2,062,282.31 ns |
191,528.54 |
4,550.96 |
1000.0000 |
833.3333 |
833.3333 |
27897553 B |
89,415.23 |
core-ubuntu-24.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.98GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
933.5 ns |
5.37 ns |
5.02 ns |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
933.6 ns |
4.28 ns |
3.80 ns |
1.00 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
932.6 ns |
6.18 ns |
5.78 ns |
1.00 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.98GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
76.21 ns |
0.336 ns |
0.315 ns |
1.00 |
0.01 |
0.0002 |
24 B |
1.00 |
| SetInstanceIntField |
81.06 ns |
0.397 ns |
0.372 ns |
1.06 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
78.19 ns |
0.483 ns |
0.452 ns |
1.03 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
544.14 ns |
3.095 ns |
2.743 ns |
7.14 |
0.04 |
0.0029 |
256 B |
10.67 |
| GetStaticIntField |
80.55 ns |
0.380 ns |
0.337 ns |
1.06 |
0.01 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
82.23 ns |
0.451 ns |
0.422 ns |
1.08 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
76.70 ns |
0.499 ns |
0.467 ns |
1.01 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
548.27 ns |
5.019 ns |
4.695 ns |
7.19 |
0.07 |
0.0029 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
77.31 ns |
0.390 ns |
0.365 ns |
1.01 |
0.01 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.98GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
231.3 ns |
1.55 ns |
1.45 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
232.7 ns |
1.44 ns |
1.35 ns |
1.01 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
456.2 ns |
3.30 ns |
3.08 ns |
1.97 |
0.02 |
0.0033 |
312 B |
NA |
| InvokeInstanceEmpty |
234.2 ns |
1.49 ns |
1.39 ns |
1.01 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
457.7 ns |
2.43 ns |
2.15 ns |
1.98 |
0.02 |
0.0033 |
312 B |
NA |
core-ubuntu-24.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.98GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.144 μs |
0.0069 μs |
0.0065 μs |
1.00 |
0.0076 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.98GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,847.0 ns |
10.47 ns |
9.79 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
472.9 ns |
2.95 ns |
2.76 ns |
0.26 |
0.00 |
0.0029 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
56,306.8 ns |
270.18 ns |
252.73 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
473.3 ns |
3.82 ns |
3.57 ns |
0.008 |
0.00 |
0.0033 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,327,469.1 ns |
144,905.05 ns |
315,011.68 ns |
1.002 |
0.06 |
78.1250 |
78.1250 |
78.1250 |
2400699 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
495.6 ns |
4.35 ns |
4.07 ns |
0.000 |
0.00 |
0.0029 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.98GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
903.6 ns |
6.50 ns |
6.08 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
892.0 ns |
6.16 ns |
5.76 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,090.8 ns |
6.74 ns |
6.30 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,978.3 ns |
59.27 ns |
55.44 ns |
0.0076 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
346.7 ns |
2.76 ns |
2.58 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
343.9 ns |
2.27 ns |
2.12 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
549.6 ns |
4.72 ns |
4.41 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,423.9 ns |
48.09 ns |
44.99 ns |
0.0076 |
680 B |
core-ubuntu-24.04_net10.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.98GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
523.84 ns |
3.577 ns |
3.346 ns |
- |
80 B |
| PredicateSustained |
False |
False |
True |
519.05 ns |
10.080 ns |
8.936 ns |
- |
80 B |
| PredicateSustained |
False |
True |
False |
694.51 ns |
4.595 ns |
4.298 ns |
0.0013 |
176 B |
| PredicateSustained |
False |
True |
True |
3,583.29 ns |
52.516 ns |
46.554 ns |
- |
736 B |
| PredicateSustained |
True |
False |
False |
50.50 ns |
0.184 ns |
0.172 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
50.43 ns |
0.207 ns |
0.183 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
204.96 ns |
1.344 ns |
1.122 ns |
0.0009 |
96 B |
| PredicateSustained |
True |
True |
True |
3,036.64 ns |
48.339 ns |
45.216 ns |
0.0050 |
656 B |
core-ubuntu-24.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
490.0 ns |
3.73 ns |
3.31 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,453.8 ns |
45.84 ns |
38.28 ns |
11.13 |
0.10 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,127.6 ns |
5.43 ns |
4.81 ns |
2.30 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,134.0 ns |
7.05 ns |
6.25 ns |
2.31 |
0.02 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
7,615.6 ns |
54.61 ns |
48.41 ns |
15.54 |
0.14 |
0.2060 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
492.5 ns |
4.70 ns |
4.40 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
398,267.0 ns |
2,002.58 ns |
1,873.21 ns |
808.74 |
7.88 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,836.7 ns |
11.63 ns |
10.88 ns |
3.73 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,888.1 ns |
11.65 ns |
9.73 ns |
3.83 |
0.04 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
602,191.8 ns |
3,743.64 ns |
3,501.80 ns |
1,222.84 |
12.59 |
15.6250 |
6.8359 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
494.6 ns |
4.84 ns |
4.53 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
50,806,447.6 ns |
363,453.98 ns |
303,500.53 ns |
102,729.04 |
1,082.03 |
1100.0000 |
1000.0000 |
300.0000 |
16001994 B |
51,288.44 |
| InvokeIntArrayFixed |
100000 |
63,642.4 ns |
163.06 ns |
144.55 ns |
128.68 |
1.17 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
63,394.1 ns |
218.00 ns |
182.04 ns |
128.18 |
1.19 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
75,974,673.9 ns |
1,229,753.65 ns |
1,090,144.58 ns |
153,618.41 |
2,523.80 |
2142.8571 |
2000.0000 |
1000.0000 |
27896474 B |
89,411.78 |
core-ubuntu-24.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.042 μs |
0.0050 μs |
0.0044 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.038 μs |
0.0064 μs |
0.0053 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.023 μs |
0.0051 μs |
0.0048 μs |
0.98 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
80.99 ns |
0.435 ns |
0.407 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
83.01 ns |
0.649 ns |
0.607 ns |
1.02 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
78.07 ns |
0.756 ns |
0.670 ns |
0.96 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
514.64 ns |
4.680 ns |
4.378 ns |
6.35 |
0.06 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
82.77 ns |
0.816 ns |
0.723 ns |
1.02 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
85.91 ns |
0.270 ns |
0.253 ns |
1.06 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
75.19 ns |
0.592 ns |
0.553 ns |
0.93 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
518.92 ns |
2.986 ns |
2.493 ns |
6.41 |
0.04 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
86.87 ns |
0.561 ns |
0.525 ns |
1.07 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
267.0 ns |
5.31 ns |
8.73 ns |
1.00 |
0.05 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
245.4 ns |
2.62 ns |
2.45 ns |
0.92 |
0.03 |
- |
- |
NA |
| InvokeStaticWithFeedback |
520.8 ns |
3.27 ns |
2.89 ns |
1.95 |
0.07 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
237.7 ns |
2.46 ns |
2.30 ns |
0.89 |
0.03 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
502.1 ns |
3.23 ns |
3.02 ns |
1.88 |
0.07 |
0.0181 |
312 B |
NA |
core-ubuntu-24.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.321 μs |
0.0108 μs |
0.0101 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,920.9 ns |
16.05 ns |
15.01 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
601.1 ns |
2.74 ns |
2.57 ns |
0.31 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
55,514.7 ns |
245.02 ns |
229.19 ns |
1.000 |
0.01 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
529.3 ns |
3.86 ns |
3.01 ns |
0.010 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,338,105.5 ns |
100,697.98 ns |
94,192.95 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400826 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
555.9 ns |
4.66 ns |
4.13 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
943.2 ns |
8.98 ns |
8.40 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,003.6 ns |
9.72 ns |
8.62 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,218.1 ns |
5.14 ns |
4.81 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,065.8 ns |
15.07 ns |
13.36 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
361.9 ns |
3.97 ns |
3.52 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
365.5 ns |
4.53 ns |
4.24 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
625.1 ns |
3.28 ns |
2.91 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,507.1 ns |
10.95 ns |
9.15 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
456.76 ns |
5.244 ns |
4.905 ns |
0.0045 |
80 B |
| PredicateSustained |
False |
False |
True |
455.73 ns |
5.668 ns |
5.301 ns |
0.0042 |
80 B |
| PredicateSustained |
False |
True |
False |
638.91 ns |
3.160 ns |
2.801 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,540.29 ns |
19.430 ns |
17.224 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
30.78 ns |
0.126 ns |
0.112 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
31.40 ns |
0.178 ns |
0.166 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
188.59 ns |
1.613 ns |
1.509 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,945.42 ns |
15.623 ns |
14.614 ns |
0.0350 |
656 B |
core-ubuntu-24.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
554.9 ns |
7.72 ns |
7.22 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,500.7 ns |
74.11 ns |
69.33 ns |
11.72 |
0.19 |
0.1144 |
- |
- |
2016 B |
6.46 |
| InvokeIntArrayFixed |
10 |
1,188.3 ns |
9.09 ns |
8.51 ns |
2.14 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
10 |
1,191.7 ns |
9.08 ns |
8.05 ns |
2.15 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
10 |
8,260.3 ns |
75.63 ns |
70.74 ns |
14.89 |
0.22 |
0.1984 |
- |
- |
3488 B |
11.18 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
566.2 ns |
5.44 ns |
4.82 ns |
1.00 |
0.01 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
455,976.8 ns |
4,709.51 ns |
4,405.28 ns |
805.38 |
10.05 |
9.2773 |
2.9297 |
- |
160416 B |
514.15 |
| InvokeIntArrayFixed |
1000 |
1,841.9 ns |
7.79 ns |
6.50 ns |
3.25 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
1000 |
1,834.8 ns |
12.93 ns |
12.09 ns |
3.24 |
0.03 |
0.0248 |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
1000 |
678,971.3 ns |
5,089.21 ns |
4,760.45 ns |
1,199.25 |
12.81 |
15.6250 |
5.8594 |
- |
265856 B |
852.10 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
564.0 ns |
6.85 ns |
6.41 ns |
1.00 |
0.02 |
0.0181 |
- |
- |
312 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
51,920,759.9 ns |
643,055.14 ns |
601,514.18 ns |
92,074.11 |
1,446.37 |
1100.0000 |
1000.0000 |
300.0000 |
16001271 B |
51,286.12 |
| InvokeIntArrayFixed |
100000 |
67,382.7 ns |
269.30 ns |
238.73 ns |
119.49 |
1.38 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsWholeArray |
100000 |
67,585.3 ns |
343.10 ns |
320.94 ns |
119.85 |
1.43 |
- |
- |
- |
416 B |
1.33 |
| InvokeVarArgsSpreadElements |
100000 |
79,751,397.6 ns |
1,176,552.10 ns |
1,100,547.56 ns |
141,427.81 |
2,447.44 |
2142.8571 |
2000.0000 |
1000.0000 |
27896619 B |
89,412.24 |
core-ubuntu-24.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.093 μs |
0.0072 μs |
0.0067 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.099 μs |
0.0091 μs |
0.0085 μs |
1.01 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.134 μs |
0.0098 μs |
0.0092 μs |
1.04 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
73.79 ns |
0.715 ns |
0.669 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
78.61 ns |
0.803 ns |
0.712 ns |
1.07 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
75.51 ns |
0.967 ns |
0.905 ns |
1.02 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
571.70 ns |
3.618 ns |
3.021 ns |
7.75 |
0.08 |
0.0153 |
256 B |
10.67 |
| GetStaticIntField |
78.88 ns |
0.828 ns |
0.775 ns |
1.07 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
84.86 ns |
0.602 ns |
0.563 ns |
1.15 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
70.17 ns |
0.758 ns |
0.709 ns |
0.95 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
566.16 ns |
4.071 ns |
3.808 ns |
7.67 |
0.08 |
0.0153 |
256 B |
10.67 |
| GetInstanceIntFieldGeneric |
80.86 ns |
0.724 ns |
0.678 ns |
1.10 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
253.3 ns |
2.73 ns |
2.55 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
262.0 ns |
2.77 ns |
2.45 ns |
1.03 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
531.9 ns |
6.22 ns |
5.51 ns |
2.10 |
0.03 |
0.0181 |
312 B |
NA |
| InvokeInstanceEmpty |
281.4 ns |
2.83 ns |
2.64 ns |
1.11 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
544.3 ns |
5.90 ns |
5.52 ns |
2.15 |
0.03 |
0.0181 |
312 B |
NA |
core-ubuntu-24.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.360 μs |
0.0138 μs |
0.0129 μs |
1.00 |
0.0401 |
680 B |
1.00 |
core-ubuntu-24.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,016.9 ns |
17.65 ns |
16.51 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
656 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
611.4 ns |
6.40 ns |
5.98 ns |
0.30 |
0.00 |
0.0172 |
- |
- |
288 B |
0.44 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
58,973.4 ns |
700.52 ns |
655.27 ns |
1.000 |
0.02 |
1.4038 |
- |
- |
24416 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
588.2 ns |
6.06 ns |
5.67 ns |
0.010 |
0.00 |
0.0172 |
- |
- |
288 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,733,726.1 ns |
149,628.58 ns |
183,757.35 ns |
1.001 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400701 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
639.0 ns |
6.79 ns |
6.35 ns |
0.000 |
0.00 |
0.0172 |
- |
- |
288 B |
0.000 |
core-ubuntu-24.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,008.8 ns |
13.60 ns |
12.06 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,013.1 ns |
15.22 ns |
14.24 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,259.4 ns |
10.91 ns |
10.20 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,381.9 ns |
19.38 ns |
18.13 ns |
0.0381 |
760 B |
| PredicateRoundTrip |
True |
False |
False |
448.1 ns |
3.70 ns |
3.46 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
438.3 ns |
5.54 ns |
5.18 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
665.3 ns |
3.48 ns |
3.26 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,759.0 ns |
16.08 ns |
15.04 ns |
0.0381 |
680 B |
core-ubuntu-24.04_net10.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.11 (10.0.11, 10.0.1126.37416), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
512.20 ns |
3.824 ns |
3.390 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
501.08 ns |
4.782 ns |
4.473 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
726.08 ns |
6.341 ns |
5.931 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,857.06 ns |
26.656 ns |
24.934 ns |
0.0400 |
736 B |
| PredicateSustained |
True |
False |
False |
30.14 ns |
0.253 ns |
0.237 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
29.44 ns |
0.319 ns |
0.299 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
195.31 ns |
2.146 ns |
1.903 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,163.16 ns |
20.181 ns |
18.877 ns |
0.0350 |
656 B |
core-ubuntu-24.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
425.0 ns |
4.01 ns |
3.56 ns |
1.00 |
0.01 |
0.0038 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,666.5 ns |
38.15 ns |
31.85 ns |
13.33 |
0.13 |
0.0229 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
928.2 ns |
5.87 ns |
5.49 ns |
2.18 |
0.02 |
0.0048 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
925.9 ns |
6.50 ns |
5.08 ns |
2.18 |
0.02 |
0.0048 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
7,293.5 ns |
47.03 ns |
41.69 ns |
17.16 |
0.17 |
0.0381 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
425.9 ns |
4.55 ns |
4.03 ns |
1.00 |
0.01 |
0.0038 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
455,072.3 ns |
2,315.22 ns |
2,165.66 ns |
1,068.70 |
10.98 |
1.4648 |
0.4883 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,661.3 ns |
12.04 ns |
11.26 ns |
3.90 |
0.04 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,676.5 ns |
12.07 ns |
11.29 ns |
3.94 |
0.04 |
0.0038 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
597,718.1 ns |
3,812.10 ns |
3,183.28 ns |
1,403.69 |
14.78 |
2.9297 |
0.9766 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
425.8 ns |
4.49 ns |
4.20 ns |
1.00 |
0.01 |
0.0038 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
48,860,966.8 ns |
490,393.98 ns |
458,714.84 ns |
114,774.24 |
1,508.98 |
272.7273 |
181.8182 |
181.8182 |
16001221 B |
46,515.18 |
| InvokeIntArrayFixed |
100000 |
68,161.0 ns |
879.38 ns |
779.55 ns |
160.11 |
2.33 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
68,510.4 ns |
1,351.57 ns |
1,264.26 ns |
160.93 |
3.26 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
68,563,503.4 ns |
625,278.07 ns |
554,292.72 ns |
161,055.43 |
1,980.60 |
1000.0000 |
875.0000 |
875.0000 |
27897300 B |
81,096.80 |
core-ubuntu-24.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1,073.4 ns |
7.15 ns |
6.69 ns |
1.00 |
0.0038 |
360 B |
1.00 |
| NewWithSignature |
917.5 ns |
4.23 ns |
3.96 ns |
0.85 |
0.0038 |
360 B |
1.00 |
| DeclaredNewEmpty |
1,082.8 ns |
7.58 ns |
7.09 ns |
1.01 |
0.0038 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
78.56 ns |
0.416 ns |
0.368 ns |
1.00 |
0.01 |
0.0002 |
24 B |
1.00 |
| SetInstanceIntField |
100.59 ns |
0.529 ns |
0.441 ns |
1.28 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetInstanceStringField |
83.87 ns |
0.834 ns |
0.780 ns |
1.07 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
557.64 ns |
1.932 ns |
1.808 ns |
7.10 |
0.04 |
0.0029 |
288 B |
12.00 |
| GetStaticIntField |
87.00 ns |
0.293 ns |
0.228 ns |
1.11 |
0.01 |
0.0002 |
24 B |
1.00 |
| SetStaticIntField |
98.36 ns |
0.678 ns |
0.634 ns |
1.25 |
0.01 |
0.0002 |
24 B |
1.00 |
| GetStaticStringField |
85.35 ns |
0.559 ns |
0.496 ns |
1.09 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
566.07 ns |
3.079 ns |
2.730 ns |
7.21 |
0.05 |
0.0029 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
105.63 ns |
0.580 ns |
0.542 ns |
1.34 |
0.01 |
0.0002 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
271.3 ns |
1.87 ns |
1.75 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
240.7 ns |
2.25 ns |
1.88 ns |
0.89 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
429.4 ns |
3.74 ns |
3.32 ns |
1.58 |
0.02 |
0.0038 |
344 B |
NA |
| InvokeInstanceEmpty |
274.3 ns |
3.27 ns |
3.06 ns |
1.01 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
437.4 ns |
4.47 ns |
4.18 ns |
1.61 |
0.02 |
0.0038 |
344 B |
NA |
core-ubuntu-24.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.082 μs |
0.0075 μs |
0.0070 μs |
1.00 |
0.0076 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,605.1 ns |
11.70 ns |
10.94 ns |
1.00 |
0.01 |
0.0076 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
456.7 ns |
5.99 ns |
5.60 ns |
0.28 |
0.00 |
0.0038 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
54,086.0 ns |
300.50 ns |
281.08 ns |
1.000 |
0.01 |
0.2441 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
447.9 ns |
3.21 ns |
3.00 ns |
0.008 |
0.00 |
0.0038 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
5,953,804.8 ns |
117,046.49 ns |
216,953.19 ns |
1.001 |
0.05 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
494.2 ns |
4.09 ns |
3.62 ns |
0.000 |
0.00 |
0.0038 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
794.3 ns |
7.54 ns |
6.68 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
803.3 ns |
6.16 ns |
5.77 ns |
0.0010 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
984.6 ns |
5.49 ns |
4.58 ns |
0.0019 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,464.9 ns |
22.62 ns |
21.16 ns |
0.0076 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
304.0 ns |
2.76 ns |
2.58 ns |
- |
24 B |
| PredicateRoundTrip |
True |
False |
True |
305.2 ns |
3.04 ns |
2.84 ns |
- |
24 B |
| PredicateRoundTrip |
True |
True |
False |
470.7 ns |
2.72 ns |
2.54 ns |
0.0010 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
2,936.4 ns |
29.64 ns |
26.27 ns |
0.0076 |
712 B |
core-ubuntu-24.04_net8.0_corretto_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
473.62 ns |
3.688 ns |
3.450 ns |
0.0009 |
80 B |
| PredicateSustained |
False |
False |
True |
478.67 ns |
3.836 ns |
3.588 ns |
0.0009 |
80 B |
| PredicateSustained |
False |
True |
False |
624.49 ns |
3.858 ns |
3.609 ns |
0.0013 |
176 B |
| PredicateSustained |
False |
True |
True |
3,184.41 ns |
22.180 ns |
19.662 ns |
0.0050 |
768 B |
| PredicateSustained |
True |
False |
False |
46.54 ns |
0.413 ns |
0.386 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
46.49 ns |
0.901 ns |
1.264 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
169.40 ns |
0.579 ns |
0.513 ns |
0.0009 |
96 B |
| PredicateSustained |
True |
True |
True |
2,608.73 ns |
40.828 ns |
36.193 ns |
0.0050 |
688 B |
core-ubuntu-24.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
553.7 ns |
5.15 ns |
4.82 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,444.7 ns |
32.36 ns |
27.02 ns |
11.64 |
0.11 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,255.3 ns |
7.57 ns |
7.08 ns |
2.27 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,286.0 ns |
7.97 ns |
7.45 ns |
2.32 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,491.5 ns |
68.68 ns |
64.25 ns |
15.34 |
0.17 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
556.1 ns |
4.34 ns |
3.85 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
481,877.0 ns |
1,815.89 ns |
1,698.58 ns |
866.63 |
6.47 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,022.4 ns |
9.46 ns |
7.90 ns |
3.64 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,017.8 ns |
7.10 ns |
6.30 ns |
3.63 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
717,980.7 ns |
4,918.73 ns |
4,600.99 ns |
1,291.24 |
11.74 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
552.5 ns |
3.90 ns |
3.45 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,453,346.5 ns |
474,909.89 ns |
396,571.26 ns |
109,426.03 |
957.57 |
1111.1111 |
1000.0000 |
333.3333 |
16001373 B |
46,515.62 |
| InvokeIntArrayFixed |
100000 |
63,597.1 ns |
153.71 ns |
136.26 ns |
115.12 |
0.74 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
63,749.8 ns |
162.03 ns |
135.30 ns |
115.39 |
0.74 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
86,077,897.8 ns |
721,795.98 ns |
639,853.34 ns |
155,808.78 |
1,463.21 |
1833.3333 |
1666.6667 |
833.3333 |
27896907 B |
81,095.66 |
core-ubuntu-24.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.199 μs |
0.0056 μs |
0.0052 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.203 μs |
0.0031 μs |
0.0028 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.183 μs |
0.0069 μs |
0.0065 μs |
0.99 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
103.1 ns |
0.90 ns |
0.80 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
125.5 ns |
1.11 ns |
1.04 ns |
1.22 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
110.0 ns |
0.75 ns |
0.70 ns |
1.07 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
676.9 ns |
2.99 ns |
2.79 ns |
6.56 |
0.06 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
111.2 ns |
0.54 ns |
0.48 ns |
1.08 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
128.6 ns |
0.80 ns |
0.67 ns |
1.25 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
102.9 ns |
0.73 ns |
0.64 ns |
1.00 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
639.3 ns |
3.30 ns |
2.92 ns |
6.20 |
0.05 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
136.9 ns |
1.15 ns |
1.08 ns |
1.33 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
306.6 ns |
2.24 ns |
2.09 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
281.9 ns |
1.71 ns |
1.60 ns |
0.92 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
567.2 ns |
3.65 ns |
3.05 ns |
1.85 |
0.02 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
292.5 ns |
1.67 ns |
1.56 ns |
0.95 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
542.2 ns |
4.47 ns |
3.96 ns |
1.77 |
0.02 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.398 μs |
0.0085 μs |
0.0076 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,045.9 ns |
14.79 ns |
13.84 ns |
1.00 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
586.8 ns |
4.12 ns |
3.85 ns |
0.29 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
62,658.0 ns |
357.94 ns |
317.31 ns |
1.00 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
640.1 ns |
5.49 ns |
5.13 ns |
0.01 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,904,377.9 ns |
89,123.34 ns |
79,005.52 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400656 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
656.8 ns |
4.33 ns |
4.05 ns |
0.000 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,076.6 ns |
7.28 ns |
6.81 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,046.3 ns |
6.90 ns |
5.76 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,305.2 ns |
4.74 ns |
4.20 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,562.9 ns |
22.62 ns |
21.16 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
391.9 ns |
3.67 ns |
3.43 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
415.4 ns |
2.97 ns |
2.64 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
625.0 ns |
4.38 ns |
4.10 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,043.2 ns |
28.57 ns |
23.86 ns |
0.0381 |
712 B |
core-ubuntu-24.04_net8.0_corretto_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
524.09 ns |
3.669 ns |
3.432 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
524.45 ns |
3.692 ns |
3.453 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
711.54 ns |
2.307 ns |
2.045 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,055.39 ns |
21.799 ns |
20.391 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
40.15 ns |
0.561 ns |
0.524 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
40.86 ns |
0.566 ns |
0.530 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
184.82 ns |
0.856 ns |
0.714 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,358.20 ns |
26.190 ns |
23.217 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
590.7 ns |
4.40 ns |
3.90 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,351.9 ns |
32.83 ns |
30.71 ns |
10.75 |
0.08 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,234.2 ns |
6.91 ns |
6.12 ns |
2.09 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,262.7 ns |
5.52 ns |
4.61 ns |
2.14 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,644.3 ns |
62.40 ns |
55.32 ns |
14.63 |
0.13 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
566.9 ns |
5.53 ns |
4.90 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
487,604.5 ns |
3,746.05 ns |
3,504.06 ns |
860.22 |
9.38 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,015.3 ns |
12.93 ns |
11.46 ns |
3.56 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,049.8 ns |
10.53 ns |
9.85 ns |
3.62 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
682,590.2 ns |
2,754.93 ns |
2,300.49 ns |
1,204.21 |
10.84 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
561.3 ns |
4.28 ns |
4.01 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,776,890.0 ns |
445,734.53 ns |
395,132.05 ns |
104,728.70 |
991.09 |
1111.1111 |
1000.0000 |
333.3333 |
16001604 B |
46,516.29 |
| InvokeIntArrayFixed |
100000 |
63,846.9 ns |
255.93 ns |
226.88 ns |
113.76 |
0.88 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
63,998.2 ns |
297.90 ns |
264.08 ns |
114.03 |
0.91 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
86,207,323.7 ns |
1,212,721.87 ns |
1,134,380.79 ns |
153,604.27 |
2,224.41 |
1666.6667 |
1500.0000 |
666.6667 |
27894693 B |
81,089.22 |
core-ubuntu-24.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.163 μs |
0.0049 μs |
0.0046 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.199 μs |
0.0067 μs |
0.0063 μs |
1.03 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.163 μs |
0.0103 μs |
0.0086 μs |
1.00 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
100.4 ns |
0.74 ns |
0.69 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
127.7 ns |
1.32 ns |
1.17 ns |
1.27 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
103.5 ns |
1.00 ns |
0.84 ns |
1.03 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
630.7 ns |
4.24 ns |
3.76 ns |
6.28 |
0.06 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
106.2 ns |
0.71 ns |
0.67 ns |
1.06 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
125.4 ns |
0.96 ns |
0.85 ns |
1.25 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
103.6 ns |
0.72 ns |
0.64 ns |
1.03 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
652.1 ns |
3.26 ns |
2.72 ns |
6.50 |
0.05 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
145.6 ns |
1.46 ns |
1.36 ns |
1.45 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
273.4 ns |
1.67 ns |
1.56 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
266.8 ns |
1.60 ns |
1.50 ns |
0.98 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
564.3 ns |
4.71 ns |
4.17 ns |
2.06 |
0.02 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
282.8 ns |
1.54 ns |
1.36 ns |
1.03 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
549.2 ns |
3.44 ns |
3.05 ns |
2.01 |
0.02 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.424 μs |
0.0109 μs |
0.0096 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,089.8 ns |
7.32 ns |
6.49 ns |
1.00 |
0.00 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
604.2 ns |
3.00 ns |
2.66 ns |
0.29 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
62,879.1 ns |
950.52 ns |
889.12 ns |
1.000 |
0.02 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
615.9 ns |
4.16 ns |
3.89 ns |
0.010 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,284,085.2 ns |
85,541.88 ns |
75,830.65 ns |
1.000 |
0.01 |
78.1250 |
78.1250 |
78.1250 |
2400906 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
658.6 ns |
5.54 ns |
4.91 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,042.4 ns |
5.24 ns |
4.90 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,048.7 ns |
5.07 ns |
4.49 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,273.0 ns |
3.24 ns |
2.87 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,512.3 ns |
27.70 ns |
24.55 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
408.6 ns |
4.09 ns |
3.42 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
444.2 ns |
2.38 ns |
2.11 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
613.0 ns |
4.65 ns |
3.63 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,817.7 ns |
15.87 ns |
12.39 ns |
0.0381 |
712 B |
core-ubuntu-24.04_net8.0_corretto_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
523.15 ns |
4.158 ns |
3.889 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
522.72 ns |
5.708 ns |
5.060 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
710.14 ns |
6.751 ns |
6.315 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,963.18 ns |
25.961 ns |
24.284 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
41.02 ns |
0.697 ns |
0.618 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
40.97 ns |
0.754 ns |
0.740 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
192.33 ns |
2.108 ns |
1.971 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,247.44 ns |
15.257 ns |
12.740 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
529.3 ns |
3.15 ns |
2.95 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,816.0 ns |
20.33 ns |
16.98 ns |
12.88 |
0.08 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,285.7 ns |
5.91 ns |
5.53 ns |
2.43 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,278.9 ns |
8.17 ns |
7.24 ns |
2.42 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,861.5 ns |
44.90 ns |
39.81 ns |
16.74 |
0.12 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
578.6 ns |
3.99 ns |
3.73 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
496,796.7 ns |
1,872.16 ns |
1,659.62 ns |
858.69 |
6.04 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,972.7 ns |
10.14 ns |
8.47 ns |
3.41 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,006.4 ns |
12.98 ns |
12.14 ns |
3.47 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
686,266.6 ns |
2,887.63 ns |
2,411.30 ns |
1,186.17 |
8.44 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
565.5 ns |
4.34 ns |
4.06 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,092,079.2 ns |
557,209.03 ns |
521,213.67 ns |
104,506.84 |
1,151.31 |
1111.1111 |
1000.0000 |
333.3333 |
16002635 B |
46,519.29 |
| InvokeIntArrayFixed |
100000 |
62,224.5 ns |
203.77 ns |
190.61 ns |
110.05 |
0.83 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
62,176.9 ns |
176.86 ns |
156.78 ns |
109.96 |
0.81 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
86,056,104.1 ns |
956,205.14 ns |
894,434.88 ns |
152,193.85 |
1,862.17 |
1666.6667 |
1500.0000 |
666.6667 |
27894277 B |
81,088.01 |
core-ubuntu-24.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.155 μs |
0.0047 μs |
0.0044 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.146 μs |
0.0045 μs |
0.0040 μs |
0.99 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.188 μs |
0.0039 μs |
0.0032 μs |
1.03 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
94.31 ns |
0.596 ns |
0.557 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
117.28 ns |
1.498 ns |
1.401 ns |
1.24 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
104.41 ns |
0.635 ns |
0.594 ns |
1.11 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
619.37 ns |
3.903 ns |
3.651 ns |
6.57 |
0.05 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
100.26 ns |
0.842 ns |
0.747 ns |
1.06 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
137.21 ns |
1.185 ns |
1.051 ns |
1.45 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
95.03 ns |
0.596 ns |
0.557 ns |
1.01 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
631.66 ns |
3.303 ns |
3.089 ns |
6.70 |
0.05 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
138.27 ns |
1.243 ns |
1.163 ns |
1.47 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
273.8 ns |
2.20 ns |
2.06 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
250.6 ns |
1.39 ns |
1.30 ns |
0.92 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
565.2 ns |
3.85 ns |
3.60 ns |
2.06 |
0.02 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
280.0 ns |
2.43 ns |
2.15 ns |
1.02 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
524.9 ns |
2.95 ns |
2.76 ns |
1.92 |
0.02 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.405 μs |
0.0070 μs |
0.0059 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,084.8 ns |
13.85 ns |
12.95 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
608.2 ns |
5.28 ns |
4.94 ns |
0.29 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
63,645.7 ns |
664.54 ns |
621.61 ns |
1.000 |
0.01 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
606.4 ns |
3.16 ns |
2.96 ns |
0.010 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,798,709.2 ns |
147,778.81 ns |
138,232.39 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400656 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
688.6 ns |
4.23 ns |
3.75 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,043.9 ns |
8.40 ns |
7.86 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,056.4 ns |
8.91 ns |
8.33 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,339.8 ns |
6.73 ns |
6.29 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,509.2 ns |
8.40 ns |
6.56 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
411.5 ns |
2.39 ns |
2.23 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
407.2 ns |
3.62 ns |
3.38 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
628.0 ns |
2.79 ns |
2.61 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,885.1 ns |
14.83 ns |
13.14 ns |
0.0381 |
712 B |
core-ubuntu-24.04_net8.0_corretto_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.87GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
512.47 ns |
5.073 ns |
4.746 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
510.05 ns |
5.291 ns |
4.949 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
671.68 ns |
2.290 ns |
2.142 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,904.21 ns |
27.212 ns |
24.123 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
42.23 ns |
0.313 ns |
0.293 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
41.54 ns |
0.502 ns |
0.470 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
186.95 ns |
1.207 ns |
1.129 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,310.73 ns |
22.501 ns |
21.047 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
586.9 ns |
7.05 ns |
6.60 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,313.7 ns |
52.90 ns |
49.48 ns |
10.76 |
0.14 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,325.3 ns |
8.07 ns |
7.16 ns |
2.26 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,315.5 ns |
8.02 ns |
7.50 ns |
2.24 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,740.3 ns |
67.07 ns |
62.74 ns |
14.89 |
0.19 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
572.2 ns |
6.29 ns |
5.58 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
501,344.5 ns |
2,152.66 ns |
1,908.28 ns |
876.29 |
8.91 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,718.1 ns |
10.31 ns |
9.65 ns |
3.00 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,738.5 ns |
9.29 ns |
8.69 ns |
3.04 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
692,294.4 ns |
7,618.33 ns |
7,126.19 ns |
1,210.05 |
16.65 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
576.2 ns |
4.82 ns |
4.51 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,301,935.7 ns |
579,946.55 ns |
542,482.36 ns |
104,658.97 |
1,207.37 |
1111.1111 |
1000.0000 |
333.3333 |
16003067 B |
46,520.54 |
| InvokeIntArrayFixed |
100000 |
38,751.8 ns |
630.05 ns |
589.35 ns |
67.26 |
1.11 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
38,413.6 ns |
352.97 ns |
330.17 ns |
66.67 |
0.75 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,728,393.3 ns |
1,123,228.73 ns |
1,050,668.85 ns |
147,053.10 |
2,086.79 |
1833.3333 |
1666.6667 |
833.3333 |
27896824 B |
81,095.42 |
core-ubuntu-24.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.228 μs |
0.0096 μs |
0.0090 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.240 μs |
0.0046 μs |
0.0043 μs |
1.01 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.223 μs |
0.0054 μs |
0.0048 μs |
1.00 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
92.68 ns |
0.604 ns |
0.565 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
116.62 ns |
1.046 ns |
0.978 ns |
1.26 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
96.00 ns |
1.254 ns |
1.173 ns |
1.04 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
662.73 ns |
4.193 ns |
3.922 ns |
7.15 |
0.06 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
97.43 ns |
0.710 ns |
0.593 ns |
1.05 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
116.70 ns |
1.002 ns |
0.937 ns |
1.26 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
93.56 ns |
1.041 ns |
0.974 ns |
1.01 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
671.05 ns |
2.807 ns |
2.344 ns |
7.24 |
0.05 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
136.22 ns |
0.985 ns |
0.822 ns |
1.47 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
307.0 ns |
3.63 ns |
3.40 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
264.2 ns |
2.62 ns |
2.45 ns |
0.86 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
577.6 ns |
7.62 ns |
7.13 ns |
1.88 |
0.03 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
308.0 ns |
2.08 ns |
1.94 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
567.0 ns |
4.27 ns |
3.56 ns |
1.85 |
0.02 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.447 μs |
0.0075 μs |
0.0070 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,069.3 ns |
14.92 ns |
13.96 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
636.9 ns |
5.82 ns |
5.44 ns |
0.31 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
56,061.9 ns |
787.50 ns |
736.63 ns |
1.00 |
0.02 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
629.1 ns |
7.27 ns |
6.80 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,178,447.3 ns |
123,781.98 ns |
115,785.74 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400689 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
671.9 ns |
7.03 ns |
6.57 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,072.7 ns |
7.80 ns |
6.92 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,048.6 ns |
13.07 ns |
12.22 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,281.9 ns |
7.19 ns |
6.37 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,731.4 ns |
22.58 ns |
20.01 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
445.0 ns |
4.82 ns |
4.51 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
429.9 ns |
3.47 ns |
3.25 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
638.5 ns |
2.05 ns |
1.82 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,049.7 ns |
19.65 ns |
17.42 ns |
0.0381 |
712 B |
core-ubuntu-24.04_net8.0_graalvm_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
543.22 ns |
8.316 ns |
7.779 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
541.88 ns |
3.816 ns |
3.570 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
744.19 ns |
2.124 ns |
1.658 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,031.68 ns |
41.800 ns |
34.905 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
37.16 ns |
0.344 ns |
0.322 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
37.37 ns |
0.353 ns |
0.330 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
191.59 ns |
0.991 ns |
0.879 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,376.72 ns |
31.420 ns |
27.853 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
569.0 ns |
7.34 ns |
6.87 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,219.9 ns |
22.83 ns |
19.07 ns |
10.93 |
0.13 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,265.9 ns |
11.00 ns |
9.19 ns |
2.23 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,298.9 ns |
12.30 ns |
11.51 ns |
2.28 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,377.0 ns |
47.37 ns |
41.99 ns |
14.72 |
0.19 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
573.5 ns |
6.44 ns |
5.71 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
472,772.3 ns |
3,205.87 ns |
2,998.77 ns |
824.46 |
9.43 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,737.8 ns |
11.10 ns |
9.84 ns |
3.03 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,739.1 ns |
9.45 ns |
8.84 ns |
3.03 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
676,087.3 ns |
2,784.85 ns |
2,468.69 ns |
1,179.02 |
12.12 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
553.5 ns |
5.42 ns |
5.07 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,630,280.5 ns |
447,618.00 ns |
418,702.16 ns |
109,546.16 |
1,214.34 |
1111.1111 |
1000.0000 |
333.3333 |
16001964 B |
46,517.34 |
| InvokeIntArrayFixed |
100000 |
43,019.2 ns |
242.77 ns |
227.09 ns |
77.73 |
0.79 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
43,119.5 ns |
253.46 ns |
237.09 ns |
77.91 |
0.80 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,151,479.8 ns |
1,109,432.62 ns |
983,483.12 ns |
152,044.02 |
2,180.34 |
1833.3333 |
1666.6667 |
833.3333 |
27896439 B |
81,094.30 |
core-ubuntu-24.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.179 μs |
0.0054 μs |
0.0050 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.200 μs |
0.0068 μs |
0.0063 μs |
1.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.162 μs |
0.0055 μs |
0.0051 μs |
0.99 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
86.60 ns |
0.983 ns |
0.920 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
110.24 ns |
0.969 ns |
0.906 ns |
1.27 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
94.34 ns |
1.265 ns |
1.184 ns |
1.09 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
624.35 ns |
2.493 ns |
2.210 ns |
7.21 |
0.08 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
102.08 ns |
0.591 ns |
0.553 ns |
1.18 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
109.70 ns |
1.170 ns |
1.037 ns |
1.27 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
94.50 ns |
0.662 ns |
0.619 ns |
1.09 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
630.39 ns |
3.339 ns |
3.123 ns |
7.28 |
0.08 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
118.32 ns |
1.498 ns |
1.328 ns |
1.37 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
283.1 ns |
3.26 ns |
3.05 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
262.3 ns |
2.42 ns |
2.26 ns |
0.93 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
557.5 ns |
4.90 ns |
4.34 ns |
1.97 |
0.03 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
294.5 ns |
3.60 ns |
3.01 ns |
1.04 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
582.4 ns |
6.84 ns |
6.40 ns |
2.06 |
0.03 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.445 μs |
0.0054 μs |
0.0051 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,067.4 ns |
24.79 ns |
23.19 ns |
1.00 |
0.02 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
635.1 ns |
10.42 ns |
9.75 ns |
0.31 |
0.01 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
58,784.0 ns |
620.58 ns |
580.49 ns |
1.00 |
0.01 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
621.9 ns |
5.90 ns |
5.23 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,128,227.9 ns |
79,913.78 ns |
74,751.40 ns |
1.000 |
0.01 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
684.5 ns |
9.46 ns |
8.38 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,034.3 ns |
12.18 ns |
11.39 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,003.2 ns |
9.63 ns |
9.01 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,328.6 ns |
6.39 ns |
5.98 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,478.4 ns |
32.50 ns |
28.81 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
405.3 ns |
5.80 ns |
5.43 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
417.9 ns |
3.31 ns |
2.94 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
625.2 ns |
2.58 ns |
2.29 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,782.7 ns |
16.46 ns |
15.39 ns |
0.0420 |
712 B |
core-ubuntu-24.04_net8.0_graalvm_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
543.74 ns |
6.226 ns |
5.824 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
540.92 ns |
6.638 ns |
6.209 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
699.64 ns |
2.113 ns |
1.650 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,924.19 ns |
21.242 ns |
19.870 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
37.18 ns |
0.439 ns |
0.367 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
37.01 ns |
0.303 ns |
0.283 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
187.50 ns |
1.530 ns |
1.431 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,247.62 ns |
24.414 ns |
21.642 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
598.7 ns |
3.92 ns |
3.66 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,266.2 ns |
21.95 ns |
19.46 ns |
10.47 |
0.07 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,315.4 ns |
6.49 ns |
6.07 ns |
2.20 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,278.8 ns |
5.09 ns |
4.51 ns |
2.14 |
0.01 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,605.3 ns |
24.09 ns |
18.81 ns |
14.37 |
0.09 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
593.3 ns |
3.78 ns |
3.54 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
475,347.9 ns |
4,430.33 ns |
3,927.37 ns |
801.21 |
7.90 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,712.1 ns |
8.43 ns |
7.48 ns |
2.89 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,693.5 ns |
10.52 ns |
8.78 ns |
2.85 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
718,009.8 ns |
6,989.01 ns |
6,537.52 ns |
1,210.22 |
12.76 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
600.9 ns |
6.45 ns |
5.72 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,053,159.5 ns |
411,376.29 ns |
384,801.64 ns |
98,290.79 |
1,103.27 |
1111.1111 |
1000.0000 |
333.3333 |
16001499 B |
46,515.99 |
| InvokeIntArrayFixed |
100000 |
38,186.3 ns |
228.49 ns |
202.55 ns |
63.56 |
0.67 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
37,997.4 ns |
363.05 ns |
339.60 ns |
63.24 |
0.80 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,838,546.8 ns |
986,896.29 ns |
923,143.40 ns |
141,209.17 |
1,983.03 |
1666.6667 |
1500.0000 |
666.6667 |
27893659 B |
81,086.22 |
core-ubuntu-24.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.210 μs |
0.0051 μs |
0.0045 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.219 μs |
0.0040 μs |
0.0036 μs |
1.01 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.202 μs |
0.0062 μs |
0.0055 μs |
0.99 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
85.97 ns |
1.030 ns |
0.913 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
112.85 ns |
1.391 ns |
1.301 ns |
1.31 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
92.80 ns |
1.460 ns |
1.366 ns |
1.08 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
628.59 ns |
3.176 ns |
2.971 ns |
7.31 |
0.08 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
93.20 ns |
0.806 ns |
0.714 ns |
1.08 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
115.22 ns |
1.240 ns |
1.099 ns |
1.34 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
93.64 ns |
0.483 ns |
0.428 ns |
1.09 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
626.43 ns |
3.501 ns |
2.924 ns |
7.29 |
0.08 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
116.38 ns |
1.139 ns |
1.065 ns |
1.35 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
293.8 ns |
2.55 ns |
2.38 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
265.1 ns |
2.13 ns |
1.99 ns |
0.90 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
572.5 ns |
5.84 ns |
5.46 ns |
1.95 |
0.02 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
324.2 ns |
2.87 ns |
2.54 ns |
1.10 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
613.5 ns |
5.29 ns |
4.94 ns |
2.09 |
0.02 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.446 μs |
0.0078 μs |
0.0069 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,122.3 ns |
13.77 ns |
12.88 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
655.7 ns |
6.88 ns |
6.44 ns |
0.31 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
73,245.6 ns |
967.35 ns |
857.53 ns |
1.000 |
0.02 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
650.7 ns |
6.77 ns |
6.33 ns |
0.009 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,818,462.9 ns |
155,919.16 ns |
173,303.74 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
722.5 ns |
10.29 ns |
9.63 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,014.9 ns |
10.44 ns |
9.77 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,018.2 ns |
13.54 ns |
12.67 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,281.9 ns |
4.30 ns |
3.81 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,593.3 ns |
25.51 ns |
23.86 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
431.9 ns |
3.59 ns |
3.18 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
442.4 ns |
4.38 ns |
3.89 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
648.9 ns |
3.03 ns |
2.83 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,101.8 ns |
25.26 ns |
22.39 ns |
0.0381 |
712 B |
core-ubuntu-24.04_net8.0_graalvm_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
547.12 ns |
5.132 ns |
4.800 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
552.28 ns |
3.624 ns |
3.390 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
724.26 ns |
3.808 ns |
3.180 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,053.61 ns |
19.251 ns |
17.066 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
38.79 ns |
0.430 ns |
0.381 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
38.90 ns |
0.303 ns |
0.268 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
188.51 ns |
0.875 ns |
0.731 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,374.05 ns |
14.290 ns |
12.667 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
443.1 ns |
2.34 ns |
2.07 ns |
1.00 |
0.01 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
5,187.5 ns |
37.40 ns |
33.15 ns |
11.71 |
0.09 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,020.9 ns |
5.86 ns |
5.19 ns |
2.30 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,055.8 ns |
6.55 ns |
6.13 ns |
2.38 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
6,920.0 ns |
48.12 ns |
45.01 ns |
15.62 |
0.12 |
0.2060 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
439.1 ns |
3.22 ns |
3.01 ns |
1.00 |
0.01 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
385,686.6 ns |
2,050.01 ns |
1,817.28 ns |
878.47 |
7.06 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,604.4 ns |
6.38 ns |
5.97 ns |
3.65 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,618.5 ns |
6.89 ns |
6.10 ns |
3.69 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
532,338.4 ns |
6,416.30 ns |
5,687.89 ns |
1,212.49 |
14.86 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
438.6 ns |
5.14 ns |
4.81 ns |
1.00 |
0.01 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
47,746,539.2 ns |
608,329.62 ns |
569,031.91 ns |
108,882.22 |
1,702.49 |
1000.0000 |
909.0909 |
272.7273 |
16001804 B |
46,516.87 |
| InvokeIntArrayFixed |
100000 |
51,741.1 ns |
125.31 ns |
117.22 ns |
117.99 |
1.27 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
51,802.8 ns |
119.60 ns |
111.87 ns |
118.13 |
1.27 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
68,749,317.5 ns |
1,001,656.74 ns |
936,950.34 ns |
156,777.40 |
2,648.85 |
2000.0000 |
1875.0000 |
875.0000 |
27896665 B |
81,094.96 |
core-ubuntu-24.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
934.0 ns |
4.51 ns |
4.22 ns |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
954.0 ns |
5.57 ns |
5.21 ns |
1.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
952.7 ns |
4.97 ns |
4.40 ns |
1.02 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
78.33 ns |
0.480 ns |
0.425 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
97.02 ns |
0.518 ns |
0.485 ns |
1.24 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
82.33 ns |
0.695 ns |
0.650 ns |
1.05 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
519.56 ns |
4.361 ns |
4.080 ns |
6.63 |
0.06 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
84.75 ns |
0.726 ns |
0.679 ns |
1.08 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
103.20 ns |
0.598 ns |
0.530 ns |
1.32 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
79.96 ns |
0.688 ns |
0.643 ns |
1.02 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
518.66 ns |
3.083 ns |
2.884 ns |
6.62 |
0.05 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
114.74 ns |
0.749 ns |
0.664 ns |
1.46 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
250.4 ns |
2.43 ns |
2.27 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
233.9 ns |
1.30 ns |
1.21 ns |
0.93 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
432.1 ns |
1.98 ns |
1.86 ns |
1.73 |
0.02 |
0.0205 |
344 B |
NA |
| InvokeInstanceEmpty |
264.9 ns |
2.14 ns |
1.89 ns |
1.06 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
418.4 ns |
1.74 ns |
1.55 ns |
1.67 |
0.02 |
0.0205 |
344 B |
NA |
core-ubuntu-24.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.128 μs |
0.0053 μs |
0.0044 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,648.6 ns |
7.83 ns |
7.32 ns |
1.00 |
0.01 |
0.0401 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
466.8 ns |
2.19 ns |
1.94 ns |
0.28 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
47,272.3 ns |
308.06 ns |
257.24 ns |
1.000 |
0.01 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
447.0 ns |
3.39 ns |
3.17 ns |
0.009 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,646,859.3 ns |
130,467.17 ns |
128,136.20 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400916 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
514.6 ns |
5.13 ns |
4.80 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
834.1 ns |
4.24 ns |
3.96 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
835.0 ns |
4.83 ns |
4.28 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,026.1 ns |
4.80 ns |
4.49 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,630.6 ns |
14.29 ns |
13.36 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
309.3 ns |
2.79 ns |
2.61 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
319.1 ns |
2.43 ns |
2.27 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
470.8 ns |
1.72 ns |
1.52 ns |
0.0072 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,119.9 ns |
14.61 ns |
13.66 ns |
0.0420 |
712 B |
core-ubuntu-24.04_net8.0_microsoft_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
424.08 ns |
2.747 ns |
2.569 ns |
0.0042 |
80 B |
| PredicateSustained |
False |
False |
True |
425.85 ns |
2.933 ns |
2.743 ns |
0.0042 |
80 B |
| PredicateSustained |
False |
True |
False |
565.73 ns |
2.553 ns |
2.388 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,182.29 ns |
15.911 ns |
14.105 ns |
0.0450 |
768 B |
| PredicateSustained |
True |
False |
False |
32.14 ns |
0.217 ns |
0.193 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
31.57 ns |
0.239 ns |
0.212 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
145.62 ns |
0.451 ns |
0.422 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,640.17 ns |
15.414 ns |
14.418 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
603.4 ns |
3.77 ns |
3.53 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,469.3 ns |
39.03 ns |
34.60 ns |
10.72 |
0.08 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,281.9 ns |
3.87 ns |
3.24 ns |
2.12 |
0.01 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,278.7 ns |
13.84 ns |
12.27 ns |
2.12 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,539.0 ns |
65.66 ns |
61.42 ns |
14.15 |
0.13 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
591.0 ns |
5.26 ns |
4.92 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
497,769.9 ns |
6,344.98 ns |
5,624.66 ns |
842.26 |
11.45 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,955.4 ns |
12.69 ns |
11.87 ns |
3.31 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,982.9 ns |
10.73 ns |
10.04 ns |
3.36 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
705,997.1 ns |
2,696.30 ns |
2,390.20 ns |
1,194.60 |
10.44 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
588.5 ns |
4.09 ns |
3.83 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,883,486.0 ns |
733,658.94 ns |
612,638.44 ns |
103,458.74 |
1,197.79 |
1000.0000 |
875.0000 |
250.0000 |
16001766 B |
46,516.76 |
| InvokeIntArrayFixed |
100000 |
70,565.5 ns |
1,295.94 ns |
1,212.22 ns |
119.91 |
2.13 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
70,453.0 ns |
1,305.54 ns |
1,282.21 ns |
119.72 |
2.25 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
87,680,509.2 ns |
1,374,481.91 ns |
1,285,691.23 ns |
148,994.67 |
2,316.11 |
1833.3333 |
1666.6667 |
833.3333 |
27896233 B |
81,093.70 |
core-ubuntu-24.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.209 μs |
0.0085 μs |
0.0080 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.175 μs |
0.0068 μs |
0.0064 μs |
0.97 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.185 μs |
0.0112 μs |
0.0105 μs |
0.98 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
95.41 ns |
0.740 ns |
0.656 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
125.39 ns |
1.073 ns |
1.004 ns |
1.31 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
101.02 ns |
0.725 ns |
0.678 ns |
1.06 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
662.80 ns |
2.816 ns |
2.634 ns |
6.95 |
0.05 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
101.65 ns |
1.070 ns |
1.001 ns |
1.07 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
119.04 ns |
1.008 ns |
0.943 ns |
1.25 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
93.12 ns |
1.155 ns |
1.080 ns |
0.98 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
664.03 ns |
5.711 ns |
5.342 ns |
6.96 |
0.07 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
132.81 ns |
1.148 ns |
1.074 ns |
1.39 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
283.7 ns |
4.08 ns |
3.81 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
249.5 ns |
1.85 ns |
1.54 ns |
0.88 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
566.9 ns |
8.67 ns |
8.11 ns |
2.00 |
0.04 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
304.3 ns |
2.45 ns |
2.17 ns |
1.07 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
559.7 ns |
7.32 ns |
6.85 ns |
1.97 |
0.03 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.439 μs |
0.0073 μs |
0.0065 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,975.7 ns |
14.45 ns |
13.51 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
635.0 ns |
8.25 ns |
7.72 ns |
0.32 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
57,019.3 ns |
678.82 ns |
634.97 ns |
1.00 |
0.02 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
605.2 ns |
7.36 ns |
6.53 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,818,049.1 ns |
54,299.01 ns |
50,791.33 ns |
1.000 |
0.01 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
662.9 ns |
11.94 ns |
10.58 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,022.9 ns |
15.14 ns |
14.16 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,035.6 ns |
10.51 ns |
9.83 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,252.0 ns |
4.44 ns |
4.15 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,602.1 ns |
49.65 ns |
46.45 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
419.1 ns |
3.01 ns |
2.67 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
435.9 ns |
5.13 ns |
4.80 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
676.0 ns |
1.93 ns |
1.81 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,961.5 ns |
21.23 ns |
18.82 ns |
0.0381 |
712 B |
core-ubuntu-24.04_net8.0_microsoft_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
539.51 ns |
7.085 ns |
6.627 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
527.50 ns |
7.012 ns |
6.216 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
718.88 ns |
5.624 ns |
5.261 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,922.75 ns |
21.089 ns |
19.726 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
38.34 ns |
0.305 ns |
0.286 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
37.51 ns |
0.321 ns |
0.301 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
203.43 ns |
2.113 ns |
1.977 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,342.18 ns |
11.694 ns |
9.765 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
585.4 ns |
9.43 ns |
8.82 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,252.4 ns |
38.01 ns |
35.55 ns |
10.68 |
0.17 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,274.2 ns |
9.43 ns |
7.88 ns |
2.18 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,255.5 ns |
6.91 ns |
6.46 ns |
2.15 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,557.9 ns |
69.29 ns |
61.43 ns |
14.62 |
0.24 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
568.2 ns |
5.69 ns |
5.32 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
477,517.7 ns |
2,156.45 ns |
1,911.64 ns |
840.43 |
8.28 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,901.2 ns |
10.68 ns |
9.99 ns |
3.35 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,913.5 ns |
10.07 ns |
8.92 ns |
3.37 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
670,041.0 ns |
5,104.72 ns |
4,525.20 ns |
1,179.27 |
13.17 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
571.0 ns |
6.99 ns |
6.54 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,200,698.4 ns |
705,858.55 ns |
625,725.22 ns |
103,693.43 |
1,559.30 |
1111.1111 |
1000.0000 |
333.3333 |
16002745 B |
46,519.61 |
| InvokeIntArrayFixed |
100000 |
66,357.7 ns |
667.41 ns |
624.29 ns |
116.23 |
1.66 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
65,433.0 ns |
501.73 ns |
444.77 ns |
114.61 |
1.47 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,205,901.5 ns |
862,983.70 ns |
807,235.49 ns |
147,491.49 |
2,127.22 |
1833.3333 |
1666.6667 |
833.3333 |
27896719 B |
81,095.11 |
core-ubuntu-24.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.206 μs |
0.0058 μs |
0.0051 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.172 μs |
0.0067 μs |
0.0063 μs |
0.97 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.184 μs |
0.0059 μs |
0.0055 μs |
0.98 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
89.05 ns |
0.429 ns |
0.402 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
112.84 ns |
0.960 ns |
0.898 ns |
1.27 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
88.48 ns |
0.765 ns |
0.716 ns |
0.99 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
657.32 ns |
5.193 ns |
4.604 ns |
7.38 |
0.06 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
92.57 ns |
1.024 ns |
0.958 ns |
1.04 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
118.33 ns |
1.090 ns |
1.019 ns |
1.33 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
89.11 ns |
1.085 ns |
1.015 ns |
1.00 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
653.69 ns |
2.682 ns |
2.509 ns |
7.34 |
0.04 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
121.70 ns |
1.562 ns |
1.461 ns |
1.37 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
334.3 ns |
4.24 ns |
3.97 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
261.2 ns |
2.85 ns |
2.66 ns |
0.78 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
562.0 ns |
6.73 ns |
6.30 ns |
1.68 |
0.03 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
293.2 ns |
3.83 ns |
3.58 ns |
0.88 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
576.4 ns |
5.55 ns |
5.20 ns |
1.72 |
0.02 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.450 μs |
0.0087 μs |
0.0081 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,028.5 ns |
13.81 ns |
12.92 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
628.6 ns |
7.08 ns |
6.62 ns |
0.31 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
58,071.5 ns |
608.54 ns |
569.22 ns |
1.00 |
0.01 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
604.7 ns |
6.47 ns |
6.05 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,389,743.6 ns |
147,681.99 ns |
151,658.53 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400625 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
694.1 ns |
6.88 ns |
6.44 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,029.8 ns |
10.74 ns |
10.05 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,045.6 ns |
9.73 ns |
9.10 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,242.2 ns |
6.07 ns |
5.68 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,557.7 ns |
24.24 ns |
20.24 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
425.0 ns |
7.16 ns |
6.70 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
426.5 ns |
5.70 ns |
5.33 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
633.6 ns |
1.26 ns |
1.12 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,011.6 ns |
19.09 ns |
16.92 ns |
0.0381 |
712 B |
core-ubuntu-24.04_net8.0_microsoft_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
509.62 ns |
4.331 ns |
3.839 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
527.40 ns |
4.001 ns |
3.547 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
701.10 ns |
3.415 ns |
3.195 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,969.46 ns |
29.549 ns |
27.640 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
37.22 ns |
0.310 ns |
0.290 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
37.62 ns |
0.293 ns |
0.274 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
190.54 ns |
0.805 ns |
0.713 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,275.58 ns |
13.784 ns |
12.219 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
592.0 ns |
6.45 ns |
5.72 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,339.0 ns |
43.67 ns |
40.85 ns |
10.71 |
0.12 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,264.6 ns |
6.62 ns |
5.87 ns |
2.14 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,246.9 ns |
6.60 ns |
5.85 ns |
2.11 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,893.3 ns |
69.42 ns |
64.94 ns |
15.02 |
0.18 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
604.4 ns |
5.39 ns |
5.04 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
480,543.1 ns |
4,374.72 ns |
3,653.09 ns |
795.08 |
8.66 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,915.3 ns |
10.94 ns |
9.14 ns |
3.17 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,908.5 ns |
8.28 ns |
7.34 ns |
3.16 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
712,129.9 ns |
2,881.19 ns |
2,695.06 ns |
1,178.25 |
10.44 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
576.1 ns |
6.28 ns |
5.88 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,767,641.8 ns |
648,396.63 ns |
606,510.61 ns |
103,756.28 |
1,441.24 |
1111.1111 |
1000.0000 |
333.3333 |
16002481 B |
46,518.84 |
| InvokeIntArrayFixed |
100000 |
65,362.7 ns |
337.03 ns |
315.26 ns |
113.47 |
1.23 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
65,274.7 ns |
272.34 ns |
241.42 ns |
113.32 |
1.18 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,241,222.7 ns |
869,734.16 ns |
770,996.68 ns |
146,242.27 |
1,932.33 |
1833.3333 |
1666.6667 |
833.3333 |
27897595 B |
81,097.66 |
core-ubuntu-24.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.166 μs |
0.0064 μs |
0.0056 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.181 μs |
0.0039 μs |
0.0033 μs |
1.01 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.176 μs |
0.0038 μs |
0.0034 μs |
1.01 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
86.88 ns |
0.920 ns |
0.860 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
113.12 ns |
1.048 ns |
0.875 ns |
1.30 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
113.47 ns |
0.463 ns |
0.410 ns |
1.31 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
647.80 ns |
1.780 ns |
1.389 ns |
7.46 |
0.07 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
92.45 ns |
0.678 ns |
0.635 ns |
1.06 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
107.73 ns |
0.933 ns |
0.873 ns |
1.24 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
87.85 ns |
0.745 ns |
0.697 ns |
1.01 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
627.90 ns |
3.411 ns |
2.848 ns |
7.23 |
0.08 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
129.43 ns |
1.545 ns |
1.369 ns |
1.49 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
289.1 ns |
3.10 ns |
2.90 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
274.4 ns |
1.64 ns |
1.37 ns |
0.95 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
572.0 ns |
5.96 ns |
5.58 ns |
1.98 |
0.03 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
315.9 ns |
3.45 ns |
3.23 ns |
1.09 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
595.7 ns |
7.63 ns |
7.14 ns |
2.06 |
0.03 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.430 μs |
0.0076 μs |
0.0067 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,100.5 ns |
12.86 ns |
11.40 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
645.2 ns |
6.17 ns |
5.77 ns |
0.31 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
62,886.1 ns |
535.77 ns |
501.16 ns |
1.000 |
0.01 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
626.9 ns |
4.50 ns |
3.99 ns |
0.010 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
9,695,166.5 ns |
193,202.00 ns |
270,842.25 ns |
1.001 |
0.04 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
711.9 ns |
6.32 ns |
5.91 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,004.1 ns |
11.24 ns |
10.51 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
991.9 ns |
10.34 ns |
9.68 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,237.0 ns |
5.62 ns |
4.69 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,555.1 ns |
26.16 ns |
21.84 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
448.4 ns |
7.52 ns |
7.04 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
440.4 ns |
3.49 ns |
3.26 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
632.9 ns |
2.84 ns |
2.66 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,915.2 ns |
15.70 ns |
13.11 ns |
0.0381 |
712 B |
core-ubuntu-24.04_net8.0_microsoft_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
516.69 ns |
5.858 ns |
5.480 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
526.11 ns |
5.713 ns |
5.344 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
715.69 ns |
4.080 ns |
3.816 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,956.25 ns |
31.171 ns |
29.157 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
39.08 ns |
0.340 ns |
0.318 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
40.51 ns |
0.367 ns |
0.343 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
188.47 ns |
0.770 ns |
0.682 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,366.12 ns |
23.853 ns |
22.312 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
592.5 ns |
4.70 ns |
4.39 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,724.2 ns |
34.13 ns |
30.25 ns |
11.35 |
0.10 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,284.7 ns |
7.89 ns |
6.99 ns |
2.17 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,279.9 ns |
4.40 ns |
3.90 ns |
2.16 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,990.8 ns |
42.03 ns |
39.31 ns |
15.18 |
0.13 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
592.9 ns |
5.07 ns |
4.49 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
501,260.2 ns |
2,253.76 ns |
1,997.90 ns |
845.55 |
6.98 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,981.4 ns |
8.97 ns |
8.39 ns |
3.34 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,960.5 ns |
12.78 ns |
11.95 ns |
3.31 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
722,465.7 ns |
5,762.24 ns |
5,390.00 ns |
1,218.69 |
12.51 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
595.2 ns |
5.98 ns |
5.60 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
62,668,157.6 ns |
719,382.30 ns |
672,910.65 ns |
105,303.40 |
1,454.99 |
1111.1111 |
1000.0000 |
333.3333 |
16001790 B |
46,516.83 |
| InvokeIntArrayFixed |
100000 |
65,774.7 ns |
293.09 ns |
259.81 ns |
110.52 |
1.09 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
65,530.1 ns |
334.81 ns |
313.18 ns |
110.11 |
1.12 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
88,335,452.3 ns |
881,992.36 ns |
781,863.25 ns |
148,433.02 |
1,853.57 |
1833.3333 |
1666.6667 |
833.3333 |
27896297 B |
81,093.89 |
core-ubuntu-24.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.228 μs |
0.0039 μs |
0.0031 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.223 μs |
0.0028 μs |
0.0023 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.231 μs |
0.0097 μs |
0.0091 μs |
1.00 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
95.30 ns |
0.701 ns |
0.655 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
118.26 ns |
0.813 ns |
0.720 ns |
1.24 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
93.27 ns |
1.004 ns |
0.939 ns |
0.98 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
689.93 ns |
4.977 ns |
4.656 ns |
7.24 |
0.07 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
125.67 ns |
0.668 ns |
0.625 ns |
1.32 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
123.20 ns |
1.235 ns |
1.155 ns |
1.29 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
91.26 ns |
0.693 ns |
0.648 ns |
0.96 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
667.04 ns |
2.968 ns |
2.631 ns |
7.00 |
0.05 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
129.77 ns |
1.133 ns |
1.060 ns |
1.36 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
290.0 ns |
2.47 ns |
2.31 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
269.2 ns |
2.95 ns |
2.76 ns |
0.93 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
584.0 ns |
7.78 ns |
7.28 ns |
2.01 |
0.03 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
311.1 ns |
3.25 ns |
3.04 ns |
1.07 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
593.0 ns |
3.69 ns |
3.45 ns |
2.04 |
0.02 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.490 μs |
0.0052 μs |
0.0046 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,079.5 ns |
10.45 ns |
9.27 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
598.5 ns |
7.88 ns |
7.37 ns |
0.29 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
57,522.2 ns |
509.06 ns |
451.27 ns |
1.00 |
0.01 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
615.4 ns |
4.07 ns |
3.61 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,354,150.7 ns |
145,144.40 ns |
188,728.73 ns |
1.001 |
0.04 |
78.1250 |
78.1250 |
78.1250 |
2400689 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
694.1 ns |
7.05 ns |
6.59 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,132.3 ns |
13.08 ns |
12.24 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,064.9 ns |
15.65 ns |
14.64 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,338.4 ns |
6.89 ns |
6.45 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,745.7 ns |
28.16 ns |
24.97 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
444.4 ns |
5.75 ns |
5.38 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
446.7 ns |
2.83 ns |
2.65 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
629.3 ns |
3.82 ns |
3.19 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,978.2 ns |
21.63 ns |
20.23 ns |
0.0381 |
712 B |
core-ubuntu-24.04_net8.0_oracle_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
648.25 ns |
6.274 ns |
5.869 ns |
0.0038 |
80 B |
| PredicateSustained |
False |
False |
True |
564.97 ns |
5.209 ns |
4.349 ns |
0.0044 |
80 B |
| PredicateSustained |
False |
True |
False |
752.65 ns |
3.359 ns |
3.142 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,073.00 ns |
16.049 ns |
14.227 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
37.37 ns |
0.342 ns |
0.320 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
37.15 ns |
0.295 ns |
0.276 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
194.26 ns |
0.975 ns |
0.912 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,391.56 ns |
14.916 ns |
13.953 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
580.6 ns |
4.50 ns |
4.21 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,241.1 ns |
36.18 ns |
33.84 ns |
10.75 |
0.09 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,294.6 ns |
6.51 ns |
6.09 ns |
2.23 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,261.9 ns |
7.31 ns |
6.83 ns |
2.17 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,604.8 ns |
60.50 ns |
56.59 ns |
14.82 |
0.14 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
583.7 ns |
7.52 ns |
6.66 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
476,311.8 ns |
4,152.37 ns |
3,680.97 ns |
816.17 |
10.92 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,912.5 ns |
11.95 ns |
10.60 ns |
3.28 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,911.2 ns |
11.57 ns |
10.82 ns |
3.27 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
703,598.8 ns |
2,041.83 ns |
1,810.03 ns |
1,205.64 |
13.71 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
575.3 ns |
6.05 ns |
5.66 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,919,121.6 ns |
480,736.27 ns |
449,681.00 ns |
102,423.61 |
1,229.97 |
1111.1111 |
1000.0000 |
333.3333 |
16001612 B |
46,516.31 |
| InvokeIntArrayFixed |
100000 |
65,113.9 ns |
198.79 ns |
176.22 ns |
113.19 |
1.11 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
64,978.6 ns |
386.52 ns |
361.55 ns |
112.96 |
1.23 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,990,926.1 ns |
1,053,046.07 ns |
985,019.95 ns |
147,746.22 |
2,169.06 |
1833.3333 |
1666.6667 |
833.3333 |
27897724 B |
81,098.03 |
core-ubuntu-24.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.194 μs |
0.0066 μs |
0.0062 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.218 μs |
0.0061 μs |
0.0057 μs |
1.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.194 μs |
0.0105 μs |
0.0098 μs |
1.00 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
85.63 ns |
0.851 ns |
0.796 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
125.91 ns |
1.333 ns |
1.247 ns |
1.47 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
90.46 ns |
0.510 ns |
0.452 ns |
1.06 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
626.03 ns |
2.118 ns |
1.878 ns |
7.31 |
0.07 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
95.34 ns |
0.623 ns |
0.582 ns |
1.11 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
121.70 ns |
1.364 ns |
1.209 ns |
1.42 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
88.08 ns |
0.713 ns |
0.667 ns |
1.03 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
645.53 ns |
2.716 ns |
2.540 ns |
7.54 |
0.07 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
118.28 ns |
1.168 ns |
0.975 ns |
1.38 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
299.6 ns |
4.18 ns |
3.91 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
266.3 ns |
2.46 ns |
2.30 ns |
0.89 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
563.3 ns |
5.58 ns |
4.66 ns |
1.88 |
0.03 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
301.1 ns |
5.00 ns |
4.68 ns |
1.01 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
587.9 ns |
4.97 ns |
4.65 ns |
1.96 |
0.03 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.449 μs |
0.0096 μs |
0.0089 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,112.3 ns |
12.61 ns |
11.18 ns |
1.00 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
621.9 ns |
6.43 ns |
6.01 ns |
0.29 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
65,519.0 ns |
564.44 ns |
527.98 ns |
1.000 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
634.3 ns |
4.79 ns |
4.48 ns |
0.010 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,840,473.4 ns |
89,293.21 ns |
83,524.92 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
673.0 ns |
7.21 ns |
6.74 ns |
0.000 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,030.9 ns |
9.15 ns |
8.56 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,023.3 ns |
9.91 ns |
9.27 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,266.4 ns |
7.10 ns |
6.64 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,522.3 ns |
25.94 ns |
24.26 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
429.7 ns |
4.48 ns |
4.19 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
419.1 ns |
5.02 ns |
4.69 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
643.2 ns |
3.14 ns |
2.78 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,878.9 ns |
19.14 ns |
17.91 ns |
0.0381 |
712 B |
core-ubuntu-24.04_net8.0_oracle_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
530.10 ns |
5.953 ns |
5.277 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
527.17 ns |
6.615 ns |
6.188 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
812.27 ns |
3.705 ns |
3.285 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,964.69 ns |
22.073 ns |
20.647 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
37.69 ns |
0.274 ns |
0.257 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
37.19 ns |
0.386 ns |
0.361 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
192.09 ns |
1.446 ns |
1.353 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,333.56 ns |
19.987 ns |
16.690 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
587.0 ns |
9.33 ns |
8.27 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,222.0 ns |
40.18 ns |
37.59 ns |
10.60 |
0.16 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,291.3 ns |
11.98 ns |
11.20 ns |
2.20 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,293.6 ns |
7.21 ns |
6.02 ns |
2.20 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,574.4 ns |
32.39 ns |
30.30 ns |
14.61 |
0.21 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
577.8 ns |
6.07 ns |
5.38 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
474,537.1 ns |
3,099.76 ns |
2,899.52 ns |
821.32 |
8.86 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,913.3 ns |
9.36 ns |
8.75 ns |
3.31 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,912.3 ns |
10.75 ns |
10.05 ns |
3.31 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
694,511.3 ns |
2,814.07 ns |
2,494.60 ns |
1,202.04 |
11.62 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
605.5 ns |
4.50 ns |
3.99 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,972,556.5 ns |
497,138.32 ns |
465,023.50 ns |
100,707.51 |
982.20 |
1111.1111 |
1000.0000 |
333.3333 |
16001341 B |
46,515.53 |
| InvokeIntArrayFixed |
100000 |
65,830.6 ns |
398.18 ns |
372.46 ns |
108.73 |
0.91 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
66,405.5 ns |
207.57 ns |
184.00 ns |
109.68 |
0.76 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
84,796,050.7 ns |
791,158.42 ns |
740,050.08 ns |
140,056.44 |
1,482.23 |
1666.6667 |
1500.0000 |
666.6667 |
27894015 B |
81,087.25 |
core-ubuntu-24.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.201 μs |
0.0088 μs |
0.0082 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.178 μs |
0.0087 μs |
0.0077 μs |
0.98 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.198 μs |
0.0047 μs |
0.0042 μs |
1.00 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
87.90 ns |
1.092 ns |
1.022 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
108.21 ns |
1.147 ns |
1.073 ns |
1.23 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
89.22 ns |
1.352 ns |
1.264 ns |
1.02 |
0.02 |
- |
- |
0.00 |
| SetInstanceStringField |
641.88 ns |
2.636 ns |
2.337 ns |
7.30 |
0.09 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
95.69 ns |
1.003 ns |
0.939 ns |
1.09 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
113.05 ns |
0.901 ns |
0.843 ns |
1.29 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
92.32 ns |
0.860 ns |
0.805 ns |
1.05 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
641.36 ns |
3.060 ns |
2.862 ns |
7.30 |
0.09 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
121.15 ns |
0.910 ns |
0.851 ns |
1.38 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
297.6 ns |
3.39 ns |
3.17 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
263.7 ns |
2.46 ns |
2.18 ns |
0.89 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
556.9 ns |
5.89 ns |
5.51 ns |
1.87 |
0.03 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
319.7 ns |
3.91 ns |
3.66 ns |
1.07 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
582.5 ns |
8.90 ns |
8.32 ns |
1.96 |
0.03 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.424 μs |
0.0103 μs |
0.0092 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,186.9 ns |
20.26 ns |
18.95 ns |
1.00 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
653.5 ns |
7.44 ns |
6.96 ns |
0.30 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
63,011.8 ns |
574.22 ns |
537.13 ns |
1.000 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
629.0 ns |
8.72 ns |
8.16 ns |
0.010 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,902,047.1 ns |
61,347.52 ns |
57,384.51 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
693.2 ns |
7.56 ns |
7.07 ns |
0.000 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,041.7 ns |
12.16 ns |
11.37 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,033.4 ns |
15.65 ns |
14.64 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,320.7 ns |
9.21 ns |
8.16 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,611.6 ns |
21.30 ns |
18.88 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
445.7 ns |
5.09 ns |
4.52 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
445.0 ns |
3.28 ns |
2.90 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
638.3 ns |
2.74 ns |
2.57 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,859.5 ns |
18.51 ns |
15.46 ns |
0.0381 |
712 B |
core-ubuntu-24.04_net8.0_oracle_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
541.34 ns |
6.477 ns |
6.059 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
538.38 ns |
3.460 ns |
3.067 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
720.89 ns |
5.945 ns |
5.270 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,986.90 ns |
20.547 ns |
17.158 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
38.53 ns |
0.226 ns |
0.188 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
39.75 ns |
0.501 ns |
0.469 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
189.72 ns |
1.000 ns |
0.887 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,393.17 ns |
16.245 ns |
13.566 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
561.1 ns |
4.54 ns |
4.24 ns |
1.00 |
0.01 |
0.0134 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
7,557.1 ns |
45.65 ns |
42.71 ns |
13.47 |
0.12 |
0.0763 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,304.7 ns |
6.83 ns |
6.05 ns |
2.33 |
0.02 |
0.0172 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,306.5 ns |
11.67 ns |
10.92 ns |
2.33 |
0.03 |
0.0172 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
10,175.5 ns |
51.89 ns |
43.33 ns |
18.13 |
0.15 |
0.1373 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
578.0 ns |
4.59 ns |
4.29 ns |
1.00 |
0.01 |
0.0134 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
589,743.1 ns |
4,645.21 ns |
4,345.13 ns |
1,020.36 |
10.34 |
5.8594 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,146.6 ns |
12.20 ns |
11.41 ns |
3.71 |
0.03 |
0.0153 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,064.9 ns |
11.70 ns |
10.94 ns |
3.57 |
0.03 |
0.0153 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
781,916.7 ns |
4,203.63 ns |
3,510.22 ns |
1,352.85 |
11.36 |
9.7656 |
2.9297 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
569.1 ns |
5.58 ns |
5.22 ns |
1.00 |
0.01 |
0.0134 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
70,483,473.3 ns |
910,795.05 ns |
851,958.26 ns |
123,869.25 |
1,828.50 |
875.0000 |
750.0000 |
375.0000 |
16002128 B |
46,517.81 |
| InvokeIntArrayFixed |
100000 |
72,984.4 ns |
604.35 ns |
565.31 ns |
128.26 |
1.50 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
73,292.1 ns |
488.57 ns |
407.98 ns |
128.81 |
1.35 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
96,114,151.7 ns |
1,463,668.35 ns |
1,369,116.29 ns |
168,913.18 |
2,781.50 |
1500.0000 |
1333.3333 |
833.3333 |
27897469 B |
81,097.29 |
core-ubuntu-24.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.284 μs |
0.0131 μs |
0.0116 μs |
1.00 |
0.0134 |
360 B |
1.00 |
| NewWithSignature |
1.363 μs |
0.0099 μs |
0.0093 μs |
1.06 |
0.0134 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.365 μs |
0.0087 μs |
0.0082 μs |
1.06 |
0.0134 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
90.44 ns |
0.739 ns |
0.691 ns |
1.00 |
0.01 |
0.0010 |
24 B |
1.00 |
| SetInstanceIntField |
126.40 ns |
0.794 ns |
0.663 ns |
1.40 |
0.01 |
0.0010 |
24 B |
1.00 |
| GetInstanceStringField |
104.06 ns |
0.612 ns |
0.543 ns |
1.15 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
745.61 ns |
4.199 ns |
3.928 ns |
8.24 |
0.07 |
0.0114 |
288 B |
12.00 |
| GetStaticIntField |
110.84 ns |
0.605 ns |
0.566 ns |
1.23 |
0.01 |
0.0010 |
24 B |
1.00 |
| SetStaticIntField |
125.94 ns |
0.999 ns |
0.934 ns |
1.39 |
0.01 |
0.0010 |
24 B |
1.00 |
| GetStaticStringField |
96.39 ns |
0.850 ns |
0.795 ns |
1.07 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
824.49 ns |
5.110 ns |
4.780 ns |
9.12 |
0.08 |
0.0114 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
119.73 ns |
1.094 ns |
1.024 ns |
1.32 |
0.01 |
0.0010 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
353.9 ns |
2.79 ns |
2.47 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
318.9 ns |
2.45 ns |
2.29 ns |
0.90 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
554.1 ns |
3.26 ns |
3.05 ns |
1.57 |
0.01 |
0.0134 |
344 B |
NA |
| InvokeInstanceEmpty |
371.7 ns |
2.81 ns |
2.49 ns |
1.05 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
572.3 ns |
5.66 ns |
5.02 ns |
1.62 |
0.02 |
0.0134 |
344 B |
NA |
core-ubuntu-24.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.546 μs |
0.0068 μs |
0.0060 μs |
1.00 |
0.0267 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,131.3 ns |
16.70 ns |
15.62 ns |
1.00 |
0.01 |
0.0267 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
674.4 ns |
3.43 ns |
3.04 ns |
0.32 |
0.00 |
0.0124 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
59,365.1 ns |
266.51 ns |
222.55 ns |
1.00 |
0.01 |
0.9155 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
651.9 ns |
4.84 ns |
4.53 ns |
0.01 |
0.00 |
0.0124 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,344,674.8 ns |
162,491.96 ns |
222,420.85 ns |
1.001 |
0.04 |
78.1250 |
78.1250 |
78.1250 |
2400499 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
710.5 ns |
3.49 ns |
3.26 ns |
0.000 |
0.00 |
0.0124 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,142.2 ns |
8.61 ns |
7.19 ns |
0.0038 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,102.4 ns |
7.25 ns |
6.78 ns |
0.0038 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,408.0 ns |
7.49 ns |
7.01 ns |
0.0076 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
5,029.1 ns |
33.60 ns |
31.43 ns |
0.0305 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
428.1 ns |
5.01 ns |
4.68 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
427.7 ns |
3.58 ns |
3.35 ns |
0.0010 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
671.6 ns |
6.78 ns |
6.34 ns |
0.0048 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,221.4 ns |
38.37 ns |
35.89 ns |
0.0229 |
712 B |
core-ubuntu-24.04_net8.0_temurin_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
608.54 ns |
6.107 ns |
5.413 ns |
0.0022 |
80 B |
| PredicateSustained |
False |
False |
True |
603.63 ns |
2.936 ns |
2.602 ns |
0.0022 |
80 B |
| PredicateSustained |
False |
True |
False |
821.64 ns |
8.325 ns |
7.788 ns |
0.0057 |
176 B |
| PredicateSustained |
False |
True |
True |
4,540.89 ns |
42.951 ns |
40.176 ns |
0.0300 |
768 B |
| PredicateSustained |
True |
False |
False |
50.56 ns |
0.359 ns |
0.319 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
50.28 ns |
0.982 ns |
1.440 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
216.32 ns |
1.611 ns |
1.507 ns |
0.0038 |
96 B |
| PredicateSustained |
True |
True |
True |
3,804.56 ns |
22.269 ns |
20.830 ns |
0.0200 |
688 B |
core-ubuntu-24.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
540.4 ns |
10.71 ns |
12.33 ns |
1.00 |
0.03 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,513.1 ns |
29.05 ns |
27.18 ns |
12.06 |
0.27 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,263.3 ns |
3.52 ns |
2.94 ns |
2.34 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,260.0 ns |
4.35 ns |
4.06 ns |
2.33 |
0.05 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,261.2 ns |
30.70 ns |
27.21 ns |
15.29 |
0.35 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
535.6 ns |
3.89 ns |
3.64 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
470,905.4 ns |
1,097.44 ns |
972.86 ns |
879.23 |
6.06 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,955.2 ns |
9.41 ns |
8.34 ns |
3.65 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,942.7 ns |
6.12 ns |
5.43 ns |
3.63 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
671,754.1 ns |
1,967.69 ns |
1,840.58 ns |
1,254.23 |
8.92 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
533.7 ns |
3.02 ns |
2.67 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
59,717,297.4 ns |
894,748.73 ns |
836,948.52 ns |
111,894.13 |
1,611.81 |
1111.1111 |
1000.0000 |
333.3333 |
16001718 B |
46,516.62 |
| InvokeIntArrayFixed |
100000 |
62,408.4 ns |
231.28 ns |
205.02 ns |
116.94 |
0.68 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
62,359.5 ns |
136.56 ns |
121.06 ns |
116.84 |
0.61 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
82,186,443.0 ns |
614,763.19 ns |
544,971.56 ns |
153,995.26 |
1,235.15 |
1833.3333 |
1666.6667 |
833.3333 |
27896849 B |
81,095.49 |
core-ubuntu-24.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.139 μs |
0.0044 μs |
0.0041 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.160 μs |
0.0062 μs |
0.0058 μs |
1.02 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.136 μs |
0.0023 μs |
0.0019 μs |
1.00 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
107.36 ns |
0.510 ns |
0.453 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
125.38 ns |
1.640 ns |
1.534 ns |
1.17 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
103.50 ns |
0.488 ns |
0.432 ns |
0.96 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
640.23 ns |
2.572 ns |
2.008 ns |
5.96 |
0.03 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
115.80 ns |
0.659 ns |
0.585 ns |
1.08 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
121.43 ns |
1.185 ns |
1.109 ns |
1.13 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
99.49 ns |
0.602 ns |
0.563 ns |
0.93 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
629.75 ns |
2.097 ns |
1.962 ns |
5.87 |
0.03 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
136.31 ns |
1.309 ns |
1.225 ns |
1.27 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
273.3 ns |
1.57 ns |
1.47 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
249.9 ns |
1.38 ns |
1.22 ns |
0.91 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
521.4 ns |
4.03 ns |
3.77 ns |
1.91 |
0.02 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
296.1 ns |
2.00 ns |
1.77 ns |
1.08 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
516.5 ns |
2.28 ns |
2.02 ns |
1.89 |
0.01 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.388 μs |
0.0061 μs |
0.0054 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,010.7 ns |
13.18 ns |
12.33 ns |
1.00 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
577.3 ns |
3.57 ns |
3.34 ns |
0.29 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
60,540.0 ns |
476.89 ns |
446.08 ns |
1.000 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
580.4 ns |
4.77 ns |
4.47 ns |
0.010 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,454,725.3 ns |
86,998.57 ns |
81,378.52 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400783 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
635.5 ns |
3.33 ns |
2.95 ns |
0.000 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,108.3 ns |
9.25 ns |
8.65 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,067.5 ns |
7.56 ns |
6.71 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,268.7 ns |
4.29 ns |
3.80 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,417.4 ns |
22.43 ns |
19.89 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
405.1 ns |
7.93 ns |
11.62 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
384.0 ns |
2.27 ns |
2.01 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
611.9 ns |
2.61 ns |
2.31 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,820.2 ns |
7.97 ns |
7.07 ns |
0.0420 |
712 B |
core-ubuntu-24.04_net8.0_temurin_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
514.91 ns |
5.009 ns |
4.686 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
523.65 ns |
3.374 ns |
3.156 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
694.40 ns |
5.647 ns |
5.006 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,906.99 ns |
33.709 ns |
29.882 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
39.78 ns |
0.483 ns |
0.428 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
39.58 ns |
0.669 ns |
0.626 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
188.47 ns |
0.899 ns |
0.841 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,278.94 ns |
25.883 ns |
22.944 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
424.8 ns |
4.71 ns |
4.40 ns |
1.00 |
0.01 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
4,965.7 ns |
41.08 ns |
36.41 ns |
11.69 |
0.14 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
940.0 ns |
4.17 ns |
3.70 ns |
2.21 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
939.9 ns |
4.48 ns |
4.19 ns |
2.21 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
6,388.4 ns |
38.00 ns |
35.55 ns |
15.04 |
0.17 |
0.2060 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
404.1 ns |
1.76 ns |
1.47 ns |
1.00 |
0.00 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
363,897.4 ns |
1,587.90 ns |
1,407.63 ns |
900.54 |
4.62 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,546.8 ns |
5.24 ns |
4.37 ns |
3.83 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,552.4 ns |
5.10 ns |
4.26 ns |
3.84 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
527,236.1 ns |
3,590.47 ns |
3,182.86 ns |
1,304.76 |
8.88 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
434.0 ns |
3.51 ns |
3.28 ns |
1.00 |
0.01 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
44,862,466.1 ns |
420,143.26 ns |
393,002.27 ns |
103,370.85 |
1,153.78 |
1000.0000 |
909.0909 |
272.7273 |
16001281 B |
46,515.35 |
| InvokeIntArrayFixed |
100000 |
50,876.9 ns |
124.76 ns |
110.60 ns |
117.23 |
0.89 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
51,148.9 ns |
242.77 ns |
202.72 ns |
117.86 |
0.97 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
70,398,343.6 ns |
791,761.84 ns |
701,876.25 ns |
162,209.92 |
1,955.94 |
2142.8571 |
2000.0000 |
1000.0000 |
27896647 B |
81,094.90 |
core-ubuntu-24.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
898.5 ns |
3.33 ns |
2.95 ns |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
877.2 ns |
1.92 ns |
1.70 ns |
0.98 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
873.2 ns |
3.46 ns |
3.06 ns |
0.97 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
88.13 ns |
0.706 ns |
0.626 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
99.08 ns |
0.457 ns |
0.405 ns |
1.12 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
77.65 ns |
0.800 ns |
0.748 ns |
0.88 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
473.59 ns |
3.009 ns |
2.815 ns |
5.37 |
0.05 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
86.31 ns |
0.455 ns |
0.380 ns |
0.98 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
90.56 ns |
0.313 ns |
0.293 ns |
1.03 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
75.10 ns |
0.383 ns |
0.358 ns |
0.85 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
466.63 ns |
3.139 ns |
2.937 ns |
5.29 |
0.05 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
103.84 ns |
0.870 ns |
0.814 ns |
1.18 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
210.0 ns |
1.00 ns |
0.93 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
191.2 ns |
1.22 ns |
1.14 ns |
0.91 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
394.1 ns |
2.52 ns |
2.23 ns |
1.88 |
0.01 |
0.0205 |
344 B |
NA |
| InvokeInstanceEmpty |
219.0 ns |
1.44 ns |
1.28 ns |
1.04 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
411.7 ns |
3.82 ns |
3.57 ns |
1.96 |
0.02 |
0.0205 |
344 B |
NA |
core-ubuntu-24.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.168 μs |
0.0093 μs |
0.0087 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,562.6 ns |
11.62 ns |
10.30 ns |
1.00 |
0.0401 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
453.2 ns |
2.62 ns |
2.32 ns |
0.29 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
47,161.2 ns |
350.27 ns |
327.64 ns |
1.000 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
442.0 ns |
2.45 ns |
2.29 ns |
0.009 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,521,306.2 ns |
55,411.57 ns |
46,271.17 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400852 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
495.1 ns |
4.02 ns |
3.76 ns |
0.000 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
759.4 ns |
4.44 ns |
4.16 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
765.9 ns |
4.60 ns |
4.08 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
963.4 ns |
3.99 ns |
3.54 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,374.4 ns |
15.59 ns |
14.59 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
305.3 ns |
1.81 ns |
1.70 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
292.0 ns |
2.77 ns |
2.46 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
485.6 ns |
2.85 ns |
2.67 ns |
0.0072 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
2,890.4 ns |
22.17 ns |
19.65 ns |
0.0420 |
712 B |
core-ubuntu-24.04_net8.0_temurin_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
392.37 ns |
1.184 ns |
1.049 ns |
0.0046 |
80 B |
| PredicateSustained |
False |
False |
True |
397.04 ns |
4.252 ns |
3.551 ns |
0.0046 |
80 B |
| PredicateSustained |
False |
True |
False |
533.12 ns |
2.678 ns |
2.505 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
2,957.58 ns |
11.321 ns |
10.036 ns |
0.0450 |
768 B |
| PredicateSustained |
True |
False |
False |
31.41 ns |
0.215 ns |
0.191 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
35.99 ns |
0.162 ns |
0.151 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
144.23 ns |
0.660 ns |
0.585 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,520.79 ns |
16.130 ns |
14.298 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
615.1 ns |
3.81 ns |
3.56 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,120.8 ns |
54.66 ns |
48.45 ns |
9.95 |
0.09 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,299.4 ns |
10.82 ns |
10.12 ns |
2.11 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,288.6 ns |
6.62 ns |
5.87 ns |
2.10 |
0.01 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,690.9 ns |
48.67 ns |
38.00 ns |
14.13 |
0.10 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
601.8 ns |
6.37 ns |
5.65 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
469,794.9 ns |
2,165.76 ns |
1,808.51 ns |
780.78 |
7.62 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,926.6 ns |
13.77 ns |
11.50 ns |
3.20 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,944.8 ns |
15.76 ns |
13.97 ns |
3.23 |
0.04 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
706,161.4 ns |
1,917.31 ns |
1,601.04 ns |
1,173.61 |
10.90 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
600.3 ns |
4.75 ns |
4.44 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,872,130.0 ns |
646,241.67 ns |
604,494.86 ns |
98,084.00 |
1,202.51 |
1111.1111 |
1000.0000 |
333.3333 |
16001724 B |
46,516.64 |
| InvokeIntArrayFixed |
100000 |
66,215.6 ns |
216.97 ns |
192.34 ns |
110.32 |
0.85 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
66,775.0 ns |
221.70 ns |
207.38 ns |
111.25 |
0.87 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
87,028,790.4 ns |
1,223,211.17 ns |
1,144,192.49 ns |
144,994.45 |
2,118.69 |
2142.8571 |
2000.0000 |
1000.0000 |
27896099 B |
81,093.31 |
core-ubuntu-24.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.211 μs |
0.0055 μs |
0.0052 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.201 μs |
0.0068 μs |
0.0060 μs |
0.99 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.211 μs |
0.0057 μs |
0.0051 μs |
1.00 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
90.95 ns |
1.105 ns |
1.034 ns |
1.00 |
0.02 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
137.27 ns |
0.607 ns |
0.567 ns |
1.51 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
93.17 ns |
0.852 ns |
0.755 ns |
1.02 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
670.43 ns |
2.431 ns |
2.274 ns |
7.37 |
0.09 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
92.00 ns |
0.656 ns |
0.613 ns |
1.01 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
108.41 ns |
1.134 ns |
1.061 ns |
1.19 |
0.02 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
83.31 ns |
0.603 ns |
0.565 ns |
0.92 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
640.36 ns |
2.054 ns |
1.715 ns |
7.04 |
0.08 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
117.31 ns |
0.917 ns |
0.858 ns |
1.29 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
295.5 ns |
4.84 ns |
4.52 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
253.3 ns |
2.50 ns |
2.34 ns |
0.86 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
582.0 ns |
7.58 ns |
7.09 ns |
1.97 |
0.04 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
311.2 ns |
4.33 ns |
4.05 ns |
1.05 |
0.02 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
599.7 ns |
4.28 ns |
3.57 ns |
2.03 |
0.03 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.432 μs |
0.0118 μs |
0.0104 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,088.1 ns |
16.06 ns |
15.02 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
652.5 ns |
6.99 ns |
6.54 ns |
0.31 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
61,891.3 ns |
928.56 ns |
868.58 ns |
1.00 |
0.02 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
664.8 ns |
7.31 ns |
6.11 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,969,625.6 ns |
158,933.05 ns |
170,056.59 ns |
1.000 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400757 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
728.1 ns |
8.09 ns |
6.32 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,051.3 ns |
6.13 ns |
5.43 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,028.5 ns |
14.57 ns |
13.63 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,267.6 ns |
5.78 ns |
5.12 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,594.4 ns |
22.54 ns |
19.98 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
440.2 ns |
4.85 ns |
4.54 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
418.7 ns |
4.76 ns |
4.45 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
658.1 ns |
4.81 ns |
4.50 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,984.1 ns |
28.19 ns |
24.99 ns |
0.0381 |
712 B |
core-ubuntu-24.04_net8.0_temurin_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
525.20 ns |
5.869 ns |
5.490 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
521.04 ns |
6.308 ns |
5.900 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
724.64 ns |
3.264 ns |
2.725 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,084.43 ns |
23.313 ns |
21.807 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
39.10 ns |
0.461 ns |
0.408 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
40.20 ns |
0.266 ns |
0.235 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
194.34 ns |
0.821 ns |
0.727 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,384.65 ns |
21.493 ns |
20.104 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
544.2 ns |
2.62 ns |
2.45 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,698.9 ns |
68.40 ns |
63.98 ns |
12.31 |
0.13 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,270.8 ns |
6.88 ns |
6.43 ns |
2.34 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,297.7 ns |
5.23 ns |
4.90 ns |
2.38 |
0.01 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,557.3 ns |
52.09 ns |
48.72 ns |
15.72 |
0.11 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
549.5 ns |
4.25 ns |
3.98 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
489,769.8 ns |
1,855.01 ns |
1,549.01 ns |
891.29 |
6.83 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
2,055.5 ns |
8.44 ns |
7.48 ns |
3.74 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,043.2 ns |
13.17 ns |
12.32 ns |
3.72 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
693,355.6 ns |
4,298.84 ns |
4,021.14 ns |
1,261.77 |
11.35 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
555.7 ns |
3.71 ns |
3.47 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,378,625.2 ns |
845,262.23 ns |
790,658.82 ns |
108,657.43 |
1,528.04 |
1000.0000 |
875.0000 |
250.0000 |
16001251 B |
46,515.26 |
| InvokeIntArrayFixed |
100000 |
65,296.0 ns |
275.66 ns |
257.85 ns |
117.51 |
0.84 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
65,133.4 ns |
151.28 ns |
134.11 ns |
117.21 |
0.75 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
85,286,764.9 ns |
614,018.33 ns |
512,733.11 ns |
153,482.15 |
1,289.23 |
1833.3333 |
1666.6667 |
833.3333 |
27896879 B |
81,095.58 |
core-ubuntu-24.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.206 μs |
0.0055 μs |
0.0051 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.200 μs |
0.0039 μs |
0.0034 μs |
0.99 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.188 μs |
0.0084 μs |
0.0079 μs |
0.98 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
103.2 ns |
0.80 ns |
0.75 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
125.3 ns |
1.28 ns |
1.20 ns |
1.21 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
109.5 ns |
0.59 ns |
0.56 ns |
1.06 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
688.5 ns |
3.47 ns |
3.07 ns |
6.67 |
0.05 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
111.1 ns |
0.79 ns |
0.70 ns |
1.08 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
124.7 ns |
1.12 ns |
1.05 ns |
1.21 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
105.7 ns |
0.61 ns |
0.57 ns |
1.02 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
660.3 ns |
2.42 ns |
2.02 ns |
6.40 |
0.05 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
142.6 ns |
1.30 ns |
1.21 ns |
1.38 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
347.8 ns |
2.33 ns |
2.17 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
307.7 ns |
1.73 ns |
1.62 ns |
0.88 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
521.8 ns |
3.78 ns |
3.15 ns |
1.50 |
0.01 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
365.1 ns |
2.07 ns |
1.93 ns |
1.05 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
544.0 ns |
5.75 ns |
5.38 ns |
1.56 |
0.02 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.444 μs |
0.0059 μs |
0.0055 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,092.4 ns |
9.29 ns |
8.23 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
607.6 ns |
4.06 ns |
3.80 ns |
0.29 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
61,816.6 ns |
351.42 ns |
328.72 ns |
1.000 |
0.01 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
610.3 ns |
2.32 ns |
2.17 ns |
0.010 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,985,160.7 ns |
146,855.63 ns |
137,368.85 ns |
1.000 |
0.02 |
78.1250 |
78.1250 |
78.1250 |
2400906 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
669.6 ns |
4.42 ns |
4.14 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,098.6 ns |
5.65 ns |
5.28 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,092.4 ns |
6.92 ns |
6.48 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,320.6 ns |
5.47 ns |
4.85 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,833.6 ns |
41.86 ns |
39.16 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
404.7 ns |
3.10 ns |
2.90 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
422.1 ns |
2.75 ns |
2.57 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
610.6 ns |
2.84 ns |
2.51 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
4,045.8 ns |
22.77 ns |
21.30 ns |
0.0381 |
712 B |
core-ubuntu-24.04_net8.0_zulu_11
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
556.78 ns |
2.776 ns |
2.597 ns |
0.0044 |
80 B |
| PredicateSustained |
False |
False |
True |
583.55 ns |
4.589 ns |
4.068 ns |
0.0044 |
80 B |
| PredicateSustained |
False |
True |
False |
715.84 ns |
6.123 ns |
5.428 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,152.36 ns |
22.162 ns |
18.506 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
41.97 ns |
0.511 ns |
0.478 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
40.56 ns |
0.525 ns |
0.491 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
184.94 ns |
1.136 ns |
1.007 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,438.89 ns |
12.295 ns |
10.899 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
603.5 ns |
2.70 ns |
2.39 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,787.3 ns |
62.76 ns |
55.64 ns |
11.25 |
0.10 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,282.4 ns |
5.35 ns |
4.74 ns |
2.13 |
0.01 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,299.9 ns |
3.59 ns |
3.19 ns |
2.15 |
0.01 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,839.0 ns |
25.14 ns |
20.99 ns |
14.65 |
0.07 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
603.0 ns |
3.59 ns |
3.36 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
502,777.1 ns |
4,884.95 ns |
4,330.38 ns |
833.88 |
8.26 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,948.3 ns |
12.13 ns |
10.13 ns |
3.23 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
2,013.8 ns |
12.73 ns |
11.91 ns |
3.34 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
700,473.7 ns |
4,951.53 ns |
4,631.67 ns |
1,161.77 |
9.72 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
592.7 ns |
6.98 ns |
6.53 ns |
1.00 |
0.02 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
60,067,678.0 ns |
461,087.04 ns |
408,741.65 ns |
101,348.81 |
1,270.73 |
1111.1111 |
1000.0000 |
333.3333 |
16002521 B |
46,518.96 |
| InvokeIntArrayFixed |
100000 |
65,464.9 ns |
272.15 ns |
254.57 ns |
110.46 |
1.25 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
65,936.0 ns |
437.20 ns |
408.95 ns |
111.25 |
1.36 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
85,695,974.3 ns |
676,489.82 ns |
632,789.00 ns |
144,589.98 |
1,857.77 |
1833.3333 |
1666.6667 |
833.3333 |
27897033 B |
81,096.03 |
core-ubuntu-24.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.208 μs |
0.0130 μs |
0.0115 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.190 μs |
0.0074 μs |
0.0065 μs |
0.98 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.195 μs |
0.0058 μs |
0.0051 μs |
0.99 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
94.71 ns |
0.475 ns |
0.444 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
122.51 ns |
1.273 ns |
1.129 ns |
1.29 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
100.94 ns |
0.576 ns |
0.511 ns |
1.07 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
685.35 ns |
8.775 ns |
8.208 ns |
7.24 |
0.09 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
155.31 ns |
3.096 ns |
3.179 ns |
1.64 |
0.03 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
120.20 ns |
1.497 ns |
1.327 ns |
1.27 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
113.19 ns |
0.681 ns |
0.637 ns |
1.20 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
681.82 ns |
5.076 ns |
4.500 ns |
7.20 |
0.06 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
130.86 ns |
0.945 ns |
0.837 ns |
1.38 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
301.9 ns |
3.34 ns |
3.13 ns |
1.00 |
0.01 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
286.9 ns |
2.42 ns |
2.26 ns |
0.95 |
0.01 |
- |
- |
NA |
| InvokeStaticWithFeedback |
562.6 ns |
6.28 ns |
5.88 ns |
1.86 |
0.03 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
306.6 ns |
3.13 ns |
2.93 ns |
1.02 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
583.8 ns |
4.56 ns |
4.27 ns |
1.93 |
0.02 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.461 μs |
0.0143 μs |
0.0126 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,075.6 ns |
6.83 ns |
6.05 ns |
1.00 |
0.00 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
639.9 ns |
8.01 ns |
7.49 ns |
0.31 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
58,533.3 ns |
605.99 ns |
566.85 ns |
1.00 |
0.01 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
612.9 ns |
5.25 ns |
4.91 ns |
0.01 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
7,525,519.8 ns |
145,574.08 ns |
217,888.45 ns |
1.001 |
0.04 |
78.1250 |
78.1250 |
78.1250 |
2400795 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
690.6 ns |
6.73 ns |
6.30 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,048.3 ns |
7.89 ns |
6.99 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,027.3 ns |
10.21 ns |
9.55 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,283.6 ns |
4.80 ns |
4.25 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,619.5 ns |
21.79 ns |
20.38 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
430.7 ns |
3.01 ns |
2.67 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
423.6 ns |
4.56 ns |
4.26 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
649.7 ns |
5.99 ns |
5.60 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,862.8 ns |
26.27 ns |
24.57 ns |
0.0381 |
712 B |
core-ubuntu-24.04_net8.0_zulu_17
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
548.67 ns |
6.033 ns |
5.644 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
False |
True |
587.33 ns |
5.473 ns |
4.852 ns |
0.0044 |
80 B |
| PredicateSustained |
False |
True |
False |
749.34 ns |
3.519 ns |
3.119 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
3,998.01 ns |
33.594 ns |
31.424 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
38.78 ns |
0.326 ns |
0.305 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
38.03 ns |
0.248 ns |
0.232 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
190.34 ns |
1.720 ns |
1.609 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,337.08 ns |
15.061 ns |
13.351 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
435.6 ns |
3.37 ns |
2.99 ns |
1.00 |
0.01 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
4,740.6 ns |
27.74 ns |
25.95 ns |
10.88 |
0.09 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
940.2 ns |
5.00 ns |
4.67 ns |
2.16 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
968.0 ns |
4.61 ns |
4.32 ns |
2.22 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
6,321.9 ns |
21.54 ns |
17.98 ns |
14.51 |
0.10 |
0.2060 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
416.6 ns |
1.64 ns |
1.53 ns |
1.00 |
0.01 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
358,158.5 ns |
1,670.83 ns |
1,562.89 ns |
859.73 |
4.74 |
9.2773 |
2.9297 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,554.0 ns |
6.98 ns |
6.53 ns |
3.73 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,551.4 ns |
14.10 ns |
13.19 ns |
3.72 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
522,487.0 ns |
1,861.78 ns |
1,741.51 ns |
1,254.19 |
6.02 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
407.4 ns |
2.14 ns |
2.00 ns |
1.00 |
0.01 |
0.0205 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
45,320,690.4 ns |
262,263.31 ns |
204,757.94 ns |
111,239.87 |
716.34 |
1083.3333 |
1000.0000 |
333.3333 |
16001706 B |
46,516.59 |
| InvokeIntArrayFixed |
100000 |
50,987.6 ns |
114.44 ns |
101.45 ns |
125.15 |
0.64 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
51,029.6 ns |
68.18 ns |
60.44 ns |
125.25 |
0.61 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
67,483,582.5 ns |
1,002,938.06 ns |
837,498.70 ns |
165,638.81 |
2,131.21 |
2000.0000 |
1875.0000 |
875.0000 |
27895486 B |
81,091.53 |
core-ubuntu-24.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
881.8 ns |
3.42 ns |
3.03 ns |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
873.4 ns |
3.31 ns |
3.09 ns |
0.99 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
887.2 ns |
6.13 ns |
5.43 ns |
1.01 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
77.08 ns |
0.694 ns |
0.649 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
95.48 ns |
0.455 ns |
0.380 ns |
1.24 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
76.50 ns |
0.512 ns |
0.454 ns |
0.99 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
471.17 ns |
2.582 ns |
2.156 ns |
6.11 |
0.06 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
85.84 ns |
0.445 ns |
0.395 ns |
1.11 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
91.58 ns |
0.545 ns |
0.510 ns |
1.19 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
76.21 ns |
0.781 ns |
0.730 ns |
0.99 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
467.30 ns |
2.266 ns |
2.119 ns |
6.06 |
0.06 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
106.04 ns |
0.702 ns |
0.623 ns |
1.38 |
0.01 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
211.9 ns |
1.08 ns |
1.01 ns |
1.00 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
198.6 ns |
1.26 ns |
1.18 ns |
0.94 |
- |
- |
NA |
| InvokeStaticWithFeedback |
399.2 ns |
2.27 ns |
2.12 ns |
1.88 |
0.0205 |
344 B |
NA |
| InvokeInstanceEmpty |
214.9 ns |
1.26 ns |
1.18 ns |
1.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
426.3 ns |
2.18 ns |
2.03 ns |
2.01 |
0.0205 |
344 B |
NA |
core-ubuntu-24.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.045 μs |
0.0055 μs |
0.0052 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
1,568.8 ns |
2.97 ns |
2.48 ns |
1.00 |
0.0401 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
504.1 ns |
3.32 ns |
3.11 ns |
0.32 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
46,101.9 ns |
220.82 ns |
195.75 ns |
1.000 |
1.4038 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
451.7 ns |
2.24 ns |
2.09 ns |
0.010 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
6,339,420.0 ns |
52,423.21 ns |
49,036.71 ns |
1.000 |
78.1250 |
78.1250 |
78.1250 |
2400916 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
506.3 ns |
2.19 ns |
2.05 ns |
0.000 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
815.7 ns |
7.95 ns |
7.44 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
776.0 ns |
3.85 ns |
3.42 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
962.2 ns |
3.33 ns |
2.95 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
3,404.9 ns |
9.22 ns |
8.18 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
297.8 ns |
1.92 ns |
1.80 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
295.2 ns |
1.33 ns |
1.18 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
483.8 ns |
2.65 ns |
2.48 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
2,883.8 ns |
10.54 ns |
9.34 ns |
0.0420 |
712 B |
core-ubuntu-24.04_net8.0_zulu_21
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 9V74 2.60GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v4
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
381.84 ns |
1.989 ns |
1.763 ns |
0.0043 |
80 B |
| PredicateSustained |
False |
False |
True |
390.52 ns |
2.295 ns |
2.147 ns |
0.0046 |
80 B |
| PredicateSustained |
False |
True |
False |
521.30 ns |
1.721 ns |
1.437 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
2,923.88 ns |
9.936 ns |
8.297 ns |
0.0450 |
768 B |
| PredicateSustained |
True |
False |
False |
32.17 ns |
0.159 ns |
0.149 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
31.29 ns |
0.181 ns |
0.151 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
142.51 ns |
0.719 ns |
0.672 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
2,497.33 ns |
15.921 ns |
14.114 ns |
0.0400 |
688 B |
core-ubuntu-24.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeIntParam |
10 |
595.0 ns |
5.57 ns |
5.21 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
10 |
6,533.3 ns |
23.91 ns |
21.20 ns |
10.98 |
0.10 |
0.1221 |
- |
- |
2048 B |
5.95 |
| InvokeIntArrayFixed |
10 |
1,321.7 ns |
18.35 ns |
17.16 ns |
2.22 |
0.03 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
10 |
1,316.2 ns |
7.80 ns |
6.91 ns |
2.21 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
10 |
8,910.3 ns |
65.66 ns |
58.21 ns |
14.98 |
0.16 |
0.1984 |
- |
- |
3520 B |
10.23 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
1000 |
594.0 ns |
2.48 ns |
2.32 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
1000 |
493,036.8 ns |
5,272.91 ns |
4,674.29 ns |
830.00 |
8.22 |
8.7891 |
1.9531 |
- |
160448 B |
466.42 |
| InvokeIntArrayFixed |
1000 |
1,959.7 ns |
13.03 ns |
12.19 ns |
3.30 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
1000 |
1,955.1 ns |
12.97 ns |
11.49 ns |
3.29 |
0.02 |
0.0267 |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
1000 |
711,961.3 ns |
3,502.35 ns |
3,104.74 ns |
1,198.55 |
6.79 |
15.6250 |
6.8359 |
- |
265888 B |
772.93 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeIntParam |
100000 |
611.5 ns |
4.71 ns |
4.41 ns |
1.00 |
0.01 |
0.0200 |
- |
- |
344 B |
1.00 |
| InvokeStringArrayFixed |
100000 |
58,992,976.4 ns |
564,219.65 ns |
527,771.41 ns |
96,484.30 |
1,074.48 |
1111.1111 |
1000.0000 |
333.3333 |
16001917 B |
46,517.20 |
| InvokeIntArrayFixed |
100000 |
65,525.5 ns |
417.24 ns |
369.87 ns |
107.17 |
0.95 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsWholeArray |
100000 |
65,134.8 ns |
399.89 ns |
374.06 ns |
106.53 |
0.95 |
- |
- |
- |
448 B |
1.30 |
| InvokeVarArgsSpreadElements |
100000 |
87,273,547.1 ns |
1,121,796.74 ns |
1,049,329.36 ns |
142,737.79 |
1,938.89 |
1833.3333 |
1666.6667 |
833.3333 |
27896223 B |
81,093.67 |
core-ubuntu-24.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| NewEmpty |
1.195 μs |
0.0075 μs |
0.0070 μs |
1.00 |
0.0210 |
360 B |
1.00 |
| NewWithSignature |
1.202 μs |
0.0051 μs |
0.0043 μs |
1.01 |
0.0210 |
360 B |
1.00 |
| DeclaredNewEmpty |
1.204 μs |
0.0056 μs |
0.0049 μs |
1.01 |
0.0210 |
360 B |
1.00 |
core-ubuntu-24.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| GetInstanceIntField |
98.28 ns |
0.748 ns |
0.700 ns |
1.00 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetInstanceIntField |
107.05 ns |
0.555 ns |
0.433 ns |
1.09 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetInstanceStringField |
89.26 ns |
0.730 ns |
0.647 ns |
0.91 |
0.01 |
- |
- |
0.00 |
| SetInstanceStringField |
660.94 ns |
1.476 ns |
1.309 ns |
6.73 |
0.05 |
0.0172 |
288 B |
12.00 |
| GetStaticIntField |
94.36 ns |
0.781 ns |
0.730 ns |
0.96 |
0.01 |
0.0014 |
24 B |
1.00 |
| SetStaticIntField |
108.44 ns |
1.115 ns |
0.988 ns |
1.10 |
0.01 |
0.0014 |
24 B |
1.00 |
| GetStaticStringField |
86.46 ns |
0.776 ns |
0.726 ns |
0.88 |
0.01 |
- |
- |
0.00 |
| SetStaticStringField |
632.52 ns |
5.252 ns |
4.656 ns |
6.44 |
0.06 |
0.0172 |
288 B |
12.00 |
| GetInstanceIntFieldGeneric |
122.40 ns |
1.552 ns |
1.296 ns |
1.25 |
0.02 |
0.0014 |
24 B |
1.00 |
core-ubuntu-24.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeStaticEmpty |
283.7 ns |
3.56 ns |
3.33 ns |
1.00 |
0.02 |
- |
- |
NA |
| InvokeStaticEmptyWithSignature |
252.5 ns |
4.01 ns |
3.75 ns |
0.89 |
0.02 |
- |
- |
NA |
| InvokeStaticWithFeedback |
591.4 ns |
6.40 ns |
5.99 ns |
2.08 |
0.03 |
0.0200 |
344 B |
NA |
| InvokeInstanceEmpty |
315.1 ns |
2.25 ns |
2.00 ns |
1.11 |
0.01 |
- |
- |
NA |
| InvokeInstanceWithFeedback |
574.1 ns |
5.39 ns |
4.78 ns |
2.02 |
0.03 |
0.0200 |
344 B |
NA |
core-ubuntu-24.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Mean |
Error |
StdDev |
Ratio |
Gen0 |
Allocated |
Alloc Ratio |
| InvokeMultiParam |
1.462 μs |
0.0088 μs |
0.0078 μs |
1.00 |
0.0420 |
712 B |
1.00 |
core-ubuntu-24.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
Length |
Mean |
Error |
StdDev |
Ratio |
RatioSD |
Gen0 |
Gen1 |
Gen2 |
Allocated |
Alloc Ratio |
| InvokeStringArrayPreallocated |
10 |
2,119.7 ns |
13.33 ns |
11.82 ns |
1.00 |
0.01 |
0.0381 |
- |
- |
688 B |
1.00 |
| InvokeSingleStringPreallocated |
10 |
650.2 ns |
4.89 ns |
4.57 ns |
0.31 |
0.00 |
0.0191 |
- |
- |
320 B |
0.47 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
1000 |
69,063.7 ns |
769.25 ns |
719.55 ns |
1.000 |
0.01 |
1.3428 |
- |
- |
24448 B |
1.00 |
| InvokeSingleStringPreallocated |
1000 |
649.4 ns |
7.79 ns |
7.29 ns |
0.009 |
0.00 |
0.0191 |
- |
- |
320 B |
0.01 |
|
|
|
|
|
|
|
|
|
|
|
|
| InvokeStringArrayPreallocated |
100000 |
8,242,335.4 ns |
160,823.19 ns |
191,448.59 ns |
1.001 |
0.03 |
78.1250 |
78.1250 |
78.1250 |
2400504 B |
1.000 |
| InvokeSingleStringPreallocated |
100000 |
735.9 ns |
5.14 ns |
4.81 ns |
0.000 |
0.00 |
0.0191 |
- |
- |
320 B |
0.000 |
core-ubuntu-24.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateRoundTrip |
False |
False |
False |
1,030.6 ns |
7.35 ns |
6.51 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
False |
True |
1,028.1 ns |
12.07 ns |
11.29 ns |
0.0057 |
104 B |
| PredicateRoundTrip |
False |
True |
False |
1,265.8 ns |
4.93 ns |
4.61 ns |
0.0114 |
200 B |
| PredicateRoundTrip |
False |
True |
True |
4,569.0 ns |
28.88 ns |
27.02 ns |
0.0458 |
792 B |
| PredicateRoundTrip |
True |
False |
False |
416.8 ns |
4.07 ns |
3.81 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
False |
True |
427.1 ns |
4.12 ns |
3.65 ns |
0.0014 |
24 B |
| PredicateRoundTrip |
True |
True |
False |
635.6 ns |
2.76 ns |
2.45 ns |
0.0067 |
120 B |
| PredicateRoundTrip |
True |
True |
True |
3,942.9 ns |
21.30 ns |
19.92 ns |
0.0381 |
712 B |
core-ubuntu-24.04_net8.0_zulu_25
BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
[Host] : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
DefaultJob : .NET 8.0.30 (8.0.30, 8.0.3026.36720), X64 RyuJIT x86-64-v3
| Method |
ByIndex |
ContinueFirstCheck |
ContinueSecondCheck |
Mean |
Error |
StdDev |
Gen0 |
Allocated |
| PredicateSustained |
False |
False |
False |
556.07 ns |
5.369 ns |
4.483 ns |
0.0044 |
80 B |
| PredicateSustained |
False |
False |
True |
529.22 ns |
6.853 ns |
6.075 ns |
0.0040 |
80 B |
| PredicateSustained |
False |
True |
False |
746.71 ns |
6.345 ns |
5.935 ns |
0.0100 |
176 B |
| PredicateSustained |
False |
True |
True |
4,007.91 ns |
19.867 ns |
17.612 ns |
0.0400 |
768 B |
| PredicateSustained |
True |
False |
False |
38.77 ns |
0.409 ns |
0.362 ns |
- |
- |
| PredicateSustained |
True |
False |
True |
38.71 ns |
0.380 ns |
0.337 ns |
- |
- |
| PredicateSustained |
True |
True |
False |
192.58 ns |
1.560 ns |
1.383 ns |
0.0056 |
96 B |
| PredicateSustained |
True |
True |
True |
3,338.58 ns |
22.998 ns |
21.512 ns |
0.0400 |
688 B |