Table of Contents

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