Table of Contents

Benchmark results

Auto-generated by BenchmarkDotNet on 2026-09-14. 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.085 μs 0.0037 μs 0.0035 μs 1.00 0.00 0.0153 - - 1.09 KB 1.00
GetArrayViaStreamChunked 1024 True False 1.658 μs 0.0331 μs 0.0394 μs 1.53 0.04 0.0801 - - 5.26 KB 4.81
GetArrayViaStreamSpan 1024 True False 1.350 μs 0.0039 μs 0.0037 μs 1.24 0.01 0.0172 - - 1.23 KB 1.13
InvokeByteArrayDirect 1048576 True False 187.578 μs 3.6972 μs 4.4013 μs 1.00 0.03 169.9219 169.9219 169.9219 1025.39 KB 1.00
GetArrayViaStreamChunked 1048576 True False 222.988 μs 1.6430 μs 1.5368 μs 1.19 0.03 207.0313 207.0313 207.0313 1029.12 KB 1.00
GetArrayViaStreamSpan 1048576 True False 192.200 μs 3.6711 μs 4.3702 μs 1.03 0.03 171.6309 171.6309 171.6309 1025.51 KB 1.00
InvokeByteArrayDirect 104857600 True False 16,433.668 μs 125.9640 μs 111.6638 μs 1.00 0.01 312.5000 312.5000 312.5000 102400.29 KB 1.00
GetArrayViaStreamChunked 104857600 True False 16,654.965 μs 272.0423 μs 323.8470 μs 1.01 0.02 312.5000 312.5000 312.5000 102404.46 KB 1.00
GetArrayViaStreamSpan 104857600 True False 17,184.516 μs 340.3404 μs 788.7908 μs 1.05 0.05 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.010 μs 0.0271 μs 0.0254 μs 1.00 0.01 0.0076 0.0038 - 576 B 1.00
GetByteBufferStreamNaive 10 False 3.238 μs 0.0166 μs 0.0139 μs 1.08 0.01 0.0153 0.0114 - 1056 B 1.83
GetByteBufferStreamChunked 10 False 3.367 μs 0.0495 μs 0.0439 μs 1.12 0.02 0.0687 0.0648 - 4792 B 8.32
GetByteBufferDirectSpan 10 False 1.824 μs 0.0093 μs 0.0077 μs 0.61 0.01 0.0038 - - 400 B 0.69
GetByteBufferToArray 10 True 2.969 μs 0.0113 μs 0.0100 μs 1.00 0.00 0.0076 0.0038 - 576 B 1.00
GetByteBufferStreamNaive 10 True 3.292 μs 0.0183 μs 0.0171 μs 1.11 0.01 0.0153 0.0114 - 1056 B 1.83
GetByteBufferStreamChunked 10 True 3.556 μs 0.0126 μs 0.0118 μs 1.20 0.01 0.0687 0.0648 - 4792 B 8.32
GetByteBufferDirectSpan 10 True 1.900 μs 0.0065 μs 0.0061 μs 0.64 0.00 0.0038 - - 400 B 0.69
GetByteBufferToArray 100 False 2.948 μs 0.0134 μs 0.0125 μs 1.00 0.01 0.0076 0.0038 - 664 B 1.00
GetByteBufferStreamNaive 100 False 3.166 μs 0.0460 μs 0.0431 μs 1.07 0.01 0.0153 0.0114 - 1144 B 1.72
GetByteBufferStreamChunked 100 False 3.433 μs 0.0450 μs 0.0421 μs 1.16 0.01 0.0687 0.0648 - 4792 B 7.22
GetByteBufferDirectSpan 100 False 1.896 μs 0.0081 μs 0.0076 μs 0.64 0.00 0.0038 - - 400 B 0.60
GetByteBufferToArray 100 True 2.906 μs 0.0190 μs 0.0177 μs 1.00 0.01 0.0076 0.0038 - 664 B 1.00
GetByteBufferStreamNaive 100 True 3.091 μs 0.0354 μs 0.0331 μs 1.06 0.01 0.0153 0.0114 - 1144 B 1.72
GetByteBufferStreamChunked 100 True 3.398 μs 0.0155 μs 0.0130 μs 1.17 0.01 0.0687 0.0648 - 4792 B 7.22
GetByteBufferDirectSpan 100 True 1.885 μs 0.0152 μs 0.0135 μs 0.65 0.01 0.0038 - - 400 B 0.60
GetByteBufferToArray 1024 False 3.333 μs 0.0144 μs 0.0134 μs 1.00 0.01 0.0229 0.0191 - 1584 B 1.00
GetByteBufferStreamNaive 1024 False 3.565 μs 0.0376 μs 0.0352 μs 1.07 0.01 0.0420 0.0381 - 2832 B 1.79
GetByteBufferStreamChunked 1024 False 3.552 μs 0.0320 μs 0.0300 μs 1.07 0.01 0.0687 0.0648 - 4792 B 3.03
GetByteBufferDirectSpan 1024 False 1.877 μs 0.0095 μs 0.0089 μs 0.56 0.00 0.0038 - - 400 B 0.25
GetByteBufferToArray 1024 True 4.557 μs 0.0537 μs 0.0502 μs 1.00 0.02 0.0229 0.0153 - 1584 B 1.00
GetByteBufferStreamNaive 1024 True 3.589 μs 0.0653 μs 0.0611 μs 0.79 0.02 0.0420 0.0381 - 2832 B 1.79
GetByteBufferStreamChunked 1024 True 3.609 μs 0.0476 μs 0.0446 μs 0.79 0.01 0.0687 0.0648 - 4792 B 3.03
GetByteBufferDirectSpan 1024 True 1.881 μs 0.0059 μs 0.0049 μs 0.41 0.00 0.0038 - - 400 B 0.25
GetByteBufferToArray 10240 False 4.795 μs 0.0210 μs 0.0196 μs 1.00 0.01 0.1602 0.1526 - 10800 B 1.00
GetByteBufferStreamNaive 10240 False 5.649 μs 0.0222 μs 0.0208 μs 1.18 0.01 0.3128 0.3052 - 21264 B 1.97
GetByteBufferStreamChunked 10240 False 4.354 μs 0.0299 μs 0.0279 μs 0.91 0.01 0.0687 0.0610 - 4792 B 0.44
GetByteBufferDirectSpan 10240 False 2.409 μs 0.0058 μs 0.0054 μs 0.50 0.00 0.0038 - - 400 B 0.04
GetByteBufferToArray 10240 True 4.759 μs 0.0118 μs 0.0099 μs 1.00 0.00 0.1602 0.1526 - 10800 B 1.00
GetByteBufferStreamNaive 10240 True 5.831 μs 0.0711 μs 0.0665 μs 1.23 0.01 0.3128 0.3052 - 21264 B 1.97
GetByteBufferStreamChunked 10240 True 4.361 μs 0.0474 μs 0.0444 μs 0.92 0.01 0.0687 0.0610 - 4792 B 0.44
GetByteBufferDirectSpan 10240 True 2.468 μs 0.0135 μs 0.0126 μs 0.52 0.00 0.0038 - - 400 B 0.04
GetByteBufferToArray 102400 False 66.027 μs 0.2970 μs 0.2778 μs 1.00 0.01 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 False 80.065 μs 0.1886 μs 0.1473 μs 1.21 0.01 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 False 11.679 μs 0.0428 μs 0.0400 μs 0.18 0.00 0.0610 0.0458 - 4792 B 0.047
GetByteBufferDirectSpan 102400 False 7.600 μs 0.0025 μs 0.0020 μs 0.12 0.00 - - - 400 B 0.004
GetByteBufferToArray 102400 True 65.995 μs 0.8501 μs 0.7952 μs 1.00 0.02 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 True 81.519 μs 0.9937 μs 0.9295 μs 1.24 0.02 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 True 11.975 μs 0.0243 μs 0.0216 μs 0.18 0.00 0.0610 0.0458 - 4792 B 0.047
GetByteBufferDirectSpan 102400 True 7.387 μs 0.0081 μs 0.0076 μs 0.11 0.00 - - - 400 B 0.004
GetByteBufferToArray 1048576 False 270.892 μs 4.9537 μs 4.6337 μs 1.00 0.02 200.6836 200.6836 200.6836 1050259 B 1.000
GetByteBufferStreamNaive 1048576 False 608.813 μs 11.8498 μs 20.4404 μs 2.25 0.08 499.0234 499.0234 499.0234 3015867 B 2.872
GetByteBufferStreamChunked 1048576 False 99.729 μs 0.2585 μs 0.2418 μs 0.37 0.01 - - - 4792 B 0.005
GetByteBufferDirectSpan 1048576 False 79.043 μs 0.5966 μs 0.5288 μs 0.29 0.01 - - - 400 B 0.000
GetByteBufferToArray 1048576 True 272.598 μs 5.4018 μs 6.8316 μs 1.00 0.03 205.5664 205.5664 205.5664 1050170 B 1.000
GetByteBufferStreamNaive 1048576 True 610.153 μs 11.2130 μs 10.4886 μs 2.24 0.07 500.0000 500.0000 500.0000 3015809 B 2.872
GetByteBufferStreamChunked 1048576 True 101.005 μs 0.2612 μs 0.2316 μs 0.37 0.01 - - - 4792 B 0.005
GetByteBufferDirectSpan 1048576 True 77.157 μs 0.3507 μs 0.3109 μs 0.28 0.01 - - - 400 B 0.000
GetByteBufferToArray 10485760 False 2,372.045 μs 46.8799 μs 52.1069 μs 1.00 0.03 332.0313 332.0313 332.0313 10486535 B 1.000
GetByteBufferStreamNaive 10485760 False 8,799.137 μs 74.2696 μs 65.8381 μs 3.71 0.08 968.7500 968.7500 968.7500 43910699 B 4.187
GetByteBufferStreamChunked 10485760 False 969.926 μs 8.0369 μs 7.1245 μs 0.41 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 False 796.702 μs 5.9755 μs 5.5895 μs 0.34 0.01 - - - 400 B 0.000
GetByteBufferToArray 10485760 True 2,390.420 μs 46.5027 μs 69.6030 μs 1.00 0.04 332.0313 332.0313 332.0313 10486535 B 1.000
GetByteBufferStreamNaive 10485760 True 8,635.462 μs 168.5260 μs 194.0748 μs 3.62 0.13 968.7500 968.7500 968.7500 43910699 B 4.187
GetByteBufferStreamChunked 10485760 True 979.695 μs 5.1452 μs 4.5611 μs 0.41 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 True 812.336 μs 15.9205 μs 19.5519 μs 0.34 0.01 - - - 400 B 0.000
GetByteBufferToArray 104857600 False 23,003.200 μs 435.9394 μs 678.7052 μs 1.00 0.04 312.5000 312.5000 312.5000 104858362 B 1.000
GetByteBufferStreamNaive 104857600 False 49,613.002 μs 991.3350 μs 1,453.0861 μs 2.16 0.09 800.0000 800.0000 800.0000 373163519 B 3.559
GetByteBufferStreamChunked 104857600 False 14,773.891 μs 290.5453 μs 508.8667 μs 0.64 0.03 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 False 14,318.639 μs 272.2792 μs 726.7683 μs 0.62 0.04 - - - 400 B 0.000
GetByteBufferToArray 104857600 True 22,572.362 μs 436.1180 μs 611.3765 μs 1.00 0.04 312.5000 312.5000 312.5000 104858362 B 1.000
GetByteBufferStreamNaive 104857600 True 51,038.406 μs 847.1770 μs 792.4499 μs 2.26 0.07 818.1818 818.1818 818.1818 373163532 B 3.559
GetByteBufferStreamChunked 104857600 True 15,405.878 μs 307.5371 μs 287.6704 μs 0.68 0.02 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 True 14,014.093 μs 277.4710 μs 721.1842 μs 0.62 0.04 - - - 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.087 μs 0.0020 μs 0.0018 μs 1.00 0.00 0.0153 - - 1.09 KB 1.00
GetArrayViaStreamChunked 1024 True False 1.604 μs 0.0295 μs 0.0276 μs 1.48 0.02 0.0801 - - 5.26 KB 4.81
GetArrayViaStreamSpan 1024 True False 1.314 μs 0.0118 μs 0.0111 μs 1.21 0.01 0.0172 - - 1.23 KB 1.13
InvokeByteArrayDirect 1048576 True False 191.864 μs 2.6223 μs 2.4529 μs 1.00 0.02 142.8223 142.8223 142.8223 1025.14 KB 1.00
GetArrayViaStreamChunked 1048576 True False 218.369 μs 3.3765 μs 3.1583 μs 1.14 0.02 149.6582 149.6582 149.6582 1029.08 KB 1.00
GetArrayViaStreamSpan 1048576 True False 187.325 μs 2.3107 μs 2.1614 μs 0.98 0.02 142.8223 142.8223 142.8223 1025.24 KB 1.00
InvokeByteArrayDirect 104857600 True False 16,922.138 μs 321.9074 μs 316.1561 μs 1.00 0.03 312.5000 312.5000 312.5000 102400.29 KB 1.00
GetArrayViaStreamChunked 104857600 True False 16,094.095 μs 87.9396 μs 82.2587 μs 0.95 0.02 312.5000 312.5000 312.5000 102404.46 KB 1.00
GetArrayViaStreamSpan 104857600 True False 16,886.317 μs 322.6316 μs 396.2206 μs 1.00 0.03 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.054 μs 0.0050 μs 0.0044 μs 1.00 0.00 0.0076 0.0038 - 576 B 1.00
GetByteBufferStreamNaive 10 False 3.223 μs 0.0192 μs 0.0180 μs 1.06 0.01 0.0153 0.0114 - 1056 B 1.83
GetByteBufferStreamChunked 10 False 3.455 μs 0.0099 μs 0.0092 μs 1.13 0.00 0.0687 0.0648 - 4792 B 8.32
GetByteBufferDirectSpan 10 False 1.946 μs 0.0031 μs 0.0026 μs 0.64 0.00 0.0038 - - 400 B 0.69
GetByteBufferToArray 10 True 3.061 μs 0.0172 μs 0.0161 μs 1.00 0.01 0.0076 0.0038 - 576 B 1.00
GetByteBufferStreamNaive 10 True 3.343 μs 0.0283 μs 0.0251 μs 1.09 0.01 0.0153 0.0114 - 1056 B 1.83
GetByteBufferStreamChunked 10 True 3.677 μs 0.0699 μs 0.0653 μs 1.20 0.02 0.0687 0.0648 - 4792 B 8.32
GetByteBufferDirectSpan 10 True 1.976 μs 0.0152 μs 0.0142 μs 0.65 0.01 0.0038 - - 400 B 0.69
GetByteBufferToArray 100 False 3.069 μs 0.0118 μs 0.0110 μs 1.00 0.00 0.0076 0.0038 - 664 B 1.00
GetByteBufferStreamNaive 100 False 3.276 μs 0.0118 μs 0.0105 μs 1.07 0.00 0.0153 0.0114 - 1144 B 1.72
GetByteBufferStreamChunked 100 False 3.536 μs 0.0253 μs 0.0237 μs 1.15 0.01 0.0687 0.0648 - 4792 B 7.22
GetByteBufferDirectSpan 100 False 1.955 μs 0.0112 μs 0.0104 μs 0.64 0.00 0.0038 - - 400 B 0.60
GetByteBufferToArray 100 True 2.999 μs 0.0227 μs 0.0212 μs 1.00 0.01 0.0076 0.0038 - 664 B 1.00
GetByteBufferStreamNaive 100 True 3.323 μs 0.0294 μs 0.0275 μs 1.11 0.01 0.0153 0.0114 - 1144 B 1.72
GetByteBufferStreamChunked 100 True 3.546 μs 0.0301 μs 0.0282 μs 1.18 0.01 0.0687 0.0648 - 4792 B 7.22
GetByteBufferDirectSpan 100 True 2.004 μs 0.0085 μs 0.0080 μs 0.67 0.01 0.0038 - - 400 B 0.60
GetByteBufferToArray 1024 False 3.275 μs 0.0239 μs 0.0223 μs 1.00 0.01 0.0229 0.0191 - 1584 B 1.00
GetByteBufferStreamNaive 1024 False 3.602 μs 0.0086 μs 0.0076 μs 1.10 0.01 0.0420 0.0381 - 2832 B 1.79
GetByteBufferStreamChunked 1024 False 3.514 μs 0.0483 μs 0.0452 μs 1.07 0.02 0.0687 0.0648 - 4792 B 3.03
GetByteBufferDirectSpan 1024 False 2.013 μs 0.0094 μs 0.0088 μs 0.61 0.00 0.0038 - - 400 B 0.25
GetByteBufferToArray 1024 True 3.457 μs 0.0367 μs 0.0325 μs 1.00 0.01 0.0229 0.0191 - 1584 B 1.00
GetByteBufferStreamNaive 1024 True 3.797 μs 0.0656 μs 0.0613 μs 1.10 0.02 0.0420 0.0381 - 2832 B 1.79
GetByteBufferStreamChunked 1024 True 3.510 μs 0.0124 μs 0.0110 μs 1.02 0.01 0.0687 0.0648 - 4792 B 3.03
GetByteBufferDirectSpan 1024 True 1.976 μs 0.0133 μs 0.0125 μs 0.57 0.01 0.0038 - - 400 B 0.25
GetByteBufferToArray 10240 False 4.753 μs 0.0423 μs 0.0396 μs 1.00 0.01 0.1602 0.1526 - 10800 B 1.00
GetByteBufferStreamNaive 10240 False 5.759 μs 0.0893 μs 0.0835 μs 1.21 0.02 0.3128 0.3052 - 21264 B 1.97
GetByteBufferStreamChunked 10240 False 4.297 μs 0.0444 μs 0.0416 μs 0.90 0.01 0.0687 0.0610 - 4792 B 0.44
GetByteBufferDirectSpan 10240 False 2.514 μs 0.0096 μs 0.0085 μs 0.53 0.00 0.0038 - - 400 B 0.04
GetByteBufferToArray 10240 True 4.726 μs 0.0509 μs 0.0476 μs 1.00 0.01 0.1602 0.1526 - 10800 B 1.00
GetByteBufferStreamNaive 10240 True 5.633 μs 0.0742 μs 0.0694 μs 1.19 0.02 0.3128 0.3052 - 21264 B 1.97
GetByteBufferStreamChunked 10240 True 4.316 μs 0.0422 μs 0.0395 μs 0.91 0.01 0.0687 0.0610 - 4792 B 0.44
GetByteBufferDirectSpan 10240 True 2.538 μs 0.0172 μs 0.0161 μs 0.54 0.01 0.0038 - - 400 B 0.04
GetByteBufferToArray 102400 False 71.066 μs 0.2925 μs 0.2736 μs 1.00 0.01 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 False 85.313 μs 1.4441 μs 1.3508 μs 1.20 0.02 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 False 11.672 μs 0.0309 μs 0.0289 μs 0.16 0.00 0.0610 0.0458 - 4792 B 0.047
GetByteBufferDirectSpan 102400 False 7.845 μs 0.0152 μs 0.0142 μs 0.11 0.00 - - - 400 B 0.004
GetByteBufferToArray 102400 True 69.226 μs 0.3635 μs 0.3400 μs 1.00 0.01 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 True 87.001 μs 1.3378 μs 1.2514 μs 1.26 0.02 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 True 11.766 μs 0.0276 μs 0.0258 μs 0.17 0.00 0.0610 0.0458 - 4792 B 0.047
GetByteBufferDirectSpan 102400 True 7.532 μs 0.0029 μs 0.0025 μs 0.11 0.00 - - - 400 B 0.004
GetByteBufferToArray 1048576 False 273.059 μs 5.3300 μs 6.5457 μs 1.00 0.03 170.4102 170.4102 170.4102 1050086 B 1.000
GetByteBufferStreamNaive 1048576 False 578.950 μs 9.8249 μs 9.1903 μs 2.12 0.06 392.5781 392.5781 392.5781 3017274 B 2.873
GetByteBufferStreamChunked 1048576 False 98.813 μs 0.2172 μs 0.1926 μs 0.36 0.01 - - - 4792 B 0.005
GetByteBufferDirectSpan 1048576 False 76.216 μs 0.2062 μs 0.1828 μs 0.28 0.01 - - - 400 B 0.000
GetByteBufferToArray 1048576 True 276.274 μs 5.3450 μs 5.4890 μs 1.00 0.03 170.8984 170.8984 170.8984 1050087 B 1.000
GetByteBufferStreamNaive 1048576 True 594.761 μs 9.1001 μs 8.5122 μs 2.15 0.05 385.7422 385.7422 385.7422 3017303 B 2.873
GetByteBufferStreamChunked 1048576 True 96.987 μs 0.1511 μs 0.1339 μs 0.35 0.01 - - - 4792 B 0.005
GetByteBufferDirectSpan 1048576 True 80.280 μs 0.5334 μs 0.4728 μs 0.29 0.01 - - - 400 B 0.000
GetByteBufferToArray 10485760 False 2,378.795 μs 46.8065 μs 43.7828 μs 1.00 0.03 332.0313 332.0313 332.0313 10486535 B 1.000
GetByteBufferStreamNaive 10485760 False 6,620.625 μs 124.2687 μs 116.2410 μs 2.78 0.07 648.4375 648.4375 648.4375 43910482 B 4.187
GetByteBufferStreamChunked 10485760 False 928.965 μs 1.7985 μs 1.5943 μs 0.39 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 False 775.639 μs 1.2837 μs 1.1380 μs 0.33 0.01 - - - 400 B 0.000
GetByteBufferToArray 10485760 True 2,298.108 μs 27.1327 μs 25.3799 μs 1.00 0.02 332.0313 332.0313 332.0313 10486535 B 1.000
GetByteBufferStreamNaive 10485760 True 6,552.652 μs 91.0394 μs 85.1583 μs 2.85 0.05 687.5000 687.5000 687.5000 43910508 B 4.187
GetByteBufferStreamChunked 10485760 True 935.897 μs 3.7141 μs 3.4742 μs 0.41 0.00 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 True 782.292 μs 7.5353 μs 6.2923 μs 0.34 0.00 - - - 400 B 0.000
GetByteBufferToArray 104857600 False 21,704.210 μs 422.8390 μs 434.2245 μs 1.00 0.03 312.5000 312.5000 312.5000 104858366 B 1.000
GetByteBufferStreamNaive 104857600 False 46,909.106 μs 845.5735 μs 790.9500 μs 2.16 0.05 545.4545 545.4545 545.4545 373163368 B 3.559
GetByteBufferStreamChunked 104857600 False 13,334.401 μs 263.4542 μs 333.1852 μs 0.61 0.02 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 False 13,305.604 μs 265.5136 μs 536.3506 μs 0.61 0.03 - - - 400 B 0.000
GetByteBufferToArray 104857600 True 21,582.438 μs 337.4320 μs 315.6341 μs 1.00 0.02 312.5000 312.5000 312.5000 104858366 B 1.000
GetByteBufferStreamNaive 104857600 True 47,112.040 μs 906.5376 μs 847.9758 μs 2.18 0.05 545.4545 545.4545 545.4545 373163368 B 3.559
GetByteBufferStreamChunked 104857600 True 13,131.300 μs 101.9399 μs 95.3546 μs 0.61 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 True 12,800.532 μs 167.7375 μs 156.9018 μs 0.59 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 9V74 3.66GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 ForceRawMemory UseCriticalMethods Mean Error StdDev Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
InvokeByteArrayDirect 1024 True False 892.0 ns 8.96 ns 8.38 ns 1.00 0.01 0.0668 - - 1.09 KB 1.00
GetArrayViaStreamChunked 1024 True False 1,385.5 ns 26.33 ns 28.17 ns 1.55 0.03 0.3204 - - 5.26 KB 4.81
GetArrayViaStreamSpan 1024 True False 1,139.7 ns 13.88 ns 12.30 ns 1.28 0.02 0.0744 - - 1.23 KB 1.13
InvokeByteArrayDirect 1048576 True False 225,995.3 ns 4,362.81 ns 4,284.87 ns 1.00 0.03 222.1680 222.1680 222.1680 1024.59 KB 1.00
GetArrayViaStreamChunked 1048576 True False 238,790.9 ns 2,382.29 ns 2,111.84 ns 1.06 0.02 248.0469 247.8027 247.8027 1028.72 KB 1.00
GetArrayViaStreamSpan 1048576 True False 224,278.7 ns 4,450.38 ns 4,162.89 ns 0.99 0.03 220.4590 220.4590 220.4590 1024.71 KB 1.00
InvokeByteArrayDirect 104857600 True False 15,801,082.6 ns 114,337.09 ns 106,950.98 ns 1.00 0.01 312.5000 312.5000 312.5000 102400.29 KB 1.00
GetArrayViaStreamChunked 104857600 True False 15,479,575.6 ns 308,854.44 ns 498,742.39 ns 0.98 0.03 328.1250 328.1250 328.1250 102404.47 KB 1.00
GetArrayViaStreamSpan 104857600 True False 15,715,342.5 ns 98,154.60 ns 91,813.87 ns 0.99 0.01 312.5000 312.5000 312.5000 102400.43 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 9V74 3.66GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 UseCriticalMethods Mean Error StdDev Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
GetByteBufferToArray 10 False 2.410 μs 0.0243 μs 0.0228 μs 1.00 0.01 0.0343 0.0305 - 576 B 1.00
GetByteBufferStreamNaive 10 False 2.489 μs 0.0159 μs 0.0141 μs 1.03 0.01 0.0610 0.0572 - 1056 B 1.83
GetByteBufferStreamChunked 10 False 2.701 μs 0.0458 μs 0.0406 μs 1.12 0.02 0.2861 0.2823 - 4792 B 8.32
GetByteBufferDirectSpan 10 False 1.564 μs 0.0132 μs 0.0123 μs 0.65 0.01 0.0229 0.0210 - 400 B 0.69
GetByteBufferToArray 10 True 2.366 μs 0.0232 μs 0.0206 μs 1.00 0.01 0.0343 0.0305 - 576 B 1.00
GetByteBufferStreamNaive 10 True 2.480 μs 0.0250 μs 0.0234 μs 1.05 0.01 0.0610 0.0572 - 1056 B 1.83
GetByteBufferStreamChunked 10 True 2.676 μs 0.0327 μs 0.0306 μs 1.13 0.02 0.2861 0.2823 - 4792 B 8.32
GetByteBufferDirectSpan 10 True 1.625 μs 0.0112 μs 0.0100 μs 0.69 0.01 0.0229 0.0210 - 400 B 0.69
GetByteBufferToArray 100 False 2.410 μs 0.0314 μs 0.0294 μs 1.00 0.02 0.0381 0.0343 - 664 B 1.00
GetByteBufferStreamNaive 100 False 2.523 μs 0.0279 μs 0.0261 μs 1.05 0.02 0.0648 0.0610 - 1144 B 1.72
GetByteBufferStreamChunked 100 False 2.671 μs 0.0326 μs 0.0289 μs 1.11 0.02 0.2861 0.2823 - 4792 B 7.22
GetByteBufferDirectSpan 100 False 1.585 μs 0.0145 μs 0.0136 μs 0.66 0.01 0.0229 0.0210 - 400 B 0.60
GetByteBufferToArray 100 True 2.417 μs 0.0153 μs 0.0128 μs 1.00 0.01 0.0381 0.0343 - 664 B 1.00
GetByteBufferStreamNaive 100 True 2.535 μs 0.0210 μs 0.0186 μs 1.05 0.01 0.0648 0.0610 - 1144 B 1.72
GetByteBufferStreamChunked 100 True 2.701 μs 0.0241 μs 0.0236 μs 1.12 0.01 0.2861 0.2823 - 4792 B 7.22
GetByteBufferDirectSpan 100 True 1.613 μs 0.0119 μs 0.0106 μs 0.67 0.01 0.0229 0.0210 - 400 B 0.60
GetByteBufferToArray 1024 False 2.608 μs 0.0366 μs 0.0325 μs 1.00 0.02 0.0916 0.0877 - 1584 B 1.00
GetByteBufferStreamNaive 1024 False 2.750 μs 0.0353 μs 0.0330 μs 1.05 0.02 0.1678 0.1640 - 2832 B 1.79
GetByteBufferStreamChunked 1024 False 2.745 μs 0.0515 μs 0.0457 μs 1.05 0.02 0.2861 0.2823 - 4792 B 3.03
GetByteBufferDirectSpan 1024 False 1.650 μs 0.0110 μs 0.0103 μs 0.63 0.01 0.0229 0.0210 - 400 B 0.25
GetByteBufferToArray 1024 True 2.581 μs 0.0326 μs 0.0305 μs 1.00 0.02 0.0916 0.0877 - 1584 B 1.00
GetByteBufferStreamNaive 1024 True 2.704 μs 0.0313 μs 0.0293 μs 1.05 0.02 0.1678 0.1640 - 2832 B 1.79
GetByteBufferStreamChunked 1024 True 2.733 μs 0.0402 μs 0.0357 μs 1.06 0.02 0.2861 0.2823 - 4792 B 3.03
GetByteBufferDirectSpan 1024 True 1.603 μs 0.0208 μs 0.0185 μs 0.62 0.01 0.0229 0.0210 - 400 B 0.25
GetByteBufferToArray 10240 False 3.612 μs 0.0721 μs 0.0675 μs 1.00 0.03 0.6447 0.6409 - 10800 B 1.00
GetByteBufferStreamNaive 10240 False 4.326 μs 0.0581 μs 0.0543 μs 1.20 0.03 1.2665 0.6256 - 21264 B 1.97
GetByteBufferStreamChunked 10240 False 3.283 μs 0.0273 μs 0.0242 μs 0.91 0.02 0.2861 0.2823 - 4792 B 0.44
GetByteBufferDirectSpan 10240 False 2.020 μs 0.0118 μs 0.0099 μs 0.56 0.01 0.0229 0.0191 - 400 B 0.04
GetByteBufferToArray 10240 True 3.592 μs 0.0630 μs 0.0589 μs 1.00 0.02 0.6409 0.6332 - 10800 B 1.00
GetByteBufferStreamNaive 10240 True 4.383 μs 0.0711 μs 0.0630 μs 1.22 0.03 1.2665 0.6256 - 21264 B 1.97
GetByteBufferStreamChunked 10240 True 3.283 μs 0.0189 μs 0.0168 μs 0.91 0.02 0.2861 0.2823 - 4792 B 0.44
GetByteBufferDirectSpan 10240 True 2.003 μs 0.0231 μs 0.0216 μs 0.56 0.01 0.0229 0.0191 - 400 B 0.04
GetByteBufferToArray 102400 False 71.381 μs 0.5479 μs 0.4857 μs 1.00 0.01 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 False 89.969 μs 1.3058 μs 1.2214 μs 1.26 0.02 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 False 8.287 μs 0.1555 μs 0.1455 μs 0.12 0.00 0.2747 0.2594 - 4792 B 0.047
GetByteBufferDirectSpan 102400 False 5.473 μs 0.0290 μs 0.0257 μs 0.08 0.00 0.0229 0.0153 - 400 B 0.004
GetByteBufferToArray 102400 True 71.687 μs 0.5161 μs 0.4828 μs 1.00 0.01 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 True 88.836 μs 0.5341 μs 0.4735 μs 1.24 0.01 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 True 8.174 μs 0.0717 μs 0.0670 μs 0.11 0.00 0.2747 0.2594 - 4792 B 0.047
GetByteBufferDirectSpan 102400 True 5.481 μs 0.0202 μs 0.0158 μs 0.08 0.00 0.0229 0.0153 - 400 B 0.004
GetByteBufferToArray 1048576 False 288.375 μs 7.0117 μs 20.5641 μs 1.00 0.10 238.7695 238.7695 238.7695 1049298 B 1.000
GetByteBufferStreamNaive 1048576 False 519.362 μs 10.3462 μs 21.8237 μs 1.81 0.15 582.0313 582.0313 582.0313 3015895 B 2.874
GetByteBufferStreamChunked 1048576 False 64.854 μs 0.5199 μs 0.4864 μs 0.23 0.02 0.2441 0.1221 - 4792 B 0.005
GetByteBufferDirectSpan 1048576 False 47.830 μs 0.2633 μs 0.2334 μs 0.17 0.01 - - - 400 B 0.000
GetByteBufferToArray 1048576 True 284.563 μs 5.6434 μs 14.1581 μs 1.00 0.07 234.8633 234.8633 234.8633 1049288 B 1.000
GetByteBufferStreamNaive 1048576 True 517.394 μs 10.2699 μs 13.7101 μs 1.82 0.10 590.8203 590.8203 590.8203 3015944 B 2.874
GetByteBufferStreamChunked 1048576 True 63.724 μs 0.5513 μs 0.5157 μs 0.22 0.01 0.2441 0.1221 - 4792 B 0.005
GetByteBufferDirectSpan 1048576 True 48.266 μs 0.2526 μs 0.2363 μs 0.17 0.01 - - - 400 B 0.000
GetByteBufferToArray 10485760 False 4,117.138 μs 85.5112 μs 252.1317 μs 1.00 0.09 328.1250 328.1250 328.1250 10486533 B 1.000
GetByteBufferStreamNaive 10485760 False 18,611.326 μs 123.2822 μs 109.2864 μs 4.54 0.28 937.5000 937.5000 937.5000 43910678 B 4.187
GetByteBufferStreamChunked 10485760 False 782.921 μs 6.7953 μs 6.0239 μs 0.19 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 False 658.962 μs 9.4323 μs 8.8230 μs 0.16 0.01 - - - 400 B 0.000
GetByteBufferToArray 10485760 True 4,115.832 μs 92.0516 μs 271.4164 μs 1.00 0.09 328.1250 328.1250 328.1250 10486533 B 1.000
GetByteBufferStreamNaive 10485760 True 18,585.899 μs 362.5035 μs 471.3569 μs 4.53 0.31 937.5000 937.5000 937.5000 43910678 B 4.187
GetByteBufferStreamChunked 10485760 True 770.903 μs 10.9876 μs 10.2778 μs 0.19 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 True 728.814 μs 9.6070 μs 8.0223 μs 0.18 0.01 - - - 400 B 0.000
GetByteBufferToArray 104857600 False 22,242.578 μs 143.8828 μs 127.5484 μs 1.00 0.01 312.5000 312.5000 312.5000 104858362 B 1.000
GetByteBufferStreamNaive 104857600 False 74,819.197 μs 622.6920 μs 519.9760 μs 3.36 0.03 750.0000 750.0000 750.0000 373163488 B 3.559
GetByteBufferStreamChunked 104857600 False 13,569.589 μs 141.6934 μs 132.5401 μs 0.61 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 False 12,161.414 μs 59.6775 μs 49.8334 μs 0.55 0.00 - - - 400 B 0.000
GetByteBufferToArray 104857600 True 22,225.952 μs 236.9468 μs 210.0472 μs 1.00 0.01 312.5000 312.5000 312.5000 104858362 B 1.000
GetByteBufferStreamNaive 104857600 True 74,585.677 μs 648.8880 μs 606.9702 μs 3.36 0.04 750.0000 750.0000 750.0000 373163488 B 3.559
GetByteBufferStreamChunked 104857600 True 13,588.976 μs 130.4314 μs 108.9161 μs 0.61 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 True 12,194.667 μs 37.6170 μs 29.3689 μs 0.55 0.01 - - - 400 B 0.000

bulk-ubuntu-22.04_net8.0_temurin_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 ForceRawMemory UseCriticalMethods Mean Error StdDev Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
InvokeByteArrayDirect 1024 True False 1.234 μs 0.0149 μs 0.0139 μs 1.00 0.02 0.0668 - - 1.09 KB 1.00
GetArrayViaStreamChunked 1024 True False 1.891 μs 0.0375 μs 0.0847 μs 1.53 0.07 0.3204 - - 5.26 KB 4.81
GetArrayViaStreamSpan 1024 True False 1.608 μs 0.0317 μs 0.0340 μs 1.30 0.03 0.0744 - - 1.23 KB 1.13
InvokeByteArrayDirect 1048576 True False 287.008 μs 3.3496 μs 2.9693 μs 1.00 0.01 212.4023 212.4023 212.4023 1024.71 KB 1.00
GetArrayViaStreamChunked 1048576 True False 311.285 μs 2.9888 μs 2.7958 μs 1.08 0.01 246.5820 246.5820 246.5820 1028.92 KB 1.00
GetArrayViaStreamSpan 1048576 True False 295.212 μs 5.7767 μs 5.9322 μs 1.03 0.02 217.2852 217.2852 217.2852 1024.64 KB 1.00
InvokeByteArrayDirect 104857600 True False 18,650.417 μs 226.1492 μs 200.4753 μs 1.00 0.01 312.5000 312.5000 312.5000 102400.29 KB 1.00
GetArrayViaStreamChunked 104857600 True False 19,296.604 μs 384.5184 μs 943.2303 μs 1.03 0.05 312.5000 312.5000 312.5000 102404.46 KB 1.00
GetArrayViaStreamSpan 104857600 True False 18,382.831 μs 365.1649 μs 831.6654 μs 0.99 0.05 312.5000 312.5000 312.5000 102400.44 KB 1.00

bulk-ubuntu-22.04_net8.0_temurin_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 UseCriticalMethods Mean Error StdDev Median Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
GetByteBufferToArray 10 False 3.455 μs 0.0530 μs 0.0470 μs 3.441 μs 1.00 0.02 0.0343 0.0305 - 576 B 1.00
GetByteBufferStreamNaive 10 False 3.623 μs 0.0717 μs 0.0982 μs 3.618 μs 1.05 0.03 0.0610 0.0572 - 1056 B 1.83
GetByteBufferStreamChunked 10 False 3.934 μs 0.0661 μs 0.0586 μs 3.946 μs 1.14 0.02 0.2823 0.2747 - 4792 B 8.32
GetByteBufferDirectSpan 10 False 2.236 μs 0.0196 μs 0.0183 μs 2.231 μs 0.65 0.01 0.0229 0.0191 - 400 B 0.69
GetByteBufferToArray 10 True 3.354 μs 0.0368 μs 0.0326 μs 3.348 μs 1.00 0.01 0.0343 0.0305 - 576 B 1.00
GetByteBufferStreamNaive 10 True 3.798 μs 0.0751 μs 0.0803 μs 3.782 μs 1.13 0.03 0.0610 0.0534 - 1056 B 1.83
GetByteBufferStreamChunked 10 True 4.223 μs 0.0819 μs 0.1035 μs 4.233 μs 1.26 0.03 0.2823 0.2747 - 4792 B 8.32
GetByteBufferDirectSpan 10 True 2.388 μs 0.0397 μs 0.0352 μs 2.384 μs 0.71 0.01 0.0229 0.0191 - 400 B 0.69
GetByteBufferToArray 100 False 3.435 μs 0.0678 μs 0.0634 μs 3.447 μs 1.00 0.03 0.0381 0.0343 - 664 B 1.00
GetByteBufferStreamNaive 100 False 3.682 μs 0.0736 μs 0.0723 μs 3.661 μs 1.07 0.03 0.0648 0.0610 - 1144 B 1.72
GetByteBufferStreamChunked 100 False 3.998 μs 0.0645 μs 0.0603 μs 4.002 μs 1.16 0.03 0.2823 0.2747 - 4792 B 7.22
GetByteBufferDirectSpan 100 False 2.276 μs 0.0377 μs 0.0352 μs 2.281 μs 0.66 0.02 0.0229 0.0191 - 400 B 0.60
GetByteBufferToArray 100 True 3.387 μs 0.0387 μs 0.0302 μs 3.395 μs 1.00 0.01 0.0381 0.0343 - 664 B 1.00
GetByteBufferStreamNaive 100 True 3.779 μs 0.0638 μs 0.0533 μs 3.778 μs 1.12 0.02 0.0648 0.0610 - 1144 B 1.72
GetByteBufferStreamChunked 100 True 4.212 μs 0.0637 μs 0.0532 μs 4.236 μs 1.24 0.02 0.2823 0.2747 - 4792 B 7.22
GetByteBufferDirectSpan 100 True 2.328 μs 0.0435 μs 0.0407 μs 2.328 μs 0.69 0.01 0.0229 0.0191 - 400 B 0.60
GetByteBufferToArray 1024 False 4.047 μs 0.0787 μs 0.1103 μs 4.064 μs 1.00 0.04 0.0916 0.0839 - 1584 B 1.00
GetByteBufferStreamNaive 1024 False 4.538 μs 0.0744 μs 0.0659 μs 4.562 μs 1.12 0.03 0.1678 0.1602 - 2832 B 1.79
GetByteBufferStreamChunked 1024 False 4.386 μs 0.0865 μs 0.0926 μs 4.362 μs 1.08 0.04 0.2823 0.2747 - 4792 B 3.03
GetByteBufferDirectSpan 1024 False 2.378 μs 0.0437 μs 0.0387 μs 2.362 μs 0.59 0.02 0.0229 0.0191 - 400 B 0.25
GetByteBufferToArray 1024 True 3.976 μs 0.0477 μs 0.0423 μs 3.991 μs 1.00 0.01 0.0916 0.0839 - 1584 B 1.00
GetByteBufferStreamNaive 1024 True 4.486 μs 0.0617 μs 0.0547 μs 4.484 μs 1.13 0.02 0.1678 0.1602 - 2832 B 1.79
GetByteBufferStreamChunked 1024 True 4.253 μs 0.0827 μs 0.1185 μs 4.223 μs 1.07 0.03 0.2823 0.2747 - 4792 B 3.03
GetByteBufferDirectSpan 1024 True 2.387 μs 0.0352 μs 0.0329 μs 2.374 μs 0.60 0.01 0.0229 0.0191 - 400 B 0.25
GetByteBufferToArray 10240 False 5.278 μs 0.0291 μs 0.0227 μs 5.278 μs 1.00 0.01 0.6409 0.6332 - 10800 B 1.00
GetByteBufferStreamNaive 10240 False 7.363 μs 0.1147 μs 0.0958 μs 7.390 μs 1.40 0.02 1.2665 0.6256 - 21264 B 1.97
GetByteBufferStreamChunked 10240 False 5.129 μs 0.0928 μs 0.0868 μs 5.110 μs 0.97 0.02 0.2823 0.2747 - 4792 B 0.44
GetByteBufferDirectSpan 10240 False 2.852 μs 0.0312 μs 0.0292 μs 2.848 μs 0.54 0.01 0.0229 0.0191 - 400 B 0.04
GetByteBufferToArray 10240 True 5.729 μs 0.0891 μs 0.0833 μs 5.723 μs 1.00 0.02 0.6409 0.6332 - 10800 B 1.00
GetByteBufferStreamNaive 10240 True 7.125 μs 0.1398 μs 0.1610 μs 7.152 μs 1.24 0.03 1.2665 0.6256 - 21264 B 1.97
GetByteBufferStreamChunked 10240 True 5.080 μs 0.1016 μs 0.1210 μs 5.034 μs 0.89 0.02 0.2823 0.2747 - 4792 B 0.44
GetByteBufferDirectSpan 10240 True 2.859 μs 0.0446 μs 0.0396 μs 2.868 μs 0.50 0.01 0.0229 0.0191 - 400 B 0.04
GetByteBufferToArray 102400 False 108.259 μs 2.0540 μs 2.0173 μs 108.090 μs 1.00 0.03 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 False 130.779 μs 1.9434 μs 1.8179 μs 130.284 μs 1.21 0.03 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 False 11.532 μs 0.1149 μs 0.1075 μs 11.517 μs 0.11 0.00 0.2747 0.2594 - 4792 B 0.047
GetByteBufferDirectSpan 102400 False 7.349 μs 0.0636 μs 0.0531 μs 7.360 μs 0.07 0.00 0.0229 0.0153 - 400 B 0.004
GetByteBufferToArray 102400 True 99.866 μs 1.9151 μs 2.2055 μs 99.278 μs 1.00 0.03 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 True 127.571 μs 1.8902 μs 1.7681 μs 127.494 μs 1.28 0.03 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 True 11.722 μs 0.0869 μs 0.0725 μs 11.719 μs 0.12 0.00 0.2747 0.2594 - 4792 B 0.047
GetByteBufferDirectSpan 102400 True 7.442 μs 0.0580 μs 0.0514 μs 7.442 μs 0.07 0.00 0.0229 0.0153 - 400 B 0.004
GetByteBufferToArray 1048576 False 419.773 μs 11.2375 μs 32.9575 μs 421.131 μs 1.01 0.11 215.8203 215.8203 215.8203 1049586 B 1.000
GetByteBufferStreamNaive 1048576 False 768.561 μs 14.7832 μs 35.1339 μs 764.234 μs 1.84 0.17 558.5938 558.5938 558.5938 3015947 B 2.873
GetByteBufferStreamChunked 1048576 False 90.035 μs 0.8654 μs 0.7671 μs 89.903 μs 0.22 0.02 0.2441 0.1221 - 4792 B 0.005
GetByteBufferDirectSpan 1048576 False 65.406 μs 0.6182 μs 0.5783 μs 65.447 μs 0.16 0.01 - - - 400 B 0.000
GetByteBufferToArray 1048576 True 449.511 μs 21.6763 μs 63.9129 μs 467.125 μs 1.02 0.21 217.7734 217.7734 217.7734 1049292 B 1.000
GetByteBufferStreamNaive 1048576 True 757.780 μs 15.0385 μs 31.3909 μs 750.459 μs 1.72 0.26 551.7578 551.7578 551.7578 3015962 B 2.874
GetByteBufferStreamChunked 1048576 True 90.398 μs 0.8888 μs 0.7879 μs 90.240 μs 0.21 0.03 0.2441 0.1221 - 4792 B 0.005
GetByteBufferDirectSpan 1048576 True 64.471 μs 0.8383 μs 0.7432 μs 64.362 μs 0.15 0.02 - - - 400 B 0.000
GetByteBufferToArray 10485760 False 5,170.129 μs 103.2193 μs 249.2862 μs 5,177.670 μs 1.00 0.07 328.1250 328.1250 328.1250 10486533 B 1.000
GetByteBufferStreamNaive 10485760 False 14,912.899 μs 181.5357 μs 160.9267 μs 14,879.753 μs 2.89 0.14 718.7500 718.7500 718.7500 43910545 B 4.187
GetByteBufferStreamChunked 10485760 False 1,142.268 μs 22.7817 μs 27.9780 μs 1,133.412 μs 0.22 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 False 1,033.741 μs 20.3358 μs 26.4423 μs 1,027.137 μs 0.20 0.01 - - - 400 B 0.000
GetByteBufferToArray 10485760 True 5,131.714 μs 100.8850 μs 141.4267 μs 5,118.854 μs 1.00 0.04 328.1250 328.1250 328.1250 10486533 B 1.000
GetByteBufferStreamNaive 10485760 True 15,019.067 μs 223.0161 μs 197.6980 μs 14,962.781 μs 2.93 0.09 718.7500 718.7500 718.7500 43910545 B 4.187
GetByteBufferStreamChunked 10485760 True 1,170.438 μs 21.4490 μs 17.9109 μs 1,172.879 μs 0.23 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 True 1,020.580 μs 12.9674 μs 11.4953 μs 1,017.197 μs 0.20 0.01 - - - 400 B 0.000
GetByteBufferToArray 104857600 False 25,478.074 μs 197.4850 μs 175.0653 μs 25,455.045 μs 1.00 0.01 312.5000 312.5000 312.5000 104858366 B 1.000
GetByteBufferStreamNaive 104857600 False 85,202.437 μs 473.1326 μs 419.4197 μs 85,018.280 μs 3.34 0.03 800.0000 800.0000 800.0000 373163536 B 3.559
GetByteBufferStreamChunked 104857600 False 14,772.798 μs 284.1318 μs 265.7771 μs 14,696.885 μs 0.58 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 False 13,695.065 μs 67.7110 μs 60.0241 μs 13,687.920 μs 0.54 0.00 - - - 400 B 0.000
GetByteBufferToArray 104857600 True 25,506.940 μs 167.7299 μs 156.8947 μs 25,489.055 μs 1.00 0.01 312.5000 312.5000 312.5000 104858366 B 1.000
GetByteBufferStreamNaive 104857600 True 83,640.469 μs 562.4147 μs 469.6418 μs 83,467.235 μs 3.28 0.03 666.6667 666.6667 666.6667 373163448 B 3.559
GetByteBufferStreamChunked 104857600 True 14,606.203 μs 188.9445 μs 167.4944 μs 14,565.980 μs 0.57 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 True 13,686.113 μs 106.3890 μs 99.5163 μs 13,712.096 μs 0.54 0.00 - - - 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.061 μs 0.0028 μs 0.0026 μs 1.00 0.00 0.0153 - - 1.09 KB 1.00
GetArrayViaStreamChunked 1024 True False 1.765 μs 0.0248 μs 0.0232 μs 1.66 0.02 0.0801 - - 5.26 KB 4.81
GetArrayViaStreamSpan 1024 True False 1.319 μs 0.0023 μs 0.0020 μs 1.24 0.00 0.0172 - - 1.23 KB 1.13
InvokeByteArrayDirect 1048576 True False 179.050 μs 3.1184 μs 4.1630 μs 1.00 0.03 170.1660 170.1660 170.1660 1025.39 KB 1.00
GetArrayViaStreamChunked 1048576 True False 225.652 μs 2.4012 μs 2.1286 μs 1.26 0.03 197.7539 197.7539 197.7539 1029.16 KB 1.00
GetArrayViaStreamSpan 1048576 True False 185.439 μs 3.5826 μs 4.3998 μs 1.04 0.03 168.7012 168.7012 168.7012 1025.51 KB 1.00
InvokeByteArrayDirect 104857600 True False 17,221.904 μs 333.1433 μs 421.3196 μs 1.00 0.03 312.5000 312.5000 312.5000 102400.29 KB 1.00
GetArrayViaStreamChunked 104857600 True False 17,173.710 μs 341.5450 μs 607.0960 μs 1.00 0.04 312.5000 312.5000 312.5000 102404.46 KB 1.00
GetArrayViaStreamSpan 104857600 True False 17,868.987 μs 349.7325 μs 523.4631 μs 1.04 0.04 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 2.991 μs 0.0116 μs 0.0103 μs 1.00 0.00 0.0076 0.0038 - 576 B 1.00
GetByteBufferStreamNaive 10 False 3.236 μs 0.0469 μs 0.0439 μs 1.08 0.01 0.0153 0.0114 - 1056 B 1.83
GetByteBufferStreamChunked 10 False 3.646 μs 0.0729 μs 0.0868 μs 1.22 0.03 0.0687 0.0648 - 4792 B 8.32
GetByteBufferDirectSpan 10 False 1.861 μs 0.0129 μs 0.0121 μs 0.62 0.00 0.0038 - - 400 B 0.69
GetByteBufferToArray 10 True 2.958 μs 0.0349 μs 0.0326 μs 1.00 0.02 0.0076 0.0038 - 576 B 1.00
GetByteBufferStreamNaive 10 True 3.211 μs 0.0617 μs 0.0686 μs 1.09 0.03 0.0153 0.0114 - 1056 B 1.83
GetByteBufferStreamChunked 10 True 3.523 μs 0.0570 μs 0.0533 μs 1.19 0.02 0.0687 0.0648 - 4792 B 8.32
GetByteBufferDirectSpan 10 True 1.846 μs 0.0057 μs 0.0054 μs 0.62 0.01 0.0038 - - 400 B 0.69
GetByteBufferToArray 100 False 2.902 μs 0.0135 μs 0.0113 μs 1.00 0.01 0.0076 0.0038 - 664 B 1.00
GetByteBufferStreamNaive 100 False 3.231 μs 0.0453 μs 0.0423 μs 1.11 0.01 0.0153 0.0114 - 1144 B 1.72
GetByteBufferStreamChunked 100 False 3.602 μs 0.0716 μs 0.0931 μs 1.24 0.03 0.0687 0.0648 - 4792 B 7.22
GetByteBufferDirectSpan 100 False 1.986 μs 0.0162 μs 0.0151 μs 0.68 0.01 0.0038 - - 400 B 0.60
GetByteBufferToArray 100 True 2.928 μs 0.0199 μs 0.0166 μs 1.00 0.01 0.0076 0.0038 - 664 B 1.00
GetByteBufferStreamNaive 100 True 3.178 μs 0.0097 μs 0.0076 μs 1.09 0.01 0.0153 0.0114 - 1144 B 1.72
GetByteBufferStreamChunked 100 True 3.588 μs 0.0702 μs 0.1051 μs 1.23 0.04 0.0687 0.0648 - 4792 B 7.22
GetByteBufferDirectSpan 100 True 1.883 μs 0.0166 μs 0.0156 μs 0.64 0.01 0.0038 - - 400 B 0.60
GetByteBufferToArray 1024 False 3.440 μs 0.0433 μs 0.0405 μs 1.00 0.02 0.0229 0.0191 - 1584 B 1.00
GetByteBufferStreamNaive 1024 False 3.600 μs 0.0694 μs 0.1039 μs 1.05 0.03 0.0420 0.0381 - 2832 B 1.79
GetByteBufferStreamChunked 1024 False 3.615 μs 0.0671 μs 0.0659 μs 1.05 0.02 0.0687 0.0648 - 4792 B 3.03
GetByteBufferDirectSpan 1024 False 1.872 μs 0.0106 μs 0.0099 μs 0.54 0.01 0.0038 - - 400 B 0.25
GetByteBufferToArray 1024 True 3.259 μs 0.0621 μs 0.0638 μs 1.00 0.03 0.0229 0.0191 - 1584 B 1.00
GetByteBufferStreamNaive 1024 True 3.611 μs 0.0711 μs 0.0665 μs 1.11 0.03 0.0420 0.0381 - 2832 B 1.79
GetByteBufferStreamChunked 1024 True 3.670 μs 0.0722 μs 0.1284 μs 1.13 0.04 0.0687 0.0648 - 4792 B 3.03
GetByteBufferDirectSpan 1024 True 1.867 μs 0.0118 μs 0.0110 μs 0.57 0.01 0.0038 - - 400 B 0.25
GetByteBufferToArray 10240 False 4.535 μs 0.0594 μs 0.0555 μs 1.00 0.02 0.1602 0.1526 - 10800 B 1.00
GetByteBufferStreamNaive 10240 False 5.445 μs 0.0542 μs 0.0452 μs 1.20 0.02 0.3128 0.3052 - 21264 B 1.97
GetByteBufferStreamChunked 10240 False 4.396 μs 0.0570 μs 0.0533 μs 0.97 0.02 0.0687 0.0610 - 4792 B 0.44
GetByteBufferDirectSpan 10240 False 2.426 μs 0.0211 μs 0.0197 μs 0.54 0.01 0.0038 - - 400 B 0.04
GetByteBufferToArray 10240 True 4.562 μs 0.0703 μs 0.0623 μs 1.00 0.02 0.1602 0.1526 - 10800 B 1.00
GetByteBufferStreamNaive 10240 True 5.431 μs 0.0918 μs 0.0859 μs 1.19 0.02 0.3128 0.3052 - 21264 B 1.97
GetByteBufferStreamChunked 10240 True 4.372 μs 0.0438 μs 0.0409 μs 0.96 0.02 0.0687 0.0610 - 4792 B 0.44
GetByteBufferDirectSpan 10240 True 2.388 μs 0.0287 μs 0.0268 μs 0.52 0.01 0.0038 - - 400 B 0.04
GetByteBufferToArray 102400 False 62.017 μs 0.3460 μs 0.3236 μs 1.00 0.01 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 False 76.556 μs 0.3569 μs 0.2981 μs 1.23 0.01 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 False 11.879 μs 0.0359 μs 0.0319 μs 0.19 0.00 0.0610 0.0458 - 4792 B 0.047
GetByteBufferDirectSpan 102400 False 7.444 μs 0.0081 μs 0.0075 μs 0.12 0.00 - - - 400 B 0.004
GetByteBufferToArray 102400 True 61.819 μs 0.1899 μs 0.1684 μs 1.00 0.00 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 True 77.952 μs 0.5110 μs 0.4530 μs 1.26 0.01 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 True 11.689 μs 0.0648 μs 0.0606 μs 0.19 0.00 0.0610 0.0458 - 4792 B 0.047
GetByteBufferDirectSpan 102400 True 7.655 μs 0.0268 μs 0.0238 μs 0.12 0.00 - - - 400 B 0.004
GetByteBufferToArray 1048576 False 283.112 μs 5.6226 μs 8.2415 μs 1.00 0.04 212.4023 212.4023 212.4023 1050047 B 1.000
GetByteBufferStreamNaive 1048576 False 573.371 μs 11.4340 μs 22.3011 μs 2.03 0.10 500.0000 500.0000 500.0000 3015823 B 2.872
GetByteBufferStreamChunked 1048576 False 98.751 μs 0.2213 μs 0.2070 μs 0.35 0.01 - - - 4792 B 0.005
GetByteBufferDirectSpan 1048576 False 75.792 μs 0.4026 μs 0.3766 μs 0.27 0.01 - - - 400 B 0.000
GetByteBufferToArray 1048576 True 268.038 μs 5.0259 μs 4.9361 μs 1.00 0.03 217.2852 217.2852 217.2852 1050005 B 1.000
GetByteBufferStreamNaive 1048576 True 588.438 μs 11.5456 μs 16.5584 μs 2.20 0.07 500.0000 500.0000 500.0000 3015808 B 2.872
GetByteBufferStreamChunked 1048576 True 98.164 μs 0.5935 μs 0.5551 μs 0.37 0.01 - - - 4792 B 0.005
GetByteBufferDirectSpan 1048576 True 75.959 μs 0.2590 μs 0.2163 μs 0.28 0.01 - - - 400 B 0.000
GetByteBufferToArray 10485760 False 2,195.016 μs 38.6321 μs 34.2464 μs 1.00 0.02 332.0313 332.0313 332.0313 10486535 B 1.000
GetByteBufferStreamNaive 10485760 False 8,377.677 μs 164.9086 μs 189.9090 μs 3.82 0.10 968.7500 968.7500 968.7500 43910699 B 4.187
GetByteBufferStreamChunked 10485760 False 963.896 μs 6.2917 μs 5.2538 μs 0.44 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 False 794.725 μs 6.0460 μs 5.6554 μs 0.36 0.01 - - - 400 B 0.000
GetByteBufferToArray 10485760 True 2,191.631 μs 18.6667 μs 14.5737 μs 1.00 0.01 332.0313 332.0313 332.0313 10486535 B 1.000
GetByteBufferStreamNaive 10485760 True 8,439.216 μs 162.8203 μs 199.9580 μs 3.85 0.09 968.7500 968.7500 968.7500 43910699 B 4.187
GetByteBufferStreamChunked 10485760 True 941.897 μs 6.9973 μs 6.5453 μs 0.43 0.00 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 True 796.103 μs 7.6313 μs 7.1383 μs 0.36 0.00 - - - 400 B 0.000
GetByteBufferToArray 104857600 False 21,752.997 μs 430.2690 μs 588.9572 μs 1.00 0.04 312.5000 312.5000 312.5000 104858362 B 1.000
GetByteBufferStreamNaive 104857600 False 49,640.555 μs 762.6150 μs 636.8181 μs 2.28 0.07 818.1818 818.1818 818.1818 373163532 B 3.559
GetByteBufferStreamChunked 104857600 False 13,850.133 μs 170.5594 μs 159.5414 μs 0.64 0.02 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 False 14,013.023 μs 193.6942 μs 181.1817 μs 0.64 0.02 - - - 400 B 0.000
GetByteBufferToArray 104857600 True 21,899.897 μs 427.8494 μs 525.4376 μs 1.00 0.03 312.5000 312.5000 312.5000 104858362 B 1.000
GetByteBufferStreamNaive 104857600 True 48,279.934 μs 862.0379 μs 806.3508 μs 2.21 0.06 818.1818 818.1818 818.1818 373163532 B 3.559
GetByteBufferStreamChunked 104857600 True 14,278.833 μs 156.2704 μs 146.1754 μs 0.65 0.02 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 True 12,749.387 μs 221.4667 μs 263.6403 μs 0.58 0.02 - - - 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.093 μs 0.0007 μs 0.0006 μs 1.00 0.00 0.0153 - - 1.09 KB 1.00
GetArrayViaStreamChunked 1024 True False 1.734 μs 0.0133 μs 0.0125 μs 1.59 0.01 0.0801 - - 5.26 KB 4.81
GetArrayViaStreamSpan 1024 True False 1.347 μs 0.0029 μs 0.0027 μs 1.23 0.00 0.0172 - - 1.23 KB 1.13
InvokeByteArrayDirect 1048576 True False 190.400 μs 2.2721 μs 2.0141 μs 1.00 0.01 142.8223 142.8223 142.8223 1025.17 KB 1.00
GetArrayViaStreamChunked 1048576 True False 216.163 μs 3.1887 μs 2.8267 μs 1.14 0.02 149.9023 149.9023 149.9023 1029.14 KB 1.00
GetArrayViaStreamSpan 1048576 True False 191.678 μs 3.0406 μs 2.8441 μs 1.01 0.02 143.0664 143.0664 143.0664 1025.25 KB 1.00
InvokeByteArrayDirect 104857600 True False 16,816.065 μs 215.2732 μs 190.8341 μs 1.00 0.02 312.5000 312.5000 312.5000 102400.29 KB 1.00
GetArrayViaStreamChunked 104857600 True False 17,479.837 μs 284.4757 μs 266.0987 μs 1.04 0.02 312.5000 312.5000 312.5000 102404.46 KB 1.00
GetArrayViaStreamSpan 104857600 True False 16,839.662 μs 326.7490 μs 388.9714 μs 1.00 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 Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
GetByteBufferToArray 10 False 3.079 μs 0.0121 μs 0.0113 μs 1.00 0.01 0.0076 0.0038 - 576 B 1.00
GetByteBufferStreamNaive 10 False 3.279 μs 0.0200 μs 0.0187 μs 1.07 0.01 0.0153 0.0114 - 1056 B 1.83
GetByteBufferStreamChunked 10 False 3.579 μs 0.0249 μs 0.0233 μs 1.16 0.01 0.0687 0.0648 - 4792 B 8.32
GetByteBufferDirectSpan 10 False 1.973 μs 0.0076 μs 0.0064 μs 0.64 0.00 0.0038 - - 400 B 0.69
GetByteBufferToArray 10 True 3.057 μs 0.0142 μs 0.0133 μs 1.00 0.01 0.0076 0.0038 - 576 B 1.00
GetByteBufferStreamNaive 10 True 3.429 μs 0.0218 μs 0.0194 μs 1.12 0.01 0.0153 0.0114 - 1056 B 1.83
GetByteBufferStreamChunked 10 True 3.577 μs 0.0148 μs 0.0138 μs 1.17 0.01 0.0687 0.0648 - 4792 B 8.32
GetByteBufferDirectSpan 10 True 1.947 μs 0.0054 μs 0.0048 μs 0.64 0.00 0.0038 - - 400 B 0.69
GetByteBufferToArray 100 False 3.002 μs 0.0114 μs 0.0106 μs 1.00 0.00 0.0076 0.0038 - 664 B 1.00
GetByteBufferStreamNaive 100 False 3.288 μs 0.0117 μs 0.0109 μs 1.10 0.01 0.0153 0.0114 - 1144 B 1.72
GetByteBufferStreamChunked 100 False 3.592 μs 0.0152 μs 0.0142 μs 1.20 0.01 0.0687 0.0648 - 4792 B 7.22
GetByteBufferDirectSpan 100 False 1.932 μs 0.0130 μs 0.0121 μs 0.64 0.00 0.0038 - - 400 B 0.60
GetByteBufferToArray 100 True 3.071 μs 0.0121 μs 0.0113 μs 1.00 0.01 0.0076 0.0038 - 664 B 1.00
GetByteBufferStreamNaive 100 True 3.299 μs 0.0136 μs 0.0127 μs 1.07 0.01 0.0153 0.0114 - 1144 B 1.72
GetByteBufferStreamChunked 100 True 3.576 μs 0.0323 μs 0.0287 μs 1.16 0.01 0.0687 0.0648 - 4792 B 7.22
GetByteBufferDirectSpan 100 True 2.009 μs 0.0146 μs 0.0136 μs 0.65 0.00 0.0038 - - 400 B 0.60
GetByteBufferToArray 1024 False 3.495 μs 0.0254 μs 0.0238 μs 1.00 0.01 0.0229 0.0191 - 1584 B 1.00
GetByteBufferStreamNaive 1024 False 3.819 μs 0.0455 μs 0.0426 μs 1.09 0.01 0.0381 0.0305 - 2832 B 1.79
GetByteBufferStreamChunked 1024 False 3.829 μs 0.0460 μs 0.0408 μs 1.10 0.01 0.0687 0.0610 - 4792 B 3.03
GetByteBufferDirectSpan 1024 False 2.063 μs 0.0128 μs 0.0120 μs 0.59 0.01 0.0038 - - 400 B 0.25
GetByteBufferToArray 1024 True 3.451 μs 0.0362 μs 0.0339 μs 1.00 0.01 0.0229 0.0191 - 1584 B 1.00
GetByteBufferStreamNaive 1024 True 3.832 μs 0.0253 μs 0.0224 μs 1.11 0.01 0.0420 0.0381 - 2832 B 1.79
GetByteBufferStreamChunked 1024 True 3.658 μs 0.0236 μs 0.0221 μs 1.06 0.01 0.0687 0.0648 - 4792 B 3.03
GetByteBufferDirectSpan 1024 True 2.014 μs 0.0184 μs 0.0173 μs 0.58 0.01 0.0038 - - 400 B 0.25
GetByteBufferToArray 10240 False 4.832 μs 0.0135 μs 0.0126 μs 1.00 0.00 0.1602 0.1526 - 10800 B 1.00
GetByteBufferStreamNaive 10240 False 5.904 μs 0.0563 μs 0.0526 μs 1.22 0.01 0.3128 0.3052 - 21264 B 1.97
GetByteBufferStreamChunked 10240 False 4.391 μs 0.0330 μs 0.0308 μs 0.91 0.01 0.0687 0.0610 - 4792 B 0.44
GetByteBufferDirectSpan 10240 False 2.588 μs 0.0048 μs 0.0043 μs 0.54 0.00 0.0038 - - 400 B 0.04
GetByteBufferToArray 10240 True 4.726 μs 0.0203 μs 0.0190 μs 1.00 0.01 0.1602 0.1526 - 10800 B 1.00
GetByteBufferStreamNaive 10240 True 5.898 μs 0.0309 μs 0.0289 μs 1.25 0.01 0.3128 0.3052 - 21264 B 1.97
GetByteBufferStreamChunked 10240 True 4.422 μs 0.0353 μs 0.0330 μs 0.94 0.01 0.0687 0.0610 - 4792 B 0.44
GetByteBufferDirectSpan 10240 True 2.581 μs 0.0162 μs 0.0151 μs 0.55 0.00 0.0038 - - 400 B 0.04
GetByteBufferToArray 102400 False 65.480 μs 1.2715 μs 1.6974 μs 1.00 0.04 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 False 81.787 μs 0.3842 μs 0.3406 μs 1.25 0.03 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 False 11.658 μs 0.0213 μs 0.0189 μs 0.18 0.00 0.0610 0.0458 - 4792 B 0.047
GetByteBufferDirectSpan 102400 False 7.944 μs 0.0471 μs 0.0441 μs 0.12 0.00 - - - 400 B 0.004
GetByteBufferToArray 102400 True 66.431 μs 0.9225 μs 0.8629 μs 1.00 0.02 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 True 82.863 μs 1.5259 μs 1.4273 μs 1.25 0.03 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 True 11.666 μs 0.0163 μs 0.0136 μs 0.18 0.00 0.0610 0.0458 - 4792 B 0.047
GetByteBufferDirectSpan 102400 True 7.773 μs 0.0069 μs 0.0057 μs 0.12 0.00 - - - 400 B 0.004
GetByteBufferToArray 1048576 False 274.379 μs 2.6070 μs 2.4386 μs 1.00 0.01 167.9688 167.9688 167.9688 1050041 B 1.000
GetByteBufferStreamNaive 1048576 False 563.971 μs 6.4739 μs 5.7389 μs 2.06 0.03 379.8828 379.8828 379.8828 3017235 B 2.873
GetByteBufferStreamChunked 1048576 False 97.998 μs 0.6294 μs 0.5887 μs 0.36 0.00 - - - 4792 B 0.005
GetByteBufferDirectSpan 1048576 False 76.947 μs 0.1140 μs 0.0952 μs 0.28 0.00 - - - 400 B 0.000
GetByteBufferToArray 1048576 True 271.662 μs 5.4010 μs 5.3045 μs 1.00 0.03 170.4102 170.4102 170.4102 1050104 B 1.000
GetByteBufferStreamNaive 1048576 True 569.082 μs 8.6876 μs 7.7014 μs 2.10 0.05 401.3672 401.3672 401.3672 3017322 B 2.873
GetByteBufferStreamChunked 1048576 True 98.836 μs 1.0460 μs 0.9273 μs 0.36 0.01 - - - 4792 B 0.005
GetByteBufferDirectSpan 1048576 True 76.685 μs 0.3521 μs 0.3121 μs 0.28 0.01 - - - 400 B 0.000
GetByteBufferToArray 10485760 False 2,360.172 μs 24.1009 μs 21.3648 μs 1.00 0.01 332.0313 332.0313 332.0313 10486535 B 1.000
GetByteBufferStreamNaive 10485760 False 6,839.749 μs 117.8901 μs 104.5065 μs 2.90 0.05 734.3750 734.3750 734.3750 43910537 B 4.187
GetByteBufferStreamChunked 10485760 False 980.191 μs 19.0408 μs 18.7006 μs 0.42 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 False 797.245 μs 4.7410 μs 4.2028 μs 0.34 0.00 - - - 400 B 0.000
GetByteBufferToArray 10485760 True 2,354.222 μs 46.7358 μs 45.9008 μs 1.00 0.03 332.0313 332.0313 332.0313 10486535 B 1.000
GetByteBufferStreamNaive 10485760 True 6,837.001 μs 86.0924 μs 71.8911 μs 2.91 0.06 710.9375 710.9375 710.9375 43910573 B 4.187
GetByteBufferStreamChunked 10485760 True 960.652 μs 5.7014 μs 5.0541 μs 0.41 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 True 826.496 μs 4.8799 μs 4.5646 μs 0.35 0.01 - - - 400 B 0.000
GetByteBufferToArray 104857600 False 22,558.689 μs 317.7080 μs 297.1842 μs 1.00 0.02 312.5000 312.5000 312.5000 104858366 B 1.000
GetByteBufferStreamNaive 104857600 False 48,594.587 μs 524.2621 μs 464.7447 μs 2.15 0.03 600.0000 600.0000 600.0000 373163404 B 3.559
GetByteBufferStreamChunked 104857600 False 14,697.773 μs 287.7793 μs 319.8660 μs 0.65 0.02 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 False 14,237.208 μs 138.6831 μs 129.7243 μs 0.63 0.01 - - - 400 B 0.000
GetByteBufferToArray 104857600 True 23,195.718 μs 355.3047 μs 296.6955 μs 1.00 0.02 312.5000 312.5000 312.5000 104858366 B 1.000
GetByteBufferStreamNaive 104857600 True 50,880.745 μs 987.3940 μs 969.7530 μs 2.19 0.05 600.0000 600.0000 600.0000 373163404 B 3.559
GetByteBufferStreamChunked 104857600 True 14,727.456 μs 294.1704 μs 421.8905 μs 0.64 0.02 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 True 14,262.868 μs 272.5696 μs 324.4747 μs 0.61 0.02 - - - 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 Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
InvokeByteArrayDirect 1024 True False 1.092 μs 0.0114 μs 0.0107 μs 1.00 0.01 0.0668 - - 1.09 KB 1.00
GetArrayViaStreamChunked 1024 True False 1.617 μs 0.0145 μs 0.0135 μs 1.48 0.02 0.3204 - - 5.26 KB 4.81
GetArrayViaStreamSpan 1024 True False 1.339 μs 0.0098 μs 0.0092 μs 1.23 0.01 0.0744 - - 1.23 KB 1.13
InvokeByteArrayDirect 1048576 True False 181.829 μs 2.9717 μs 2.7798 μs 1.00 0.02 194.8242 194.8242 194.8242 1025.29 KB 1.00
GetArrayViaStreamChunked 1048576 True False 215.452 μs 2.3570 μs 2.2047 μs 1.19 0.02 212.6465 212.4023 212.4023 1029.08 KB 1.00
GetArrayViaStreamSpan 1048576 True False 185.616 μs 3.5625 μs 3.8118 μs 1.02 0.03 203.6133 203.6133 203.6133 1025.38 KB 1.00
InvokeByteArrayDirect 104857600 True False 47,058.407 μs 826.7761 μs 773.3668 μs 1.00 0.02 272.7273 272.7273 272.7273 102400.27 KB 1.00
GetArrayViaStreamChunked 104857600 True False 52,083.348 μs 682.2492 μs 638.1764 μs 1.11 0.02 300.0000 300.0000 300.0000 102404.45 KB 1.00
GetArrayViaStreamSpan 104857600 True False 47,292.862 μs 686.3013 μs 641.9667 μs 1.01 0.02 272.7273 272.7273 272.7273 102400.41 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.788 μs 0.0098 μs 0.0081 μs 2.790 μs 1.00 0.00 0.0343 0.0305 - 576 B 1.00
GetByteBufferStreamNaive 10 False 2.822 μs 0.0153 μs 0.0136 μs 2.821 μs 1.01 0.01 0.0610 0.0572 - 1056 B 1.83
GetByteBufferStreamChunked 10 False 2.945 μs 0.0157 μs 0.0123 μs 2.944 μs 1.06 0.01 0.2861 0.2823 - 4792 B 8.32
GetByteBufferDirectSpan 10 False 1.821 μs 0.0115 μs 0.0107 μs 1.820 μs 0.65 0.00 0.0229 0.0210 - 400 B 0.69
GetByteBufferToArray 10 True 2.735 μs 0.0176 μs 0.0164 μs 2.737 μs 1.00 0.01 0.0343 0.0305 - 576 B 1.00
GetByteBufferStreamNaive 10 True 2.841 μs 0.0109 μs 0.0102 μs 2.842 μs 1.04 0.01 0.0610 0.0572 - 1056 B 1.83
GetByteBufferStreamChunked 10 True 2.934 μs 0.0242 μs 0.0202 μs 2.930 μs 1.07 0.01 0.2861 0.2823 - 4792 B 8.32
GetByteBufferDirectSpan 10 True 1.817 μs 0.0101 μs 0.0095 μs 1.816 μs 0.66 0.01 0.0229 0.0210 - 400 B 0.69
GetByteBufferToArray 100 False 2.751 μs 0.0206 μs 0.0193 μs 2.749 μs 1.00 0.01 0.0381 0.0343 - 664 B 1.00
GetByteBufferStreamNaive 100 False 2.817 μs 0.0148 μs 0.0139 μs 2.815 μs 1.02 0.01 0.0648 0.0610 - 1144 B 1.72
GetByteBufferStreamChunked 100 False 2.972 μs 0.0179 μs 0.0168 μs 2.969 μs 1.08 0.01 0.2861 0.2823 - 4792 B 7.22
GetByteBufferDirectSpan 100 False 1.841 μs 0.0116 μs 0.0109 μs 1.842 μs 0.67 0.01 0.0229 0.0210 - 400 B 0.60
GetByteBufferToArray 100 True 2.756 μs 0.0142 μs 0.0126 μs 2.754 μs 1.00 0.01 0.0381 0.0343 - 664 B 1.00
GetByteBufferStreamNaive 100 True 2.832 μs 0.0119 μs 0.0106 μs 2.833 μs 1.03 0.01 0.0648 0.0610 - 1144 B 1.72
GetByteBufferStreamChunked 100 True 2.987 μs 0.0237 μs 0.0222 μs 2.979 μs 1.08 0.01 0.2861 0.2823 - 4792 B 7.22
GetByteBufferDirectSpan 100 True 1.835 μs 0.0133 μs 0.0125 μs 1.837 μs 0.67 0.01 0.0229 0.0210 - 400 B 0.60
GetByteBufferToArray 1024 False 2.889 μs 0.0074 μs 0.0062 μs 2.888 μs 1.00 0.00 0.0916 0.0877 - 1584 B 1.00
GetByteBufferStreamNaive 1024 False 3.066 μs 0.0303 μs 0.0268 μs 3.058 μs 1.06 0.01 0.1678 0.1640 - 2832 B 1.79
GetByteBufferStreamChunked 1024 False 3.031 μs 0.0130 μs 0.0115 μs 3.034 μs 1.05 0.00 0.2861 0.2823 - 4792 B 3.03
GetByteBufferDirectSpan 1024 False 1.933 μs 0.0160 μs 0.0150 μs 1.929 μs 0.67 0.01 0.0229 0.0191 - 400 B 0.25
GetByteBufferToArray 1024 True 2.894 μs 0.0164 μs 0.0146 μs 2.895 μs 1.00 0.01 0.0916 0.0877 - 1584 B 1.00
GetByteBufferStreamNaive 1024 True 3.014 μs 0.0270 μs 0.0240 μs 3.004 μs 1.04 0.01 0.1678 0.1640 - 2832 B 1.79
GetByteBufferStreamChunked 1024 True 2.996 μs 0.0112 μs 0.0099 μs 2.997 μs 1.04 0.01 0.2861 0.2823 - 4792 B 3.03
GetByteBufferDirectSpan 1024 True 1.881 μs 0.0146 μs 0.0129 μs 1.877 μs 0.65 0.01 0.0229 0.0191 - 400 B 0.25
GetByteBufferToArray 10240 False 4.228 μs 0.0647 μs 0.0605 μs 4.210 μs 1.00 0.02 0.6409 0.6332 - 10800 B 1.00
GetByteBufferStreamNaive 10240 False 5.035 μs 0.0313 μs 0.0292 μs 5.040 μs 1.19 0.02 1.2665 0.6256 - 21264 B 1.97
GetByteBufferStreamChunked 10240 False 3.706 μs 0.0144 μs 0.0120 μs 3.708 μs 0.88 0.01 0.2861 0.2823 - 4792 B 0.44
GetByteBufferDirectSpan 10240 False 2.277 μs 0.0136 μs 0.0127 μs 2.274 μs 0.54 0.01 0.0229 0.0191 - 400 B 0.04
GetByteBufferToArray 10240 True 4.152 μs 0.0347 μs 0.0307 μs 4.143 μs 1.00 0.01 0.6409 0.6332 - 10800 B 1.00
GetByteBufferStreamNaive 10240 True 4.990 μs 0.0363 μs 0.0322 μs 4.989 μs 1.20 0.01 1.2665 0.6256 - 21264 B 1.97
GetByteBufferStreamChunked 10240 True 3.779 μs 0.0259 μs 0.0242 μs 3.777 μs 0.91 0.01 0.2861 0.2823 - 4792 B 0.44
GetByteBufferDirectSpan 10240 True 2.339 μs 0.0143 μs 0.0133 μs 2.336 μs 0.56 0.01 0.0229 0.0191 - 400 B 0.04
GetByteBufferToArray 102400 False 74.032 μs 0.3276 μs 0.2904 μs 73.970 μs 1.00 0.01 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 False 102.146 μs 1.0265 μs 0.9602 μs 101.978 μs 1.38 0.01 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 False 12.506 μs 0.2441 μs 0.2811 μs 12.494 μs 0.17 0.00 0.2747 0.2594 - 4792 B 0.047
GetByteBufferDirectSpan 102400 False 6.945 μs 0.0397 μs 0.0372 μs 6.959 μs 0.09 0.00 0.0229 0.0153 - 400 B 0.004
GetByteBufferToArray 102400 True 73.067 μs 0.6342 μs 0.5296 μs 72.939 μs 1.00 0.01 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 True 91.671 μs 0.4328 μs 0.3614 μs 91.716 μs 1.25 0.01 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 True 13.026 μs 0.1144 μs 0.1070 μs 13.031 μs 0.18 0.00 0.2747 0.2594 - 4792 B 0.047
GetByteBufferDirectSpan 102400 True 6.828 μs 0.0330 μs 0.0292 μs 6.835 μs 0.09 0.00 0.0229 0.0153 - 400 B 0.004
GetByteBufferToArray 1048576 False 233.747 μs 7.3065 μs 21.1976 μs 231.001 μs 1.01 0.13 202.6367 202.6367 202.6367 1049607 B 1.000
GetByteBufferStreamNaive 1048576 False 571.215 μs 11.3436 μs 29.6842 μs 569.771 μs 2.46 0.25 530.2734 530.2734 530.2734 3016068 B 2.874
GetByteBufferStreamChunked 1048576 False 86.602 μs 0.5981 μs 0.4669 μs 86.626 μs 0.37 0.03 0.2441 0.1221 - 4792 B 0.005
GetByteBufferDirectSpan 1048576 False 65.167 μs 2.7135 μs 8.0008 μs 65.109 μs 0.28 0.04 - - - 400 B 0.000
GetByteBufferToArray 1048576 True 234.251 μs 6.3817 μs 18.6158 μs 233.703 μs 1.01 0.11 202.1484 202.1484 202.1484 1049748 B 1.000
GetByteBufferStreamNaive 1048576 True 563.647 μs 11.1304 μs 23.9594 μs 563.565 μs 2.42 0.22 552.7344 552.7344 552.7344 3016017 B 2.873
GetByteBufferStreamChunked 1048576 True 90.202 μs 1.7762 μs 3.2923 μs 91.593 μs 0.39 0.03 0.2441 0.1221 - 4792 B 0.005
GetByteBufferDirectSpan 1048576 True 65.807 μs 2.6503 μs 7.8144 μs 67.224 μs 0.28 0.04 - - - 400 B 0.000
GetByteBufferToArray 10485760 False 3,355.735 μs 53.2506 μs 49.8106 μs 3,339.709 μs 1.00 0.02 332.0313 332.0313 332.0313 10486535 B 1.000
GetByteBufferStreamNaive 10485760 False 15,132.195 μs 297.1831 μs 586.6104 μs 15,284.483 μs 4.51 0.18 968.7500 968.7500 968.7500 43910699 B 4.187
GetByteBufferStreamChunked 10485760 False 999.791 μs 19.4413 μs 27.2540 μs 1,008.865 μs 0.30 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 False 771.772 μs 15.9632 μs 47.0679 μs 774.917 μs 0.23 0.01 - - - 400 B 0.000
GetByteBufferToArray 10485760 True 3,299.631 μs 57.6526 μs 56.6226 μs 3,295.302 μs 1.00 0.02 332.0313 332.0313 332.0313 10486535 B 1.000
GetByteBufferStreamNaive 10485760 True 15,141.352 μs 299.7737 μs 555.6498 μs 15,303.644 μs 4.59 0.18 968.7500 968.7500 968.7500 43910699 B 4.187
GetByteBufferStreamChunked 10485760 True 993.540 μs 11.1171 μs 8.6795 μs 997.304 μs 0.30 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 True 754.360 μs 15.0860 μs 44.0065 μs 731.263 μs 0.23 0.01 - - - 400 B 0.000
GetByteBufferToArray 104857600 False 57,427.062 μs 1,034.8999 μs 968.0460 μs 57,577.515 μs 1.00 0.02 222.2222 222.2222 222.2222 104858304 B 1.000
GetByteBufferStreamNaive 104857600 False 67,072.436 μs 1,263.2876 μs 1,181.6800 μs 67,179.259 μs 1.17 0.03 750.0000 750.0000 750.0000 373163488 B 3.559
GetByteBufferStreamChunked 104857600 False 24,042.250 μs 478.9892 μs 655.6459 μs 24,080.641 μs 0.42 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 False 19,019.256 μs 376.6817 μs 386.8244 μs 19,106.633 μs 0.33 0.01 - - - 400 B 0.000
GetByteBufferToArray 104857600 True 57,942.850 μs 782.5630 μs 732.0099 μs 58,011.850 μs 1.00 0.02 222.2222 222.2222 222.2222 104858304 B 1.000
GetByteBufferStreamNaive 104857600 True 68,111.679 μs 1,319.5055 μs 1,715.7300 μs 68,057.728 μs 1.18 0.03 750.0000 750.0000 750.0000 373163488 B 3.559
GetByteBufferStreamChunked 104857600 True 23,454.045 μs 374.1813 μs 350.0094 μs 23,417.514 μs 0.40 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 True 18,536.270 μs 357.6943 μs 524.3037 μs 18,559.042 μs 0.32 0.01 - - - 400 B 0.000

bulk-ubuntu-24.04_net8.0_temurin_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 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 754.9 ns 8.48 ns 7.93 ns 1.00 0.01 0.0134 - - 1.09 KB 1.00
GetArrayViaStreamChunked 1024 True False 1,121.1 ns 12.60 ns 10.52 ns 1.49 0.02 0.0629 - - 5.26 KB 4.81
GetArrayViaStreamSpan 1024 True False 914.3 ns 17.16 ns 17.62 ns 1.21 0.03 0.0143 - - 1.23 KB 1.13
InvokeByteArrayDirect 1048576 True False 196,204.0 ns 3,687.19 ns 3,268.60 ns 1.00 0.02 203.8574 203.8574 203.8574 1024.72 KB 1.00
GetArrayViaStreamChunked 1048576 True False 210,359.3 ns 4,024.28 ns 3,567.42 ns 1.07 0.02 225.3418 225.3418 225.3418 1028.93 KB 1.00
GetArrayViaStreamSpan 1048576 True False 201,966.1 ns 4,002.06 ns 3,743.53 ns 1.03 0.02 206.0547 206.0547 206.0547 1024.72 KB 1.00
InvokeByteArrayDirect 104857600 True False 33,363,405.8 ns 423,387.10 ns 375,321.64 ns 1.00 0.02 250.0000 250.0000 250.0000 102400.25 KB 1.00
GetArrayViaStreamChunked 104857600 True False 34,977,854.4 ns 509,626.56 ns 476,705.00 ns 1.05 0.02 266.6667 266.6667 266.6667 102404.43 KB 1.00
GetArrayViaStreamSpan 104857600 True False 32,954,917.4 ns 283,079.42 ns 236,384.14 ns 0.99 0.01 250.0000 250.0000 250.0000 102400.4 KB 1.00

bulk-ubuntu-24.04_net8.0_temurin_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 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.031 μs 0.0250 μs 0.0209 μs 2.037 μs 1.00 0.01 0.0038 - - 576 B 1.00
GetByteBufferStreamNaive 10 False 2.351 μs 0.0235 μs 0.0209 μs 2.347 μs 1.16 0.02 0.0114 0.0076 - 1056 B 1.83
GetByteBufferStreamChunked 10 False 2.588 μs 0.0374 μs 0.0350 μs 2.585 μs 1.27 0.02 0.0572 0.0534 - 4792 B 8.32
GetByteBufferDirectSpan 10 False 1.464 μs 0.0226 μs 0.0211 μs 1.457 μs 0.72 0.01 0.0038 0.0019 - 400 B 0.69
GetByteBufferToArray 10 True 1.972 μs 0.0200 μs 0.0167 μs 1.975 μs 1.00 0.01 0.0038 - - 576 B 1.00
GetByteBufferStreamNaive 10 True 2.237 μs 0.0214 μs 0.0200 μs 2.239 μs 1.13 0.01 0.0114 0.0076 - 1056 B 1.83
GetByteBufferStreamChunked 10 True 2.585 μs 0.0438 μs 0.0389 μs 2.581 μs 1.31 0.02 0.0572 0.0534 - 4792 B 8.32
GetByteBufferDirectSpan 10 True 1.453 μs 0.0220 μs 0.0206 μs 1.461 μs 0.74 0.01 0.0038 0.0019 - 400 B 0.69
GetByteBufferToArray 100 False 2.153 μs 0.0264 μs 0.0247 μs 2.155 μs 1.00 0.02 0.0076 0.0038 - 664 B 1.00
GetByteBufferStreamNaive 100 False 2.197 μs 0.0265 μs 0.0248 μs 2.191 μs 1.02 0.02 0.0114 0.0076 - 1144 B 1.72
GetByteBufferStreamChunked 100 False 2.548 μs 0.0231 μs 0.0204 μs 2.548 μs 1.18 0.02 0.0572 0.0534 - 4792 B 7.22
GetByteBufferDirectSpan 100 False 1.470 μs 0.0192 μs 0.0180 μs 1.473 μs 0.68 0.01 0.0038 0.0019 - 400 B 0.60
GetByteBufferToArray 100 True 2.138 μs 0.0288 μs 0.0270 μs 2.138 μs 1.00 0.02 0.0076 0.0038 - 664 B 1.00
GetByteBufferStreamNaive 100 True 2.222 μs 0.0264 μs 0.0247 μs 2.224 μs 1.04 0.02 0.0114 0.0076 - 1144 B 1.72
GetByteBufferStreamChunked 100 True 2.585 μs 0.0163 μs 0.0136 μs 2.587 μs 1.21 0.02 0.0572 0.0534 - 4792 B 7.22
GetByteBufferDirectSpan 100 True 1.480 μs 0.0237 μs 0.0222 μs 1.480 μs 0.69 0.01 0.0038 0.0019 - 400 B 0.60
GetByteBufferToArray 1024 False 2.270 μs 0.0363 μs 0.0340 μs 2.274 μs 1.00 0.02 0.0153 0.0114 - 1584 B 1.00
GetByteBufferStreamNaive 1024 False 2.592 μs 0.0386 μs 0.0322 μs 2.597 μs 1.14 0.02 0.0305 0.0267 - 2832 B 1.79
GetByteBufferStreamChunked 1024 False 2.694 μs 0.0534 μs 0.0831 μs 2.681 μs 1.19 0.04 0.0572 0.0534 - 4792 B 3.03
GetByteBufferDirectSpan 1024 False 1.491 μs 0.0168 μs 0.0157 μs 1.493 μs 0.66 0.01 0.0038 0.0019 - 400 B 0.25
GetByteBufferToArray 1024 True 2.347 μs 0.0299 μs 0.0279 μs 2.350 μs 1.00 0.02 0.0153 0.0114 - 1584 B 1.00
GetByteBufferStreamNaive 1024 True 2.567 μs 0.0320 μs 0.0284 μs 2.571 μs 1.09 0.02 0.0305 0.0267 - 2832 B 1.79
GetByteBufferStreamChunked 1024 True 2.606 μs 0.0381 μs 0.0337 μs 2.596 μs 1.11 0.02 0.0572 0.0534 - 4792 B 3.03
GetByteBufferDirectSpan 1024 True 1.513 μs 0.0214 μs 0.0200 μs 1.516 μs 0.64 0.01 0.0038 0.0019 - 400 B 0.25
GetByteBufferToArray 10240 False 3.358 μs 0.0344 μs 0.0321 μs 3.355 μs 1.00 0.01 0.1259 0.1221 - 10800 B 1.00
GetByteBufferStreamNaive 10240 False 4.030 μs 0.0360 μs 0.0320 μs 4.031 μs 1.20 0.01 0.2518 0.2441 - 21264 B 1.97
GetByteBufferStreamChunked 10240 False 3.319 μs 0.0463 μs 0.0433 μs 3.325 μs 0.99 0.02 0.0572 0.0534 - 4792 B 0.44
GetByteBufferDirectSpan 10240 False 1.771 μs 0.0214 μs 0.0200 μs 1.767 μs 0.53 0.01 0.0038 0.0019 - 400 B 0.04
GetByteBufferToArray 10240 True 3.664 μs 0.0727 μs 0.1043 μs 3.700 μs 1.00 0.04 0.1259 0.1221 - 10800 B 1.00
GetByteBufferStreamNaive 10240 True 4.104 μs 0.0718 μs 0.0636 μs 4.081 μs 1.12 0.04 0.2518 0.2441 - 21264 B 1.97
GetByteBufferStreamChunked 10240 True 3.328 μs 0.0387 μs 0.0362 μs 3.322 μs 0.91 0.03 0.0572 0.0534 - 4792 B 0.44
GetByteBufferDirectSpan 10240 True 1.768 μs 0.0325 μs 0.0304 μs 1.767 μs 0.48 0.02 0.0038 0.0019 - 400 B 0.04
GetByteBufferToArray 102400 False 50.023 μs 0.1718 μs 0.1607 μs 50.009 μs 1.00 0.00 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 False 67.807 μs 0.2508 μs 0.2095 μs 67.767 μs 1.36 0.01 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 False 8.516 μs 0.0476 μs 0.0446 μs 8.511 μs 0.17 0.00 0.0458 0.0305 - 4792 B 0.047
GetByteBufferDirectSpan 102400 False 5.893 μs 0.0323 μs 0.0286 μs 5.897 μs 0.12 0.00 - - - 400 B 0.004
GetByteBufferToArray 102400 True 49.977 μs 0.1616 μs 0.1349 μs 49.994 μs 1.00 0.00 32.2266 32.2266 32.2266 102982 B 1.000
GetByteBufferStreamNaive 102400 True 68.057 μs 0.2783 μs 0.2324 μs 68.053 μs 1.36 0.01 64.4531 64.4531 64.4531 205627 B 1.997
GetByteBufferStreamChunked 102400 True 8.434 μs 0.0741 μs 0.0693 μs 8.425 μs 0.17 0.00 0.0458 0.0305 - 4792 B 0.047
GetByteBufferDirectSpan 102400 True 5.892 μs 0.0412 μs 0.0365 μs 5.889 μs 0.12 0.00 - - - 400 B 0.004
GetByteBufferToArray 1048576 False 265.404 μs 3.5322 μs 3.3040 μs 265.522 μs 1.00 0.02 233.8867 233.8867 233.8867 1049530 B 1.000
GetByteBufferStreamNaive 1048576 False 552.977 μs 7.4131 μs 6.5715 μs 552.925 μs 2.08 0.03 563.4766 563.4766 563.4766 3015885 B 2.874
GetByteBufferStreamChunked 1048576 False 94.459 μs 1.5845 μs 1.6954 μs 94.395 μs 0.36 0.01 - - - 4792 B 0.005
GetByteBufferDirectSpan 1048576 False 89.631 μs 1.1706 μs 1.0949 μs 89.916 μs 0.34 0.01 - - - 400 B 0.000
GetByteBufferToArray 1048576 True 269.045 μs 3.7141 μs 3.4742 μs 269.086 μs 1.00 0.02 245.6055 245.6055 245.6055 1049344 B 1.000
GetByteBufferStreamNaive 1048576 True 549.177 μs 8.1080 μs 7.1875 μs 550.911 μs 2.04 0.04 568.3594 568.3594 568.3594 3015889 B 2.874
GetByteBufferStreamChunked 1048576 True 96.030 μs 1.9029 μs 3.5742 μs 94.587 μs 0.36 0.01 - - - 4792 B 0.005
GetByteBufferDirectSpan 1048576 True 90.830 μs 1.8123 μs 3.1741 μs 89.101 μs 0.34 0.01 - - - 400 B 0.000
GetByteBufferToArray 10485760 False 2,839.658 μs 56.7484 μs 63.0757 μs 2,838.231 μs 1.00 0.03 332.0313 332.0313 332.0313 10486535 B 1.000
GetByteBufferStreamNaive 10485760 False 8,507.334 μs 156.8517 μs 130.9783 μs 8,501.021 μs 3.00 0.08 718.7500 718.7500 718.7500 43910546 B 4.187
GetByteBufferStreamChunked 10485760 False 1,281.096 μs 22.7189 μs 21.2513 μs 1,291.180 μs 0.45 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 False 1,265.926 μs 7.6803 μs 6.8084 μs 1,266.902 μs 0.45 0.01 - - - 400 B 0.000
GetByteBufferToArray 10485760 True 2,877.657 μs 41.6749 μs 36.9438 μs 2,883.080 μs 1.00 0.02 332.0313 332.0313 332.0313 10486535 B 1.000
GetByteBufferStreamNaive 10485760 True 8,591.509 μs 148.4220 μs 182.2755 μs 8,558.692 μs 2.99 0.07 1015.6250 1015.6250 1015.6250 43910731 B 4.187
GetByteBufferStreamChunked 10485760 True 1,269.945 μs 22.1636 μs 28.0299 μs 1,259.063 μs 0.44 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 10485760 True 1,234.906 μs 17.3925 μs 16.2690 μs 1,239.017 μs 0.43 0.01 - - - 400 B 0.000
GetByteBufferToArray 104857600 False 46,386.213 μs 671.8517 μs 628.4505 μs 46,420.251 μs 1.00 0.02 272.7273 272.7273 272.7273 104858341 B 1.000
GetByteBufferStreamNaive 104857600 False 95,349.431 μs 599.4574 μs 560.7329 μs 95,312.729 μs 2.06 0.03 666.6667 666.6667 666.6667 373163448 B 3.559
GetByteBufferStreamChunked 104857600 False 19,482.888 μs 372.3192 μs 382.3444 μs 19,569.139 μs 0.42 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 False 17,921.963 μs 354.9715 μs 485.8890 μs 17,849.174 μs 0.39 0.01 - - - 400 B 0.000
GetByteBufferToArray 104857600 True 46,611.407 μs 598.1498 μs 559.5097 μs 46,634.937 μs 1.00 0.02 272.7273 272.7273 272.7273 104858341 B 1.000
GetByteBufferStreamNaive 104857600 True 94,321.132 μs 832.0961 μs 778.3432 μs 94,250.695 μs 2.02 0.03 666.6667 666.6667 666.6667 373163448 B 3.559
GetByteBufferStreamChunked 104857600 True 20,094.837 μs 396.1322 μs 486.4859 μs 20,013.028 μs 0.43 0.01 - - - 4792 B 0.000
GetByteBufferDirectSpan 104857600 True 18,457.276 μs 364.2422 μs 799.5205 μs 18,402.815 μs 0.40 0.02 - - - 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 548.7 ns 0.28 ns 0.23 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,292.0 ns 15.12 ns 14.14 ns 13.29 0.03 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,153.2 ns 1.81 ns 1.61 ns 2.10 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,171.1 ns 1.86 ns 1.65 ns 2.13 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,410.7 ns 46.04 ns 40.82 ns 17.15 0.07 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 537.3 ns 0.27 ns 0.23 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 568,423.0 ns 1,073.70 ns 1,004.34 ns 1,057.83 1.86 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,908.7 ns 2.45 ns 1.91 ns 3.55 0.00 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,903.3 ns 5.26 ns 4.66 ns 3.54 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 742,455.7 ns 544.51 ns 425.12 ns 1,381.71 0.95 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 555.7 ns 0.26 ns 0.20 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,970,975.7 ns 319,526.73 ns 298,885.50 ns 106,117.15 522.40 333.3333 222.2222 222.2222 16001497 B 51,286.85
InvokeIntArrayFixed 100000 61,201.3 ns 615.80 ns 576.02 ns 110.13 1.00 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 61,367.2 ns 365.19 ns 323.73 ns 110.43 0.56 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 82,051,919.1 ns 1,469,737.35 ns 1,374,793.23 ns 147,650.87 2,397.26 666.6667 500.0000 500.0000 27894008 B 89,403.87

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.074 μs 0.0008 μs 0.0007 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.075 μs 0.0007 μs 0.0005 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.058 μs 0.0041 μs 0.0034 μs 0.99 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.62 ns 0.041 ns 0.034 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 114.82 ns 0.025 ns 0.022 ns 1.25 0.0004 24 B 1.00
GetInstanceStringField 114.41 ns 0.026 ns 0.022 ns 1.25 - - 0.00
SetInstanceStringField 688.17 ns 0.820 ns 0.767 ns 7.51 0.0038 256 B 10.67
GetStaticIntField 118.58 ns 0.039 ns 0.033 ns 1.29 0.0002 24 B 1.00
SetStaticIntField 115.73 ns 0.088 ns 0.082 ns 1.26 0.0004 24 B 1.00
GetStaticStringField 108.54 ns 0.017 ns 0.016 ns 1.18 - - 0.00
SetStaticStringField 678.50 ns 1.175 ns 1.099 ns 7.41 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 101.51 ns 0.022 ns 0.020 ns 1.11 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 375.0 ns 0.10 ns 0.09 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 387.7 ns 0.34 ns 0.32 ns 1.03 - - NA
InvokeStaticWithFeedback 538.1 ns 0.26 ns 0.23 ns 1.44 0.0038 312 B NA
InvokeInstanceEmpty 393.0 ns 0.23 ns 0.22 ns 1.05 - - NA
InvokeInstanceWithFeedback 563.5 ns 0.40 ns 0.34 ns 1.50 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.333 μs 0.0023 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,060.4 ns 3.85 ns 3.41 ns - 104 B
PredicateRoundTrip False False True 1,065.0 ns 6.19 ns 5.79 ns - 104 B
PredicateRoundTrip False True False 1,316.7 ns 5.58 ns 4.94 ns 0.0019 200 B
PredicateRoundTrip False True True 4,960.3 ns 13.89 ns 13.00 ns 0.0076 760 B
PredicateRoundTrip True False False 464.6 ns 0.97 ns 0.91 ns - 24 B
PredicateRoundTrip True False True 462.7 ns 0.62 ns 0.58 ns - 24 B
PredicateRoundTrip True True False 691.4 ns 1.22 ns 1.08 ns 0.0010 120 B
PredicateRoundTrip True True True 4,126.3 ns 11.69 ns 10.94 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 606.35 ns 1.081 ns 0.958 ns 0.0011 80 B
PredicateSustained False False True 605.12 ns 5.052 ns 4.726 ns 0.0011 80 B
PredicateSustained False True False 817.81 ns 0.650 ns 0.543 ns 0.0014 176 B
PredicateSustained False True True 4,318.77 ns 9.991 ns 9.345 ns 0.0100 736 B
PredicateSustained True False False 50.77 ns 0.896 ns 0.838 ns - -
PredicateSustained True False True 50.79 ns 0.696 ns 0.651 ns - -
PredicateSustained True True False 276.71 ns 0.482 ns 0.451 ns 0.0013 96 B
PredicateSustained True True True 3,554.20 ns 6.492 ns 5.755 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 572.8 ns 1.25 ns 1.17 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,476.2 ns 30.16 ns 28.22 ns 13.05 0.05 0.0153 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,158.0 ns 1.61 ns 1.43 ns 2.02 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,170.1 ns 1.64 ns 1.45 ns 2.04 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 10,042.5 ns 49.32 ns 41.18 ns 17.53 0.08 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 558.3 ns 0.46 ns 0.41 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 571,832.3 ns 1,036.88 ns 969.90 ns 1,024.22 1.83 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,877.7 ns 4.30 ns 3.81 ns 3.36 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,901.9 ns 7.14 ns 6.68 ns 3.41 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 753,642.7 ns 1,563.49 ns 1,305.59 ns 1,349.87 2.45 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 564.6 ns 0.57 ns 0.51 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,838,898.0 ns 194,296.01 ns 181,744.61 ns 104,215.70 324.61 333.3333 222.2222 222.2222 16001879 B 51,288.07
InvokeIntArrayFixed 100000 61,916.0 ns 308.97 ns 273.90 ns 109.67 0.48 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 61,458.1 ns 366.09 ns 342.44 ns 108.85 0.59 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 83,843,634.2 ns 1,118,259.18 ns 1,046,020.34 ns 148,504.19 1,798.80 1000.0000 833.3333 833.3333 27895507 B 89,408.68

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.093 μs 0.0015 μs 0.0012 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.108 μs 0.0117 μs 0.0109 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.087 μs 0.0129 μs 0.0120 μ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.98 ns 0.044 ns 0.037 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 112.08 ns 0.140 ns 0.131 ns 1.22 0.0004 24 B 1.00
GetInstanceStringField 100.42 ns 0.065 ns 0.061 ns 1.09 - - 0.00
SetInstanceStringField 681.92 ns 1.031 ns 0.914 ns 7.41 0.0038 256 B 10.67
GetStaticIntField 105.54 ns 0.029 ns 0.026 ns 1.15 0.0004 24 B 1.00
SetStaticIntField 107.96 ns 0.094 ns 0.088 ns 1.17 0.0004 24 B 1.00
GetStaticStringField 95.70 ns 0.032 ns 0.030 ns 1.04 - - 0.00
SetStaticStringField 681.70 ns 1.127 ns 0.999 ns 7.41 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 99.11 ns 0.092 ns 0.087 ns 1.08 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 309.1 ns 0.18 ns 0.16 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 308.6 ns 0.20 ns 0.18 ns 1.00 - - NA
InvokeStaticWithFeedback 569.2 ns 0.27 ns 0.24 ns 1.84 0.0038 312 B NA
InvokeInstanceEmpty 317.8 ns 0.95 ns 0.89 ns 1.03 - - NA
InvokeInstanceWithFeedback 561.9 ns 0.57 ns 0.51 ns 1.82 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 2.742 μs 0.0522 μs 0.0489 μs 1.00 0.02 0.0076 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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,092.5 ns 9.27 ns 8.67 ns - 104 B
PredicateRoundTrip False False True 1,065.5 ns 10.22 ns 9.56 ns - 104 B
PredicateRoundTrip False True False 1,397.9 ns 11.54 ns 10.79 ns 0.0019 200 B
PredicateRoundTrip False True True 6,069.0 ns 102.60 ns 95.98 ns 0.0076 760 B
PredicateRoundTrip True False False 460.1 ns 2.83 ns 2.21 ns - 24 B
PredicateRoundTrip True False True 463.3 ns 0.52 ns 0.41 ns - 24 B
PredicateRoundTrip True True False 723.0 ns 8.12 ns 6.34 ns 0.0010 120 B
PredicateRoundTrip True True True 5,213.5 ns 51.51 ns 48.18 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 599.09 ns 1.529 ns 1.355 ns 0.0011 80 B
PredicateSustained False False True 604.44 ns 1.247 ns 1.167 ns 0.0011 80 B
PredicateSustained False True False 810.52 ns 8.340 ns 7.801 ns 0.0014 176 B
PredicateSustained False True True 4,784.05 ns 49.292 ns 46.108 ns 0.0100 736 B
PredicateSustained True False False 43.90 ns 0.481 ns 0.450 ns - -
PredicateSustained True False True 44.67 ns 0.027 ns 0.025 ns - -
PredicateSustained True True False 257.73 ns 0.361 ns 0.338 ns 0.0013 96 B
PredicateSustained True True True 4,146.46 ns 40.208 ns 33.575 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 543.9 ns 0.68 ns 0.57 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,214.8 ns 20.90 ns 19.55 ns 13.26 0.04 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,150.1 ns 2.28 ns 2.14 ns 2.11 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,146.7 ns 1.47 ns 1.31 ns 2.11 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,942.1 ns 32.91 ns 30.79 ns 16.44 0.06 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 552.2 ns 0.37 ns 0.32 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 570,600.9 ns 891.81 ns 834.20 ns 1,033.38 1.58 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,875.6 ns 2.49 ns 2.08 ns 3.40 0.00 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,866.3 ns 3.86 ns 3.22 ns 3.38 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 735,187.1 ns 726.62 ns 644.13 ns 1,331.45 1.36 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 552.5 ns 0.33 ns 0.29 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 59,128,285.1 ns 175,193.16 ns 163,875.79 ns 107,013.70 292.23 250.0000 125.0000 125.0000 16001347 B 51,286.37
InvokeIntArrayFixed 100000 60,898.2 ns 149.86 ns 132.85 ns 110.22 0.24 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,827.0 ns 338.79 ns 300.33 ns 110.09 0.53 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 82,754,423.3 ns 1,644,016.89 ns 1,537,814.42 ns 149,773.62 2,696.33 666.6667 500.0000 500.0000 27894008 B 89,403.87

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
NewEmpty 1.046 μs 0.0112 μs 0.0099 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.059 μs 0.0106 μs 0.0100 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.055 μs 0.0106 μs 0.0094 μs 1.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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 94.53 ns 0.028 ns 0.025 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 110.33 ns 0.031 ns 0.028 ns 1.17 0.00 0.0004 24 B 1.00
GetInstanceStringField 103.76 ns 0.013 ns 0.012 ns 1.10 0.00 - - 0.00
SetInstanceStringField 682.73 ns 0.994 ns 0.930 ns 7.22 0.01 0.0038 256 B 10.67
GetStaticIntField 107.16 ns 0.046 ns 0.041 ns 1.13 0.00 0.0004 24 B 1.00
SetStaticIntField 107.63 ns 0.065 ns 0.051 ns 1.14 0.00 0.0004 24 B 1.00
GetStaticStringField 97.95 ns 0.042 ns 0.037 ns 1.04 0.00 - - 0.00
SetStaticStringField 680.05 ns 2.269 ns 2.122 ns 7.19 0.02 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 101.27 ns 0.053 ns 0.050 ns 1.07 0.00 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 311.7 ns 0.15 ns 0.14 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 324.5 ns 0.46 ns 0.43 ns 1.04 - - NA
InvokeStaticWithFeedback 545.5 ns 0.62 ns 0.55 ns 1.75 0.0038 312 B NA
InvokeInstanceEmpty 324.0 ns 0.13 ns 0.12 ns 1.04 - - NA
InvokeInstanceWithFeedback 557.0 ns 0.31 ns 0.28 ns 1.79 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.303 μs 0.0022 μs 0.0021 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,040.2 ns 6.47 ns 6.05 ns - 104 B
PredicateRoundTrip False False True 1,042.0 ns 7.27 ns 6.45 ns - 104 B
PredicateRoundTrip False True False 1,296.5 ns 8.96 ns 8.38 ns 0.0019 200 B
PredicateRoundTrip False True True 5,012.9 ns 42.99 ns 40.21 ns 0.0076 760 B
PredicateRoundTrip True False False 448.8 ns 0.62 ns 0.58 ns - 24 B
PredicateRoundTrip True False True 455.2 ns 2.26 ns 2.12 ns - 24 B
PredicateRoundTrip True True False 680.7 ns 2.58 ns 2.02 ns 0.0010 120 B
PredicateRoundTrip True True True 5,118.4 ns 58.01 ns 54.26 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 588.38 ns 0.275 ns 0.244 ns 0.0011 80 B
PredicateSustained False False True 587.73 ns 1.676 ns 1.567 ns 0.0011 80 B
PredicateSustained False True False 794.37 ns 1.370 ns 1.144 ns 0.0014 176 B
PredicateSustained False True True 4,085.61 ns 19.599 ns 18.333 ns 0.0100 736 B
PredicateSustained True False False 46.66 ns 0.922 ns 1.097 ns - -
PredicateSustained True False True 44.97 ns 0.672 ns 0.774 ns - -
PredicateSustained True True False 259.01 ns 0.389 ns 0.345 ns 0.0013 96 B
PredicateSustained True True True 3,737.72 ns 31.720 ns 28.119 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 562.0 ns 0.46 ns 0.41 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,454.0 ns 32.55 ns 28.86 ns 13.26 0.05 0.0153 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,163.1 ns 1.57 ns 1.39 ns 2.07 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,227.7 ns 6.51 ns 6.09 ns 2.18 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,753.3 ns 47.50 ns 44.43 ns 17.35 0.08 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 573.3 ns 0.55 ns 0.49 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 561,613.6 ns 1,343.00 ns 1,256.25 ns 979.54 2.27 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,878.7 ns 8.02 ns 7.51 ns 3.28 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,898.6 ns 7.99 ns 7.48 ns 3.31 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 739,201.1 ns 2,225.33 ns 1,858.25 ns 1,289.28 3.30 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 561.7 ns 0.79 ns 0.70 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,969,401.3 ns 173,910.53 ns 162,676.01 ns 104,987.87 307.30 333.3333 222.2222 222.2222 16001424 B 51,286.62
InvokeIntArrayFixed 100000 60,969.3 ns 586.84 ns 548.93 ns 108.55 0.96 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 61,196.1 ns 679.05 ns 601.96 ns 108.95 1.04 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 81,598,668.9 ns 1,554,454.93 ns 1,377,983.80 ns 145,276.54 2,376.51 666.6667 500.0000 500.0000 27894008 B 89,403.87

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.076 μs 0.0077 μs 0.0072 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.087 μs 0.0080 μs 0.0075 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.090 μs 0.0104 μs 0.0097 μs 1.01 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 99.10 ns 0.056 ns 0.047 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 117.10 ns 0.177 ns 0.157 ns 1.18 0.0002 24 B 1.00
GetInstanceStringField 108.80 ns 0.049 ns 0.046 ns 1.10 - - 0.00
SetInstanceStringField 679.33 ns 0.999 ns 0.935 ns 6.85 0.0038 256 B 10.67
GetStaticIntField 110.94 ns 0.041 ns 0.035 ns 1.12 0.0004 24 B 1.00
SetStaticIntField 111.01 ns 0.042 ns 0.035 ns 1.12 0.0004 24 B 1.00
GetStaticStringField 98.45 ns 0.031 ns 0.029 ns 0.99 - - 0.00
SetStaticStringField 663.12 ns 1.127 ns 1.054 ns 6.69 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 106.86 ns 0.048 ns 0.043 ns 1.08 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 310.6 ns 0.15 ns 0.14 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 313.3 ns 0.38 ns 0.35 ns 1.01 - - NA
InvokeStaticWithFeedback 551.6 ns 0.30 ns 0.27 ns 1.78 0.0038 312 B NA
InvokeInstanceEmpty 323.6 ns 0.15 ns 0.13 ns 1.04 - - NA
InvokeInstanceWithFeedback 567.2 ns 0.30 ns 0.25 ns 1.83 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 Gen0 Allocated Alloc Ratio
InvokeMultiParam 1.478 μs 0.0057 μs 0.0054 μs 1.00 0.0095 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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,061.6 ns 1.46 ns 1.14 ns - 104 B
PredicateRoundTrip False False True 1,060.1 ns 8.17 ns 7.24 ns - 104 B
PredicateRoundTrip False True False 2,079.9 ns 32.25 ns 26.93 ns - 200 B
PredicateRoundTrip False True True 5,949.2 ns 104.10 ns 97.37 ns 0.0076 760 B
PredicateRoundTrip True False False 462.7 ns 1.07 ns 0.84 ns - 24 B
PredicateRoundTrip True False True 469.3 ns 1.51 ns 1.26 ns - 24 B
PredicateRoundTrip True True False 1,127.8 ns 21.90 ns 23.43 ns - 120 B
PredicateRoundTrip True True True 5,134.8 ns 83.90 ns 74.38 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 595.61 ns 0.880 ns 0.687 ns 0.0011 80 B
PredicateSustained False False True 589.42 ns 1.131 ns 0.883 ns 0.0011 80 B
PredicateSustained False True False 803.64 ns 5.309 ns 4.966 ns 0.0014 176 B
PredicateSustained False True True 4,432.35 ns 22.516 ns 22.113 ns 0.0100 736 B
PredicateSustained True False False 42.62 ns 0.438 ns 0.410 ns - -
PredicateSustained True False True 41.35 ns 0.035 ns 0.033 ns - -
PredicateSustained True True False 256.53 ns 0.588 ns 0.550 ns 0.0013 96 B
PredicateSustained True True True 3,788.95 ns 31.546 ns 38.741 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.8 ns 0.39 ns 0.34 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,976.7 ns 4.14 ns 3.46 ns 12.44 0.01 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,181.6 ns 1.07 ns 0.95 ns 2.11 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,200.1 ns 1.05 ns 0.93 ns 2.14 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,500.7 ns 38.19 ns 33.85 ns 16.94 0.06 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 550.0 ns 0.36 ns 0.32 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 553,215.2 ns 706.59 ns 590.03 ns 1,005.91 1.18 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,772.1 ns 10.12 ns 8.97 ns 3.22 0.02 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,784.6 ns 5.48 ns 5.12 ns 3.24 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 736,941.8 ns 485.54 ns 405.45 ns 1,339.98 1.03 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 568.8 ns 0.34 ns 0.30 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,707,461.6 ns 169,710.30 ns 158,747.12 ns 101,454.03 275.29 333.3333 222.2222 222.2222 16001655 B 51,287.36
InvokeIntArrayFixed 100000 45,339.3 ns 450.09 ns 375.85 ns 79.71 0.64 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 45,321.5 ns 233.12 ns 194.67 ns 79.68 0.33 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 81,171,035.9 ns 547,151.45 ns 511,805.81 ns 142,704.75 874.46 666.6667 500.0000 500.0000 27894008 B 89,403.87

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 Median Ratio Gen0 Allocated Alloc Ratio
NewEmpty 1.086 μs 0.0111 μs 0.0104 μs 1.078 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.091 μs 0.0085 μs 0.0080 μs 1.091 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.080 μs 0.0096 μs 0.0090 μs 1.074 μs 0.99 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.80 ns 0.042 ns 0.037 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 109.43 ns 0.042 ns 0.035 ns 1.18 0.0004 24 B 1.00
GetInstanceStringField 99.10 ns 0.017 ns 0.014 ns 1.07 - - 0.00
SetInstanceStringField 669.91 ns 0.633 ns 0.561 ns 7.22 0.0038 256 B 10.67
GetStaticIntField 106.93 ns 0.048 ns 0.042 ns 1.15 0.0004 24 B 1.00
SetStaticIntField 110.42 ns 0.074 ns 0.066 ns 1.19 0.0004 24 B 1.00
GetStaticStringField 98.42 ns 0.108 ns 0.096 ns 1.06 - - 0.00
SetStaticStringField 666.34 ns 0.725 ns 0.642 ns 7.18 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 102.46 ns 0.085 ns 0.080 ns 1.10 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.1 ns 0.20 ns 0.18 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 310.5 ns 0.32 ns 0.29 ns 1.02 - - NA
InvokeStaticWithFeedback 555.8 ns 0.44 ns 0.39 ns 1.83 0.0038 312 B NA
InvokeInstanceEmpty 314.4 ns 0.30 ns 0.26 ns 1.04 - - NA
InvokeInstanceWithFeedback 561.2 ns 0.54 ns 0.48 ns 1.85 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.310 μs 0.0012 μs 0.0010 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,051.5 ns 6.83 ns 6.06 ns - 104 B
PredicateRoundTrip False False True 1,071.9 ns 7.06 ns 6.61 ns - 104 B
PredicateRoundTrip False True False 1,299.1 ns 7.56 ns 6.70 ns 0.0019 200 B
PredicateRoundTrip False True True 5,334.9 ns 37.45 ns 35.03 ns 0.0076 760 B
PredicateRoundTrip True False False 447.2 ns 0.23 ns 0.21 ns - 24 B
PredicateRoundTrip True False True 467.6 ns 0.32 ns 0.25 ns - 24 B
PredicateRoundTrip True True False 687.2 ns 2.34 ns 1.83 ns 0.0010 120 B
PredicateRoundTrip True True True 4,600.7 ns 43.23 ns 40.44 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 594.78 ns 0.999 ns 0.834 ns 0.0011 80 B
PredicateSustained False False True 596.62 ns 2.529 ns 2.365 ns 0.0011 80 B
PredicateSustained False True False 827.97 ns 1.014 ns 0.792 ns 0.0014 176 B
PredicateSustained False True True 4,208.22 ns 27.070 ns 25.321 ns 0.0100 736 B
PredicateSustained True False False 43.77 ns 0.023 ns 0.022 ns - -
PredicateSustained True False True 43.23 ns 0.018 ns 0.015 ns - -
PredicateSustained True True False 261.27 ns 0.228 ns 0.202 ns 0.0013 96 B
PredicateSustained True True True 3,459.21 ns 8.425 ns 7.468 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 542.0 ns 0.54 ns 0.48 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,040.4 ns 15.07 ns 13.36 ns 12.99 0.03 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,157.4 ns 2.23 ns 1.98 ns 2.14 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,158.0 ns 1.65 ns 1.55 ns 2.14 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,688.7 ns 23.44 ns 21.92 ns 16.03 0.04 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 560.1 ns 0.39 ns 0.35 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 549,999.3 ns 965.43 ns 903.06 ns 981.97 1.67 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,669.5 ns 8.00 ns 7.48 ns 2.98 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,735.8 ns 5.00 ns 4.67 ns 3.10 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 714,251.0 ns 576.89 ns 481.73 ns 1,275.22 1.13 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 547.1 ns 0.60 ns 0.53 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,599,775.1 ns 176,215.23 ns 156,210.21 ns 107,100.37 293.32 333.3333 222.2222 222.2222 16002020 B 51,288.53
InvokeIntArrayFixed 100000 44,442.1 ns 316.19 ns 280.29 ns 81.23 0.50 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 44,241.9 ns 281.49 ns 249.53 ns 80.86 0.45 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 81,942,794.5 ns 747,893.02 ns 699,579.60 ns 149,763.43 1,246.03 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 Gen0 Allocated Alloc Ratio
NewEmpty 1.054 μs 0.0034 μs 0.0028 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.058 μs 0.0122 μs 0.0114 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.056 μs 0.0103 μs 0.0096 μs 1.00 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.56 ns 0.031 ns 0.028 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 111.94 ns 0.040 ns 0.036 ns 1.18 0.00 0.0004 24 B 1.00
GetInstanceStringField 105.41 ns 0.015 ns 0.014 ns 1.11 0.00 - - 0.00
SetInstanceStringField 667.78 ns 1.208 ns 1.130 ns 7.06 0.01 0.0038 256 B 10.67
GetStaticIntField 109.41 ns 0.064 ns 0.057 ns 1.16 0.00 0.0004 24 B 1.00
SetStaticIntField 109.38 ns 0.028 ns 0.025 ns 1.16 0.00 0.0004 24 B 1.00
GetStaticStringField 98.87 ns 0.012 ns 0.011 ns 1.05 0.00 - - 0.00
SetStaticStringField 671.54 ns 2.627 ns 2.458 ns 7.10 0.03 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 101.69 ns 0.039 ns 0.034 ns 1.08 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 312.4 ns 0.37 ns 0.34 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 312.9 ns 0.57 ns 0.53 ns 1.00 - - NA
InvokeStaticWithFeedback 546.8 ns 0.33 ns 0.29 ns 1.75 0.0038 312 B NA
InvokeInstanceEmpty 322.2 ns 0.15 ns 0.14 ns 1.03 - - NA
InvokeInstanceWithFeedback 550.4 ns 0.41 ns 0.36 ns 1.76 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.339 μs 0.0029 μs 0.0028 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,033.4 ns 7.50 ns 7.02 ns - 104 B
PredicateRoundTrip False False True 1,046.6 ns 5.64 ns 5.00 ns - 104 B
PredicateRoundTrip False True False 1,252.5 ns 8.12 ns 7.59 ns 0.0019 200 B
PredicateRoundTrip False True True 4,956.8 ns 47.28 ns 44.23 ns 0.0076 760 B
PredicateRoundTrip True False False 454.5 ns 4.20 ns 3.93 ns - 24 B
PredicateRoundTrip True False True 429.5 ns 0.29 ns 0.24 ns - 24 B
PredicateRoundTrip True True False 675.2 ns 1.81 ns 1.69 ns 0.0010 120 B
PredicateRoundTrip True True True 4,279.9 ns 20.05 ns 18.76 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 582.76 ns 0.384 ns 0.321 ns 0.0011 80 B
PredicateSustained False False True 577.89 ns 0.286 ns 0.238 ns 0.0011 80 B
PredicateSustained False True False 780.13 ns 2.436 ns 1.902 ns 0.0014 176 B
PredicateSustained False True True 4,141.62 ns 28.244 ns 26.419 ns 0.0100 736 B
PredicateSustained True False False 44.27 ns 0.867 ns 1.033 ns - -
PredicateSustained True False True 44.14 ns 0.817 ns 0.802 ns - -
PredicateSustained True True False 260.80 ns 0.440 ns 0.390 ns 0.0013 96 B
PredicateSustained True True True 3,414.65 ns 16.296 ns 15.243 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 556.8 ns 0.85 ns 0.67 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,182.8 ns 20.35 ns 19.03 ns 12.90 0.04 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,158.3 ns 2.59 ns 2.16 ns 2.08 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,151.0 ns 1.47 ns 1.37 ns 2.07 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,346.7 ns 40.30 ns 33.65 ns 16.79 0.06 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 553.5 ns 0.41 ns 0.34 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 555,046.0 ns 1,077.07 ns 954.80 ns 1,002.76 1.77 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,636.6 ns 3.57 ns 3.16 ns 2.96 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,739.8 ns 6.44 ns 5.71 ns 3.14 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 738,646.4 ns 1,005.22 ns 784.81 ns 1,334.45 1.58 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 575.5 ns 0.52 ns 0.46 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,223,883.4 ns 274,941.43 ns 257,180.38 ns 101,174.87 439.90 333.3333 222.2222 222.2222 16001279 B 51,286.15
InvokeIntArrayFixed 100000 45,485.1 ns 192.68 ns 170.80 ns 79.04 0.29 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 45,451.0 ns 150.89 ns 133.76 ns 78.98 0.23 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 81,922,394.1 ns 1,124,175.80 ns 996,552.57 ns 142,355.46 1,676.65 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.061 μs 0.0075 μs 0.0063 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.050 μs 0.0019 μs 0.0015 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.054 μs 0.0092 μs 0.0086 μs 0.99 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 94.09 ns 0.023 ns 0.019 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 118.43 ns 0.029 ns 0.026 ns 1.26 0.0002 24 B 1.00
GetInstanceStringField 110.32 ns 0.014 ns 0.011 ns 1.17 - - 0.00
SetInstanceStringField 666.21 ns 1.217 ns 1.078 ns 7.08 0.0038 256 B 10.67
GetStaticIntField 109.37 ns 0.033 ns 0.029 ns 1.16 0.0004 24 B 1.00
SetStaticIntField 112.62 ns 0.024 ns 0.020 ns 1.20 0.0004 24 B 1.00
GetStaticStringField 100.59 ns 0.012 ns 0.011 ns 1.07 - - 0.00
SetStaticStringField 661.24 ns 0.958 ns 0.896 ns 7.03 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 108.24 ns 0.041 ns 0.036 ns 1.15 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 308.6 ns 0.14 ns 0.12 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 313.7 ns 0.13 ns 0.12 ns 1.02 - - NA
InvokeStaticWithFeedback 549.3 ns 0.28 ns 0.23 ns 1.78 0.0038 312 B NA
InvokeInstanceEmpty 325.6 ns 0.17 ns 0.16 ns 1.06 - - NA
InvokeInstanceWithFeedback 561.8 ns 0.27 ns 0.24 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 Gen0 Allocated Alloc Ratio
InvokeMultiParam 1.305 μs 0.0035 μs 0.0033 μs 1.00 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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Median Gen0 Allocated
PredicateRoundTrip False False False 1,077.8 ns 9.84 ns 9.20 ns 1,072.1 ns - 104 B
PredicateRoundTrip False False True 1,036.4 ns 6.53 ns 6.11 ns 1,031.8 ns - 104 B
PredicateRoundTrip False True False 1,343.6 ns 17.97 ns 16.81 ns 1,340.0 ns 0.0019 200 B
PredicateRoundTrip False True True 7,076.9 ns 140.26 ns 280.12 ns 6,956.4 ns - 760 B
PredicateRoundTrip True False False 442.6 ns 0.25 ns 0.20 ns 442.6 ns - 24 B
PredicateRoundTrip True False True 446.8 ns 0.42 ns 0.38 ns 446.8 ns - 24 B
PredicateRoundTrip True True False 683.1 ns 2.02 ns 1.57 ns 682.3 ns 0.0010 120 B
PredicateRoundTrip True True True 5,106.7 ns 41.35 ns 36.66 ns 5,106.8 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 593.56 ns 1.695 ns 1.324 ns 0.0011 80 B
PredicateSustained False False True 585.71 ns 0.973 ns 0.760 ns 0.0011 80 B
PredicateSustained False True False 795.25 ns 1.673 ns 1.306 ns 0.0014 176 B
PredicateSustained False True True 4,276.95 ns 24.612 ns 19.215 ns 0.0100 736 B
PredicateSustained True False False 46.06 ns 0.520 ns 0.487 ns - -
PredicateSustained True False True 44.82 ns 0.479 ns 0.424 ns - -
PredicateSustained True True False 257.24 ns 0.308 ns 0.273 ns 0.0013 96 B
PredicateSustained True True True 3,503.93 ns 22.425 ns 18.726 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 551.4 ns 0.42 ns 0.37 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,145.4 ns 17.42 ns 16.30 ns 12.96 0.03 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,125.2 ns 2.26 ns 1.89 ns 2.04 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,143.0 ns 2.01 ns 1.68 ns 2.07 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,220.9 ns 35.26 ns 31.25 ns 16.72 0.06 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 552.3 ns 0.51 ns 0.45 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 570,994.7 ns 1,668.50 ns 1,560.71 ns 1,033.88 2.85 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,898.9 ns 6.07 ns 5.68 ns 3.44 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,890.8 ns 4.80 ns 4.26 ns 3.42 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 746,653.7 ns 1,417.46 ns 1,183.64 ns 1,351.94 2.32 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 547.6 ns 0.28 ns 0.25 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,619,371.7 ns 247,594.13 ns 219,485.75 ns 107,054.39 390.12 250.0000 125.0000 125.0000 16000509 B 51,283.68
InvokeIntArrayFixed 100000 62,140.7 ns 432.61 ns 404.67 ns 113.49 0.72 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 61,864.5 ns 417.09 ns 348.29 ns 112.98 0.61 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 81,974,354.9 ns 447,226.53 ns 373,454.41 ns 149,706.73 660.40 666.6667 500.0000 500.0000 27894008 B 89,403.87

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.099 μs 0.0031 μs 0.0026 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.091 μs 0.0016 μs 0.0013 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.094 μs 0.0010 μs 0.0007 μs 1.00 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 90.73 ns 0.020 ns 0.018 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 112.81 ns 0.026 ns 0.023 ns 1.24 0.00 0.0004 24 B 1.00
GetInstanceStringField 112.77 ns 0.037 ns 0.035 ns 1.24 0.00 - - 0.00
SetInstanceStringField 681.64 ns 1.653 ns 1.546 ns 7.51 0.02 0.0038 256 B 10.67
GetStaticIntField 113.64 ns 0.239 ns 0.224 ns 1.25 0.00 0.0004 24 B 1.00
SetStaticIntField 117.26 ns 0.058 ns 0.048 ns 1.29 0.00 0.0002 24 B 1.00
GetStaticStringField 106.98 ns 0.016 ns 0.015 ns 1.18 0.00 - - 0.00
SetStaticStringField 679.79 ns 1.451 ns 1.287 ns 7.49 0.01 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 102.73 ns 0.027 ns 0.022 ns 1.13 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 381.9 ns 0.24 ns 0.23 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 390.2 ns 0.18 ns 0.17 ns 1.02 - - NA
InvokeStaticWithFeedback 553.3 ns 0.44 ns 0.39 ns 1.45 0.0038 312 B NA
InvokeInstanceEmpty 375.6 ns 0.82 ns 0.77 ns 0.98 - - NA
InvokeInstanceWithFeedback 553.2 ns 0.28 ns 0.25 ns 1.45 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.294 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,063.8 ns 7.93 ns 7.42 ns - 104 B
PredicateRoundTrip False False True 1,065.1 ns 7.94 ns 7.43 ns - 104 B
PredicateRoundTrip False True False 1,318.2 ns 5.74 ns 4.79 ns 0.0019 200 B
PredicateRoundTrip False True True 4,822.1 ns 15.27 ns 14.29 ns 0.0076 760 B
PredicateRoundTrip True False False 457.2 ns 0.58 ns 0.51 ns - 24 B
PredicateRoundTrip True False True 457.4 ns 0.67 ns 0.63 ns - 24 B
PredicateRoundTrip True True False 680.7 ns 0.27 ns 0.23 ns 0.0010 120 B
PredicateRoundTrip True True True 4,205.6 ns 17.76 ns 16.61 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 598.57 ns 1.368 ns 1.280 ns 0.0011 80 B
PredicateSustained False False True 597.73 ns 1.233 ns 1.093 ns 0.0011 80 B
PredicateSustained False True False 822.27 ns 4.894 ns 4.578 ns 0.0014 176 B
PredicateSustained False True True 4,215.56 ns 10.213 ns 9.553 ns 0.0100 736 B
PredicateSustained True False False 50.63 ns 0.668 ns 0.625 ns - -
PredicateSustained True False True 51.07 ns 0.447 ns 0.418 ns - -
PredicateSustained True True False 273.46 ns 0.554 ns 0.519 ns 0.0013 96 B
PredicateSustained True True True 3,471.85 ns 10.777 ns 10.081 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 546.8 ns 0.43 ns 0.38 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,869.0 ns 20.55 ns 19.22 ns 12.56 0.04 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,132.6 ns 1.89 ns 1.76 ns 2.07 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,128.5 ns 1.22 ns 1.02 ns 2.06 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,166.3 ns 51.24 ns 47.93 ns 16.76 0.09 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 544.0 ns 0.34 ns 0.30 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 547,878.7 ns 1,169.51 ns 1,093.96 ns 1,007.05 2.02 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,860.2 ns 3.29 ns 2.91 ns 3.42 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,886.0 ns 3.17 ns 2.81 ns 3.47 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 726,232.7 ns 936.79 ns 731.39 ns 1,334.88 1.47 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 561.7 ns 0.73 ns 0.65 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,542,851.3 ns 230,511.38 ns 215,620.49 ns 102,445.66 388.79 333.3333 222.2222 222.2222 16001197 B 51,285.89
InvokeIntArrayFixed 100000 60,764.8 ns 271.62 ns 240.79 ns 108.18 0.43 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,858.3 ns 254.76 ns 225.84 ns 108.35 0.41 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 82,545,587.9 ns 811,781.74 ns 759,341.14 ns 146,958.96 1,319.31 1000.0000 833.3333 833.3333 27896893 B 89,413.12

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.068 μs 0.0136 μs 0.0127 μs 1.00 0.02 0.0038 360 B 1.00
NewWithSignature 1.088 μs 0.0120 μs 0.0112 μs 1.02 0.02 0.0038 360 B 1.00
DeclaredNewEmpty 1.069 μs 0.0057 μs 0.0050 μs 1.00 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 89.18 ns 0.032 ns 0.029 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 101.12 ns 0.023 ns 0.020 ns 1.13 0.00 0.0004 24 B 1.00
GetInstanceStringField 95.63 ns 0.031 ns 0.027 ns 1.07 0.00 - - 0.00
SetInstanceStringField 667.98 ns 1.658 ns 1.551 ns 7.49 0.02 0.0038 256 B 10.67
GetStaticIntField 97.68 ns 0.027 ns 0.024 ns 1.10 0.00 0.0004 24 B 1.00
SetStaticIntField 100.04 ns 0.028 ns 0.025 ns 1.12 0.00 0.0004 24 B 1.00
GetStaticStringField 89.34 ns 0.012 ns 0.009 ns 1.00 0.00 - - 0.00
SetStaticStringField 662.92 ns 1.253 ns 1.172 ns 7.43 0.01 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 97.31 ns 0.048 ns 0.043 ns 1.09 0.00 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 297.8 ns 0.15 ns 0.14 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 298.8 ns 0.20 ns 0.19 ns 1.00 - - NA
InvokeStaticWithFeedback 552.6 ns 0.34 ns 0.28 ns 1.86 0.0038 312 B NA
InvokeInstanceEmpty 309.9 ns 0.30 ns 0.26 ns 1.04 - - NA
InvokeInstanceWithFeedback 550.1 ns 0.56 ns 0.50 ns 1.85 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.327 μs 0.0035 μs 0.0033 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,025.8 ns 7.80 ns 7.29 ns - 104 B
PredicateRoundTrip False False True 1,019.4 ns 7.67 ns 7.17 ns - 104 B
PredicateRoundTrip False True False 1,279.9 ns 3.60 ns 3.37 ns 0.0019 200 B
PredicateRoundTrip False True True 5,622.6 ns 52.14 ns 48.77 ns 0.0076 760 B
PredicateRoundTrip True False False 452.9 ns 2.35 ns 2.20 ns - 24 B
PredicateRoundTrip True False True 440.9 ns 0.40 ns 0.38 ns - 24 B
PredicateRoundTrip True True False 689.3 ns 2.62 ns 2.05 ns 0.0010 120 B
PredicateRoundTrip True True True 5,056.4 ns 69.77 ns 65.27 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 572.12 ns 2.818 ns 2.498 ns 0.0011 80 B
PredicateSustained False False True 565.45 ns 0.366 ns 0.286 ns 0.0011 80 B
PredicateSustained False True False 780.73 ns 5.404 ns 5.055 ns 0.0014 176 B
PredicateSustained False True True 4,254.38 ns 22.476 ns 21.024 ns 0.0100 736 B
PredicateSustained True False False 43.72 ns 0.862 ns 0.846 ns - -
PredicateSustained True False True 43.11 ns 0.623 ns 0.583 ns - -
PredicateSustained True True False 257.92 ns 0.451 ns 0.421 ns 0.0013 96 B
PredicateSustained True True True 3,510.08 ns 29.386 ns 27.488 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 538.4 ns 0.36 ns 0.32 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,891.1 ns 9.29 ns 8.24 ns 12.80 0.02 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,120.7 ns 1.50 ns 1.25 ns 2.08 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,136.7 ns 3.01 ns 2.81 ns 2.11 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,539.2 ns 23.55 ns 22.03 ns 15.86 0.04 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 547.6 ns 0.26 ns 0.22 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 548,540.8 ns 1,068.73 ns 999.69 ns 1,001.68 1.81 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,842.1 ns 9.05 ns 8.47 ns 3.36 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,848.0 ns 8.11 ns 7.19 ns 3.37 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 725,530.4 ns 1,256.76 ns 1,049.45 ns 1,324.87 1.91 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 538.4 ns 0.36 ns 0.30 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,442,446.0 ns 262,573.84 ns 245,611.73 ns 106,688.30 445.46 333.3333 222.2222 222.2222 16001344 B 51,286.36
InvokeIntArrayFixed 100000 60,069.0 ns 436.14 ns 407.97 ns 111.57 0.74 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,025.0 ns 558.40 ns 522.33 ns 111.48 0.94 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 81,306,930.8 ns 858,136.44 ns 802,701.36 ns 151,011.99 1,446.24 1166.6667 1000.0000 1000.0000 27898336 B 89,417.74

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
NewEmpty 1.050 μs 0.0108 μs 0.0101 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.056 μs 0.0091 μs 0.0085 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.052 μs 0.0011 μs 0.0009 μs 1.00 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 Gen0 Allocated Alloc Ratio
GetInstanceIntField 94.81 ns 0.025 ns 0.021 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 113.12 ns 0.061 ns 0.057 ns 1.19 0.0004 24 B 1.00
GetInstanceStringField 106.98 ns 0.009 ns 0.008 ns 1.13 - - 0.00
SetInstanceStringField 671.13 ns 0.989 ns 0.925 ns 7.08 0.0038 256 B 10.67
GetStaticIntField 108.84 ns 0.028 ns 0.025 ns 1.15 0.0004 24 B 1.00
SetStaticIntField 110.19 ns 0.034 ns 0.027 ns 1.16 0.0004 24 B 1.00
GetStaticStringField 99.18 ns 0.040 ns 0.037 ns 1.05 - - 0.00
SetStaticStringField 662.49 ns 1.040 ns 0.922 ns 6.99 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 106.36 ns 0.050 ns 0.044 ns 1.12 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 304.9 ns 0.18 ns 0.16 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 315.2 ns 0.18 ns 0.17 ns 1.03 - - NA
InvokeStaticWithFeedback 538.1 ns 0.42 ns 0.37 ns 1.77 0.0038 312 B NA
InvokeInstanceEmpty 321.3 ns 0.13 ns 0.12 ns 1.05 - - NA
InvokeInstanceWithFeedback 548.7 ns 0.33 ns 0.28 ns 1.80 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.310 μs 0.0040 μs 0.0037 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,014.8 ns 6.43 ns 6.02 ns - 104 B
PredicateRoundTrip False False True 1,021.1 ns 5.29 ns 4.95 ns - 104 B
PredicateRoundTrip False True False 1,255.1 ns 6.88 ns 6.44 ns 0.0019 200 B
PredicateRoundTrip False True True 4,746.4 ns 34.51 ns 32.29 ns 0.0076 760 B
PredicateRoundTrip True False False 435.7 ns 0.33 ns 0.29 ns - 24 B
PredicateRoundTrip True False True 441.3 ns 4.11 ns 3.84 ns - 24 B
PredicateRoundTrip True True False 676.3 ns 0.94 ns 0.73 ns 0.0010 120 B
PredicateRoundTrip True True True 5,063.0 ns 37.13 ns 31.00 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 570.16 ns 0.856 ns 0.715 ns 0.0011 80 B
PredicateSustained False False True 573.65 ns 1.239 ns 1.098 ns 0.0011 80 B
PredicateSustained False True False 789.57 ns 6.530 ns 6.108 ns 0.0014 176 B
PredicateSustained False True True 4,010.63 ns 11.455 ns 10.715 ns 0.0100 736 B
PredicateSustained True False False 46.27 ns 0.886 ns 1.020 ns - -
PredicateSustained True False True 46.24 ns 0.908 ns 1.148 ns - -
PredicateSustained True True False 256.46 ns 0.325 ns 0.304 ns 0.0013 96 B
PredicateSustained True True True 3,511.06 ns 35.448 ns 33.158 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.0 ns 0.46 ns 0.38 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,919.3 ns 9.95 ns 8.82 ns 12.18 0.02 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,165.9 ns 2.16 ns 1.92 ns 2.05 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,173.8 ns 1.95 ns 1.72 ns 2.07 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,766.0 ns 33.93 ns 30.08 ns 15.43 0.05 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 567.2 ns 0.29 ns 0.26 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 546,623.5 ns 1,090.08 ns 1,019.66 ns 963.77 1.79 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,872.8 ns 7.74 ns 6.86 ns 3.30 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,855.1 ns 3.51 ns 3.11 ns 3.27 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 721,395.1 ns 1,268.41 ns 1,059.18 ns 1,271.92 1.89 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 565.4 ns 0.34 ns 0.28 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,075,953.5 ns 228,834.29 ns 214,051.74 ns 100,950.95 369.89 333.3333 222.2222 222.2222 16001826 B 51,287.90
InvokeIntArrayFixed 100000 60,610.7 ns 307.40 ns 272.50 ns 107.20 0.47 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,304.2 ns 238.59 ns 211.50 ns 106.66 0.37 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 82,192,295.8 ns 823,863.47 ns 730,333.51 ns 145,374.54 1,250.15 1166.6667 1000.0000 1000.0000 27898336 B 89,417.74

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
NewEmpty 1.068 μs 0.0112 μs 0.0105 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.076 μs 0.0085 μs 0.0079 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.068 μs 0.0074 μs 0.0069 μs 1.00 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 89.74 ns 0.033 ns 0.030 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 113.30 ns 0.030 ns 0.027 ns 1.26 0.00 0.0004 24 B 1.00
GetInstanceStringField 101.80 ns 0.015 ns 0.013 ns 1.13 0.00 - - 0.00
SetInstanceStringField 659.69 ns 1.066 ns 0.997 ns 7.35 0.01 0.0038 256 B 10.67
GetStaticIntField 106.74 ns 0.015 ns 0.013 ns 1.19 0.00 0.0004 24 B 1.00
SetStaticIntField 109.98 ns 0.039 ns 0.033 ns 1.23 0.00 0.0004 24 B 1.00
GetStaticStringField 98.37 ns 0.011 ns 0.009 ns 1.10 0.00 - - 0.00
SetStaticStringField 662.72 ns 1.817 ns 1.700 ns 7.38 0.02 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 112.56 ns 0.047 ns 0.041 ns 1.25 0.00 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 300.5 ns 0.20 ns 0.18 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 303.7 ns 0.21 ns 0.20 ns 1.01 - - NA
InvokeStaticWithFeedback 547.1 ns 0.33 ns 0.27 ns 1.82 0.0038 312 B NA
InvokeInstanceEmpty 319.7 ns 0.15 ns 0.14 ns 1.06 - - NA
InvokeInstanceWithFeedback 566.9 ns 0.48 ns 0.43 ns 1.89 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 Gen0 Allocated Alloc Ratio
InvokeMultiParam 1.336 μs 0.0038 μs 0.0036 μs 1.00 0.0095 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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,035.2 ns 7.47 ns 6.99 ns - 104 B
PredicateRoundTrip False False True 1,030.7 ns 7.91 ns 7.40 ns - 104 B
PredicateRoundTrip False True False 1,302.4 ns 12.58 ns 11.15 ns 0.0019 200 B
PredicateRoundTrip False True True 5,599.0 ns 107.17 ns 105.26 ns 0.0076 760 B
PredicateRoundTrip True False False 457.1 ns 0.21 ns 0.16 ns - 24 B
PredicateRoundTrip True False True 461.4 ns 1.22 ns 0.95 ns - 24 B
PredicateRoundTrip True True False 691.0 ns 1.11 ns 0.87 ns 0.0010 120 B
PredicateRoundTrip True True True 4,845.8 ns 47.15 ns 41.80 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 578.82 ns 0.591 ns 0.462 ns 0.0011 80 B
PredicateSustained False False True 572.82 ns 0.677 ns 0.528 ns 0.0011 80 B
PredicateSustained False True False 791.61 ns 4.806 ns 4.496 ns 0.0014 176 B
PredicateSustained False True True 4,103.08 ns 12.566 ns 13.967 ns 0.0100 736 B
PredicateSustained True False False 41.45 ns 0.389 ns 0.364 ns - -
PredicateSustained True False True 42.62 ns 0.120 ns 0.107 ns - -
PredicateSustained True True False 260.94 ns 0.381 ns 0.357 ns 0.0013 96 B
PredicateSustained True True True 3,303.52 ns 17.282 ns 19.209 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 566.3 ns 0.30 ns 0.27 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,956.3 ns 12.44 ns 10.38 ns 12.28 0.02 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,147.0 ns 1.44 ns 1.28 ns 2.03 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,152.6 ns 1.07 ns 0.89 ns 2.04 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,936.0 ns 33.59 ns 31.42 ns 15.78 0.05 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 558.8 ns 0.54 ns 0.47 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 556,567.5 ns 896.61 ns 838.69 ns 996.06 1.67 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,905.9 ns 7.60 ns 7.11 ns 3.41 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,888.2 ns 8.66 ns 8.10 ns 3.38 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 733,885.2 ns 1,348.66 ns 1,052.95 ns 1,313.40 2.11 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 567.5 ns 0.57 ns 0.51 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,688,799.4 ns 167,731.70 ns 156,896.34 ns 101,646.01 281.81 333.3333 222.2222 222.2222 16000932 B 51,285.04
InvokeIntArrayFixed 100000 61,096.7 ns 220.44 ns 195.41 ns 107.65 0.35 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,706.2 ns 216.97 ns 181.18 ns 106.96 0.32 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 83,490,940.3 ns 706,709.56 ns 661,056.56 ns 147,108.64 1,135.13 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.096 μs 0.0125 μs 0.0117 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.079 μs 0.0103 μs 0.0097 μs 0.98 0.0038 360 B 1.00
DeclaredNewEmpty 1.080 μs 0.0110 μs 0.0103 μ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 92.06 ns 0.027 ns 0.023 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 109.59 ns 0.084 ns 0.079 ns 1.19 0.0004 24 B 1.00
GetInstanceStringField 102.60 ns 0.015 ns 0.014 ns 1.11 - - 0.00
SetInstanceStringField 667.58 ns 0.878 ns 0.822 ns 7.25 0.0038 256 B 10.67
GetStaticIntField 106.89 ns 0.042 ns 0.037 ns 1.16 0.0004 24 B 1.00
SetStaticIntField 107.46 ns 0.036 ns 0.032 ns 1.17 0.0004 24 B 1.00
GetStaticStringField 95.28 ns 0.023 ns 0.022 ns 1.03 - - 0.00
SetStaticStringField 660.44 ns 1.041 ns 0.973 ns 7.17 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 105.54 ns 0.067 ns 0.063 ns 1.15 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 297.7 ns 0.28 ns 0.27 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 304.4 ns 0.32 ns 0.30 ns 1.02 - - NA
InvokeStaticWithFeedback 564.5 ns 0.49 ns 0.43 ns 1.90 0.0038 312 B NA
InvokeInstanceEmpty 306.9 ns 0.51 ns 0.48 ns 1.03 - - NA
InvokeInstanceWithFeedback 565.2 ns 0.32 ns 0.28 ns 1.90 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.297 μs 0.0022 μs 0.0020 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,075.9 ns 13.02 ns 12.18 ns - 104 B
PredicateRoundTrip False False True 1,059.9 ns 6.63 ns 6.20 ns - 104 B
PredicateRoundTrip False True False 1,330.7 ns 9.36 ns 8.75 ns 0.0019 200 B
PredicateRoundTrip False True True 5,351.7 ns 51.18 ns 47.87 ns 0.0076 760 B
PredicateRoundTrip True False False 449.3 ns 0.31 ns 0.24 ns - 24 B
PredicateRoundTrip True False True 460.1 ns 1.84 ns 1.63 ns - 24 B
PredicateRoundTrip True True False 693.4 ns 1.21 ns 1.01 ns 0.0010 120 B
PredicateRoundTrip True True True 4,627.6 ns 41.52 ns 38.84 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 591.28 ns 0.887 ns 0.786 ns 0.0011 80 B
PredicateSustained False False True 597.24 ns 0.380 ns 0.317 ns 0.0011 80 B
PredicateSustained False True False 807.72 ns 1.167 ns 1.035 ns 0.0014 176 B
PredicateSustained False True True 4,371.77 ns 41.112 ns 38.456 ns 0.0100 736 B
PredicateSustained True False False 44.74 ns 0.868 ns 0.853 ns - -
PredicateSustained True False True 45.07 ns 0.856 ns 0.841 ns - -
PredicateSustained True True False 261.40 ns 0.478 ns 0.448 ns 0.0013 96 B
PredicateSustained True True True 3,584.25 ns 47.760 ns 44.675 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 532.9 ns 0.67 ns 0.59 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,233.8 ns 20.93 ns 19.58 ns 13.57 0.04 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,158.2 ns 1.32 ns 1.17 ns 2.17 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,153.4 ns 2.12 ns 1.88 ns 2.16 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,937.9 ns 27.19 ns 25.43 ns 16.77 0.05 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 539.7 ns 0.36 ns 0.32 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 552,675.8 ns 825.17 ns 771.87 ns 1,024.11 1.50 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,868.2 ns 3.86 ns 3.42 ns 3.46 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,871.9 ns 5.97 ns 5.58 ns 3.47 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 722,833.1 ns 589.29 ns 492.09 ns 1,339.42 1.16 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 543.5 ns 0.17 ns 0.15 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,174,756.5 ns 243,261.69 ns 227,547.13 ns 107,034.74 406.47 333.3333 222.2222 222.2222 16001314 B 51,286.26
InvokeIntArrayFixed 100000 60,933.8 ns 418.71 ns 391.66 ns 112.11 0.70 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,387.4 ns 186.26 ns 165.11 ns 111.11 0.30 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 82,836,848.7 ns 603,365.86 ns 564,388.80 ns 152,410.09 1,006.44 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 Median Ratio Gen0 Allocated Alloc Ratio
NewEmpty 1.077 μs 0.0116 μs 0.0108 μs 1.068 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.065 μs 0.0109 μs 0.0102 μs 1.058 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.057 μs 0.0109 μs 0.0102 μs 1.051 μs 0.98 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 95.78 ns 0.043 ns 0.038 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 110.62 ns 0.028 ns 0.025 ns 1.16 0.0004 24 B 1.00
GetInstanceStringField 106.78 ns 0.704 ns 0.659 ns 1.11 - - 0.00
SetInstanceStringField 659.81 ns 1.180 ns 1.046 ns 6.89 0.0038 256 B 10.67
GetStaticIntField 108.63 ns 0.041 ns 0.036 ns 1.13 0.0004 24 B 1.00
SetStaticIntField 108.22 ns 0.032 ns 0.026 ns 1.13 0.0004 24 B 1.00
GetStaticStringField 99.39 ns 0.059 ns 0.052 ns 1.04 - - 0.00
SetStaticStringField 654.74 ns 1.038 ns 0.920 ns 6.84 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 103.95 ns 0.046 ns 0.041 ns 1.09 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 305.3 ns 0.18 ns 0.16 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 311.9 ns 0.14 ns 0.13 ns 1.02 - - NA
InvokeStaticWithFeedback 540.7 ns 0.17 ns 0.14 ns 1.77 0.0038 312 B NA
InvokeInstanceEmpty 326.6 ns 0.21 ns 0.18 ns 1.07 - - NA
InvokeInstanceWithFeedback 545.4 ns 0.64 ns 0.57 ns 1.79 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 RatioSD Gen0 Allocated Alloc Ratio
InvokeMultiParam 2.723 μs 0.0521 μs 0.0600 μs 1.00 0.03 0.0076 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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,043.4 ns 4.52 ns 4.23 ns - 104 B
PredicateRoundTrip False False True 1,035.9 ns 8.26 ns 7.73 ns - 104 B
PredicateRoundTrip False True False 1,281.6 ns 8.18 ns 7.65 ns 0.0019 200 B
PredicateRoundTrip False True True 4,961.5 ns 26.28 ns 24.58 ns 0.0076 760 B
PredicateRoundTrip True False False 442.2 ns 0.26 ns 0.23 ns - 24 B
PredicateRoundTrip True False True 446.1 ns 0.33 ns 0.29 ns - 24 B
PredicateRoundTrip True True False 677.5 ns 0.49 ns 0.39 ns 0.0010 120 B
PredicateRoundTrip True True True 4,182.3 ns 16.94 ns 15.85 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 584.79 ns 2.276 ns 2.129 ns 0.0011 80 B
PredicateSustained False False True 576.65 ns 0.845 ns 0.706 ns 0.0011 80 B
PredicateSustained False True False 790.90 ns 8.243 ns 7.710 ns 0.0014 176 B
PredicateSustained False True True 4,143.28 ns 21.651 ns 19.193 ns 0.0100 736 B
PredicateSustained True False False 46.65 ns 0.034 ns 0.032 ns - -
PredicateSustained True False True 45.53 ns 0.889 ns 0.832 ns - -
PredicateSustained True True False 269.63 ns 0.357 ns 0.298 ns 0.0013 96 B
PredicateSustained True True True 3,652.01 ns 26.606 ns 24.887 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 558.4 ns 0.64 ns 0.57 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,927.3 ns 16.83 ns 14.92 ns 12.41 0.03 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,134.5 ns 2.56 ns 2.13 ns 2.03 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,155.3 ns 1.45 ns 1.28 ns 2.07 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,908.8 ns 29.44 ns 27.54 ns 15.96 0.05 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 543.8 ns 0.58 ns 0.48 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 557,136.0 ns 1,174.80 ns 1,041.43 ns 1,024.50 2.05 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,854.9 ns 7.61 ns 7.11 ns 3.41 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,854.9 ns 12.46 ns 11.66 ns 3.41 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 729,705.9 ns 1,683.23 ns 1,405.57 ns 1,341.83 2.74 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 553.1 ns 1.27 ns 1.19 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,960,861.2 ns 219,393.27 ns 205,220.60 ns 106,610.14 422.13 333.3333 222.2222 222.2222 16002022 B 51,288.53
InvokeIntArrayFixed 100000 60,771.7 ns 636.48 ns 595.36 ns 109.88 1.07 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 61,061.5 ns 743.96 ns 695.90 ns 110.41 1.24 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 82,083,006.8 ns 822,481.53 ns 729,108.45 ns 148,418.47 1,310.27 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.065 μs 0.0088 μs 0.0082 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.068 μs 0.0096 μs 0.0090 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.064 μs 0.0078 μs 0.0073 μ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.97 ns 0.035 ns 0.031 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 117.39 ns 0.028 ns 0.022 ns 1.25 0.0002 24 B 1.00
GetInstanceStringField 111.47 ns 0.019 ns 0.018 ns 1.19 - - 0.00
SetInstanceStringField 675.39 ns 0.809 ns 0.717 ns 7.19 0.0038 256 B 10.67
GetStaticIntField 108.59 ns 0.043 ns 0.038 ns 1.16 0.0004 24 B 1.00
SetStaticIntField 110.76 ns 0.065 ns 0.061 ns 1.18 0.0004 24 B 1.00
GetStaticStringField 101.14 ns 0.040 ns 0.036 ns 1.08 - - 0.00
SetStaticStringField 668.45 ns 0.780 ns 0.729 ns 7.11 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 108.81 ns 0.096 ns 0.090 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 312.0 ns 0.19 ns 0.17 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 306.9 ns 0.25 ns 0.22 ns 0.98 - - NA
InvokeStaticWithFeedback 537.5 ns 0.38 ns 0.34 ns 1.72 0.0038 312 B NA
InvokeInstanceEmpty 318.0 ns 0.21 ns 0.18 ns 1.02 - - NA
InvokeInstanceWithFeedback 565.2 ns 0.84 ns 0.75 ns 1.81 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.296 μs 0.0014 μs 0.0012 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,032.5 ns 8.95 ns 7.94 ns - 104 B
PredicateRoundTrip False False True 1,034.2 ns 8.94 ns 8.36 ns - 104 B
PredicateRoundTrip False True False 1,273.9 ns 8.03 ns 7.12 ns 0.0019 200 B
PredicateRoundTrip False True True 7,261.3 ns 144.13 ns 300.84 ns - 760 B
PredicateRoundTrip True False False 446.2 ns 0.37 ns 0.35 ns - 24 B
PredicateRoundTrip True False True 453.1 ns 0.57 ns 0.53 ns - 24 B
PredicateRoundTrip True True False 676.6 ns 1.31 ns 1.03 ns 0.0010 120 B
PredicateRoundTrip True True True 5,106.4 ns 54.63 ns 42.66 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 589.15 ns 0.823 ns 0.642 ns 0.0011 80 B
PredicateSustained False False True 591.60 ns 1.429 ns 1.116 ns 0.0011 80 B
PredicateSustained False True False 797.40 ns 6.382 ns 5.970 ns 0.0014 176 B
PredicateSustained False True True 4,200.61 ns 83.300 ns 105.348 ns 0.0100 736 B
PredicateSustained True False False 43.21 ns 0.158 ns 0.148 ns - -
PredicateSustained True False True 42.88 ns 0.203 ns 0.180 ns - -
PredicateSustained True True False 257.70 ns 0.408 ns 0.381 ns 0.0013 96 B
PredicateSustained True True True 3,346.94 ns 45.306 ns 48.477 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 559.2 ns 0.41 ns 0.37 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,140.2 ns 6.17 ns 5.47 ns 12.77 0.01 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,163.2 ns 1.75 ns 1.55 ns 2.08 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,181.6 ns 2.16 ns 2.02 ns 2.11 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,998.8 ns 21.72 ns 19.25 ns 16.09 0.03 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 554.9 ns 0.30 ns 0.27 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 579,338.1 ns 1,040.81 ns 973.58 ns 1,044.06 1.77 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,957.4 ns 13.72 ns 12.83 ns 3.53 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,950.2 ns 6.06 ns 5.06 ns 3.51 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 746,501.8 ns 851.61 ns 754.93 ns 1,345.31 1.46 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 561.2 ns 0.52 ns 0.46 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 59,410,104.7 ns 368,357.11 ns 344,561.47 ns 105,862.71 600.41 250.0000 125.0000 125.0000 16000900 B 51,284.94
InvokeIntArrayFixed 100000 60,701.4 ns 310.70 ns 275.42 ns 108.16 0.48 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 61,720.6 ns 504.15 ns 471.58 ns 109.98 0.82 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 83,419,741.1 ns 1,187,853.00 ns 991,911.05 ns 148,645.42 1,706.86 666.6667 500.0000 500.0000 27894008 B 89,403.87

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.104 μs 0.0008 μs 0.0007 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.102 μs 0.0031 μs 0.0024 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.097 μs 0.0008 μs 0.0006 μs 0.99 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 96.84 ns 0.017 ns 0.014 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 117.31 ns 0.034 ns 0.030 ns 1.21 0.00 0.0002 24 B 1.00
GetInstanceStringField 113.92 ns 0.045 ns 0.038 ns 1.18 0.00 - - 0.00
SetInstanceStringField 695.82 ns 1.283 ns 1.200 ns 7.18 0.01 0.0038 256 B 10.67
GetStaticIntField 120.64 ns 0.067 ns 0.060 ns 1.25 0.00 0.0002 24 B 1.00
SetStaticIntField 123.61 ns 0.057 ns 0.050 ns 1.28 0.00 0.0002 24 B 1.00
GetStaticStringField 110.66 ns 0.019 ns 0.018 ns 1.14 0.00 - - 0.00
SetStaticStringField 707.97 ns 2.939 ns 2.749 ns 7.31 0.03 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 109.89 ns 0.048 ns 0.043 ns 1.13 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 370.6 ns 0.27 ns 0.23 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 375.8 ns 0.29 ns 0.27 ns 1.01 - - NA
InvokeStaticWithFeedback 552.7 ns 0.51 ns 0.45 ns 1.49 0.0038 312 B NA
InvokeInstanceEmpty 385.8 ns 0.22 ns 0.21 ns 1.04 - - NA
InvokeInstanceWithFeedback 561.3 ns 0.37 ns 0.32 ns 1.51 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.350 μs 0.0047 μs 0.0044 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,067.7 ns 7.04 ns 6.24 ns - 104 B
PredicateRoundTrip False False True 1,087.8 ns 9.50 ns 8.89 ns - 104 B
PredicateRoundTrip False True False 1,317.0 ns 7.36 ns 6.52 ns 0.0019 200 B
PredicateRoundTrip False True True 4,847.2 ns 11.24 ns 10.52 ns 0.0076 760 B
PredicateRoundTrip True False False 465.2 ns 0.32 ns 0.27 ns - 24 B
PredicateRoundTrip True False True 470.8 ns 1.03 ns 0.81 ns - 24 B
PredicateRoundTrip True True False 698.3 ns 1.45 ns 1.21 ns 0.0010 120 B
PredicateRoundTrip True True True 4,201.4 ns 11.69 ns 10.93 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.56 ns 1.034 ns 0.917 ns 0.0011 80 B
PredicateSustained False False True 605.64 ns 1.963 ns 1.836 ns 0.0011 80 B
PredicateSustained False True False 836.77 ns 5.572 ns 5.212 ns 0.0017 176 B
PredicateSustained False True True 4,308.14 ns 14.995 ns 14.027 ns 0.0100 736 B
PredicateSustained True False False 50.95 ns 0.878 ns 0.822 ns - -
PredicateSustained True False True 50.38 ns 0.769 ns 0.720 ns - -
PredicateSustained True True False 271.52 ns 0.379 ns 0.355 ns 0.0013 96 B
PredicateSustained True True True 3,525.40 ns 18.469 ns 17.276 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 544.2 ns 0.65 ns 0.58 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,870.3 ns 9.98 ns 8.85 ns 12.62 0.02 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,124.4 ns 1.48 ns 1.31 ns 2.07 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,139.8 ns 1.50 ns 1.33 ns 2.09 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,288.4 ns 35.92 ns 33.60 ns 17.07 0.06 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 541.4 ns 0.29 ns 0.24 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 544,989.2 ns 1,162.69 ns 1,087.59 ns 1,006.70 1.99 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,878.4 ns 12.15 ns 11.36 ns 3.47 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,909.1 ns 4.81 ns 4.50 ns 3.53 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 729,670.4 ns 1,066.46 ns 945.39 ns 1,347.84 1.79 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 550.4 ns 0.53 ns 0.47 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,051,953.2 ns 191,545.70 ns 179,171.97 ns 105,481.86 327.00 333.3333 222.2222 222.2222 16001575 B 51,287.10
InvokeIntArrayFixed 100000 60,977.5 ns 408.06 ns 361.74 ns 110.80 0.64 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 61,538.4 ns 428.28 ns 379.66 ns 111.82 0.67 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 83,884,409.9 ns 313,455.68 ns 293,206.64 ns 152,420.08 530.96 857.1429 714.2857 571.4286 27894574 B 89,405.69

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
NewEmpty 1.072 μs 0.0107 μs 0.0100 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.075 μs 0.0112 μs 0.0105 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.087 μs 0.0107 μs 0.0100 μs 1.01 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 89.58 ns 0.043 ns 0.038 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 112.65 ns 0.031 ns 0.028 ns 1.26 0.0004 24 B 1.00
GetInstanceStringField 97.95 ns 0.012 ns 0.011 ns 1.09 - - 0.00
SetInstanceStringField 675.12 ns 0.929 ns 0.869 ns 7.54 0.0038 256 B 10.67
GetStaticIntField 98.67 ns 0.027 ns 0.024 ns 1.10 0.0004 24 B 1.00
SetStaticIntField 101.89 ns 0.029 ns 0.026 ns 1.14 0.0004 24 B 1.00
GetStaticStringField 93.27 ns 0.016 ns 0.014 ns 1.04 - - 0.00
SetStaticStringField 665.29 ns 0.693 ns 0.615 ns 7.43 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 99.51 ns 0.021 ns 0.019 ns 1.11 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.3 ns 0.16 ns 0.15 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 298.2 ns 0.17 ns 0.16 ns 1.02 - - NA
InvokeStaticWithFeedback 547.4 ns 0.34 ns 0.30 ns 1.87 0.0038 312 B NA
InvokeInstanceEmpty 305.3 ns 0.17 ns 0.16 ns 1.04 - - NA
InvokeInstanceWithFeedback 556.6 ns 0.42 ns 0.35 ns 1.90 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.324 μs 0.0150 μs 0.0141 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,014.7 ns 4.66 ns 4.36 ns - 104 B
PredicateRoundTrip False False True 1,055.4 ns 5.89 ns 5.51 ns - 104 B
PredicateRoundTrip False True False 1,260.7 ns 6.80 ns 6.03 ns 0.0019 200 B
PredicateRoundTrip False True True 6,666.7 ns 87.61 ns 81.95 ns - 760 B
PredicateRoundTrip True False False 438.6 ns 2.03 ns 1.90 ns - 24 B
PredicateRoundTrip True False True 431.5 ns 0.73 ns 0.68 ns - 24 B
PredicateRoundTrip True True False 669.3 ns 5.88 ns 4.91 ns 0.0010 120 B
PredicateRoundTrip True True True 5,863.7 ns 82.64 ns 77.30 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 569.25 ns 3.094 ns 2.894 ns 0.0011 80 B
PredicateSustained False False True 570.35 ns 0.435 ns 0.386 ns 0.0011 80 B
PredicateSustained False True False 778.96 ns 8.750 ns 8.185 ns 0.0014 176 B
PredicateSustained False True True 4,199.91 ns 33.458 ns 31.297 ns 0.0100 736 B
PredicateSustained True False False 42.89 ns 0.723 ns 0.676 ns - -
PredicateSustained True False True 44.07 ns 0.391 ns 0.366 ns - -
PredicateSustained True True False 259.10 ns 0.393 ns 0.368 ns 0.0013 96 B
PredicateSustained True True True 3,503.83 ns 35.022 ns 32.759 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 562.3 ns 0.40 ns 0.35 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,786.3 ns 10.92 ns 9.68 ns 12.07 0.02 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,128.0 ns 1.69 ns 1.50 ns 2.01 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,146.1 ns 1.70 ns 1.59 ns 2.04 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,742.4 ns 25.32 ns 23.69 ns 15.55 0.04 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 548.5 ns 0.48 ns 0.43 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 550,014.7 ns 1,733.25 ns 1,621.28 ns 1,002.85 2.96 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,864.9 ns 7.24 ns 6.77 ns 3.40 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,850.9 ns 9.43 ns 8.82 ns 3.37 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 712,409.2 ns 1,625.00 ns 1,356.95 ns 1,298.94 2.58 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 550.7 ns 0.36 ns 0.32 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,150,911.3 ns 143,967.20 ns 134,667.01 ns 103,787.05 243.80 333.3333 222.2222 222.2222 16001031 B 51,285.36
InvokeIntArrayFixed 100000 60,969.8 ns 740.67 ns 692.82 ns 110.72 1.22 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,873.8 ns 423.67 ns 396.30 ns 110.55 0.70 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 83,933,584.4 ns 1,489,652.53 ns 1,393,421.90 ns 152,424.85 2,451.99 1285.7143 1142.8571 1000.0000 27897233 B 89,414.21

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.046 μs 0.0083 μs 0.0078 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.046 μs 0.0009 μs 0.0007 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.047 μs 0.0011 μs 0.0009 μs 1.00 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 94.69 ns 0.035 ns 0.029 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 119.79 ns 0.019 ns 0.016 ns 1.27 0.0002 24 B 1.00
GetInstanceStringField 100.67 ns 0.025 ns 0.024 ns 1.06 - - 0.00
SetInstanceStringField 671.89 ns 0.730 ns 0.647 ns 7.10 0.0038 256 B 10.67
GetStaticIntField 109.49 ns 0.023 ns 0.020 ns 1.16 0.0004 24 B 1.00
SetStaticIntField 111.17 ns 0.028 ns 0.025 ns 1.17 0.0004 24 B 1.00
GetStaticStringField 97.27 ns 0.026 ns 0.024 ns 1.03 - - 0.00
SetStaticStringField 674.08 ns 0.847 ns 0.792 ns 7.12 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 107.25 ns 0.027 ns 0.024 ns 1.13 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 306.0 ns 0.10 ns 0.07 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 309.2 ns 0.20 ns 0.17 ns 1.01 - - NA
InvokeStaticWithFeedback 533.4 ns 0.34 ns 0.28 ns 1.74 0.0038 312 B NA
InvokeInstanceEmpty 313.3 ns 0.13 ns 0.12 ns 1.02 - - NA
InvokeInstanceWithFeedback 546.3 ns 0.24 ns 0.21 ns 1.79 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.294 μs 0.0049 μs 0.0046 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,021.0 ns 5.61 ns 5.25 ns - 104 B
PredicateRoundTrip False False True 1,008.2 ns 5.98 ns 5.59 ns - 104 B
PredicateRoundTrip False True False 1,246.0 ns 6.98 ns 6.53 ns 0.0019 200 B
PredicateRoundTrip False True True 4,514.5 ns 17.98 ns 16.82 ns 0.0076 760 B
PredicateRoundTrip True False False 444.8 ns 0.63 ns 0.59 ns - 24 B
PredicateRoundTrip True False True 436.4 ns 2.39 ns 2.00 ns - 24 B
PredicateRoundTrip True True False 683.1 ns 0.78 ns 0.65 ns 0.0010 120 B
PredicateRoundTrip True True True 3,991.4 ns 20.40 ns 19.08 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 Gen0 Allocated
PredicateSustained False False False 579.30 ns 0.848 ns 0.793 ns 0.0011 80 B
PredicateSustained False False True 570.45 ns 0.753 ns 0.629 ns 0.0011 80 B
PredicateSustained False True False 776.70 ns 3.946 ns 3.295 ns 0.0014 176 B
PredicateSustained False True True 4,081.51 ns 13.769 ns 10.750 ns 0.0100 736 B
PredicateSustained True False False 46.39 ns 0.897 ns 1.067 ns - -
PredicateSustained True False True 45.44 ns 0.868 ns 1.033 ns - -
PredicateSustained True True False 259.91 ns 0.341 ns 0.319 ns 0.0013 96 B
PredicateSustained True True True 3,227.00 ns 13.781 ns 12.891 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 558.2 ns 0.31 ns 0.26 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,970.5 ns 14.98 ns 12.51 ns 12.49 0.02 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,145.6 ns 1.69 ns 1.50 ns 2.05 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,150.9 ns 2.53 ns 2.37 ns 2.06 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,245.1 ns 40.97 ns 38.32 ns 16.56 0.07 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 565.8 ns 0.68 ns 0.64 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 554,299.1 ns 1,627.00 ns 1,521.90 ns 979.67 2.81 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,885.6 ns 9.22 ns 8.63 ns 3.33 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,843.6 ns 11.54 ns 10.79 ns 3.26 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 727,886.4 ns 1,571.61 ns 1,312.37 ns 1,286.46 2.64 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 566.0 ns 0.38 ns 0.34 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,798,899.3 ns 150,785.36 ns 133,667.29 ns 103,877.77 236.02 333.3333 222.2222 222.2222 16000824 B 51,284.69
InvokeIntArrayFixed 100000 60,355.4 ns 671.02 ns 627.67 ns 106.63 1.08 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,748.4 ns 710.96 ns 630.25 ns 107.32 1.08 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 82,430,422.9 ns 693,145.82 ns 648,369.03 ns 145,626.67 1,112.49 1166.6667 1000.0000 1000.0000 27898336 B 89,417.74

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
NewEmpty 1.043 μs 0.0075 μs 0.0070 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.044 μs 0.0096 μs 0.0090 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.055 μs 0.0097 μs 0.0090 μs 1.01 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.32 ns 0.068 ns 0.061 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 117.79 ns 0.047 ns 0.042 ns 1.24 0.0002 24 B 1.00
GetInstanceStringField 107.12 ns 0.012 ns 0.010 ns 1.12 - - 0.00
SetInstanceStringField 680.55 ns 0.774 ns 0.724 ns 7.14 0.0038 256 B 10.67
GetStaticIntField 111.78 ns 0.045 ns 0.040 ns 1.17 0.0004 24 B 1.00
SetStaticIntField 114.40 ns 0.038 ns 0.034 ns 1.20 0.0004 24 B 1.00
GetStaticStringField 98.20 ns 0.015 ns 0.014 ns 1.03 - - 0.00
SetStaticStringField 659.54 ns 1.338 ns 1.251 ns 6.92 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 105.12 ns 0.066 ns 0.062 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 301.0 ns 0.10 ns 0.09 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 302.8 ns 0.10 ns 0.09 ns 1.01 - - NA
InvokeStaticWithFeedback 553.0 ns 0.30 ns 0.24 ns 1.84 0.0038 312 B NA
InvokeInstanceEmpty 318.2 ns 0.17 ns 0.16 ns 1.06 - - NA
InvokeInstanceWithFeedback 556.4 ns 0.69 ns 0.58 ns 1.85 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.359 μs 0.0111 μs 0.0098 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,039.9 ns 7.95 ns 7.44 ns - 104 B
PredicateRoundTrip False False True 1,042.3 ns 8.24 ns 7.71 ns - 104 B
PredicateRoundTrip False True False 1,284.0 ns 11.83 ns 11.07 ns 0.0019 200 B
PredicateRoundTrip False True True 5,847.5 ns 95.29 ns 84.47 ns 0.0076 760 B
PredicateRoundTrip True False False 452.7 ns 0.45 ns 0.42 ns - 24 B
PredicateRoundTrip True False True 453.0 ns 0.31 ns 0.27 ns - 24 B
PredicateRoundTrip True True False 688.8 ns 5.83 ns 5.46 ns 0.0010 120 B
PredicateRoundTrip True True True 5,002.7 ns 66.24 ns 51.71 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.13 ns 1.393 ns 1.088 ns 0.0011 80 B
PredicateSustained False False True 580.86 ns 4.022 ns 3.763 ns 0.0011 80 B
PredicateSustained False True False 796.22 ns 5.738 ns 5.368 ns 0.0014 176 B
PredicateSustained False True True 4,395.02 ns 40.827 ns 45.379 ns 0.0100 736 B
PredicateSustained True False False 41.66 ns 0.061 ns 0.057 ns - -
PredicateSustained True False True 42.14 ns 0.746 ns 0.698 ns - -
PredicateSustained True True False 253.20 ns 0.438 ns 0.389 ns 0.0013 96 B
PredicateSustained True True True 3,649.14 ns 24.903 ns 30.583 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 548.2 ns 0.51 ns 0.46 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,282.2 ns 29.06 ns 25.76 ns 13.28 0.05 0.0153 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,159.8 ns 2.12 ns 1.88 ns 2.12 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,168.6 ns 1.70 ns 1.42 ns 2.13 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,180.7 ns 13.17 ns 11.67 ns 16.75 0.02 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 546.8 ns 0.74 ns 0.61 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 573,771.9 ns 892.73 ns 835.06 ns 1,049.31 1.87 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,946.8 ns 7.56 ns 6.70 ns 3.56 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,938.2 ns 14.43 ns 13.50 ns 3.54 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 763,272.7 ns 1,281.91 ns 1,070.45 ns 1,395.86 2.42 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 562.0 ns 0.27 ns 0.24 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 59,777,738.9 ns 435,672.03 ns 407,527.89 ns 106,372.71 703.63 250.0000 125.0000 125.0000 16000810 B 51,284.65
InvokeIntArrayFixed 100000 62,100.3 ns 665.52 ns 622.53 ns 110.51 1.07 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 61,420.5 ns 413.25 ns 345.09 ns 109.30 0.59 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 82,748,262.3 ns 739,328.16 ns 655,395.16 ns 147,248.07 1,128.34 1000.0000 833.3333 833.3333 27896308 B 89,411.24

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.113 μs 0.0009 μs 0.0007 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.103 μs 0.0009 μs 0.0007 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.092 μs 0.0087 μs 0.0072 μs 0.98 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 97.57 ns 0.026 ns 0.022 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 116.30 ns 0.058 ns 0.051 ns 1.19 0.00 0.0002 24 B 1.00
GetInstanceStringField 110.60 ns 0.028 ns 0.026 ns 1.13 0.00 - - 0.00
SetInstanceStringField 686.20 ns 0.988 ns 0.924 ns 7.03 0.01 0.0038 256 B 10.67
GetStaticIntField 121.53 ns 0.076 ns 0.068 ns 1.25 0.00 0.0002 24 B 1.00
SetStaticIntField 120.62 ns 0.058 ns 0.051 ns 1.24 0.00 0.0002 24 B 1.00
GetStaticStringField 110.49 ns 0.030 ns 0.027 ns 1.13 0.00 - - 0.00
SetStaticStringField 687.78 ns 2.516 ns 2.353 ns 7.05 0.02 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 104.59 ns 0.132 ns 0.117 ns 1.07 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 375.4 ns 0.27 ns 0.24 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 386.3 ns 0.36 ns 0.33 ns 1.03 - - NA
InvokeStaticWithFeedback 539.2 ns 0.25 ns 0.22 ns 1.44 0.0038 312 B NA
InvokeInstanceEmpty 400.3 ns 0.27 ns 0.25 ns 1.07 - - NA
InvokeInstanceWithFeedback 565.6 ns 0.55 ns 0.49 ns 1.51 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.332 μs 0.0021 μs 0.0020 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,074.2 ns 7.57 ns 7.08 ns - 104 B
PredicateRoundTrip False False True 1,087.6 ns 5.45 ns 5.10 ns - 104 B
PredicateRoundTrip False True False 1,324.2 ns 8.98 ns 8.40 ns 0.0019 200 B
PredicateRoundTrip False True True 4,996.6 ns 13.22 ns 11.72 ns 0.0076 760 B
PredicateRoundTrip True False False 459.2 ns 0.91 ns 0.85 ns - 24 B
PredicateRoundTrip True False True 472.6 ns 0.75 ns 0.66 ns - 24 B
PredicateRoundTrip True True False 706.8 ns 0.94 ns 0.84 ns 0.0010 120 B
PredicateRoundTrip True True True 4,270.6 ns 26.00 ns 24.32 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 604.26 ns 2.176 ns 2.035 ns 0.0011 80 B
PredicateSustained False False True 607.36 ns 0.861 ns 0.763 ns 0.0011 80 B
PredicateSustained False True False 814.04 ns 0.920 ns 0.718 ns 0.0014 176 B
PredicateSustained False True True 4,250.01 ns 22.909 ns 21.429 ns 0.0100 736 B
PredicateSustained True False False 51.19 ns 0.786 ns 0.697 ns - -
PredicateSustained True False True 51.07 ns 0.506 ns 0.473 ns - -
PredicateSustained True True False 272.95 ns 0.458 ns 0.429 ns 0.0013 96 B
PredicateSustained True True True 3,513.05 ns 15.781 ns 13.989 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 569.9 ns 0.52 ns 0.43 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,401.8 ns 27.30 ns 25.54 ns 12.99 0.04 0.0153 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,171.9 ns 1.48 ns 1.31 ns 2.06 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,184.0 ns 0.85 ns 0.66 ns 2.08 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,970.6 ns 16.79 ns 14.89 ns 17.50 0.03 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 569.3 ns 0.57 ns 0.50 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 564,841.0 ns 1,062.98 ns 994.31 ns 992.13 1.89 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,925.4 ns 9.08 ns 8.49 ns 3.38 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,936.5 ns 5.28 ns 4.94 ns 3.40 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 751,720.5 ns 1,757.44 ns 1,467.54 ns 1,320.38 2.73 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 560.6 ns 0.36 ns 0.32 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 59,000,120.4 ns 218,732.68 ns 204,602.69 ns 105,253.50 358.15 333.3333 222.2222 222.2222 16001556 B 51,287.04
InvokeIntArrayFixed 100000 61,332.1 ns 341.58 ns 319.52 ns 109.41 0.56 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 61,308.4 ns 213.36 ns 189.14 ns 109.37 0.33 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 83,025,792.8 ns 803,297.01 ns 670,789.39 ns 148,114.20 1,155.74 666.6667 500.0000 500.0000 27894008 B 89,403.87

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.131 μs 0.0017 μs 0.0013 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.107 μs 0.0123 μs 0.0115 μs 0.98 0.0038 360 B 1.00
DeclaredNewEmpty 1.111 μs 0.0138 μs 0.0129 μs 0.98 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 92.18 ns 0.025 ns 0.022 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 111.32 ns 0.024 ns 0.021 ns 1.21 0.00 0.0004 24 B 1.00
GetInstanceStringField 103.72 ns 0.074 ns 0.069 ns 1.13 0.00 - - 0.00
SetInstanceStringField 693.85 ns 1.879 ns 1.757 ns 7.53 0.02 0.0038 256 B 10.67
GetStaticIntField 108.07 ns 0.083 ns 0.078 ns 1.17 0.00 0.0004 24 B 1.00
SetStaticIntField 106.92 ns 0.024 ns 0.021 ns 1.16 0.00 0.0004 24 B 1.00
GetStaticStringField 96.59 ns 0.013 ns 0.011 ns 1.05 0.00 - - 0.00
SetStaticStringField 674.70 ns 0.864 ns 0.808 ns 7.32 0.01 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 103.13 ns 0.067 ns 0.056 ns 1.12 0.00 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 315.6 ns 0.17 ns 0.15 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 313.6 ns 0.13 ns 0.12 ns 0.99 - - NA
InvokeStaticWithFeedback 573.3 ns 0.44 ns 0.39 ns 1.82 0.0038 312 B NA
InvokeInstanceEmpty 320.4 ns 0.13 ns 0.12 ns 1.02 - - NA
InvokeInstanceWithFeedback 576.2 ns 0.48 ns 0.37 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.352 μs 0.0041 μs 0.0039 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,105.1 ns 9.47 ns 8.86 ns - 104 B
PredicateRoundTrip False False True 1,081.3 ns 8.43 ns 7.89 ns - 104 B
PredicateRoundTrip False True False 1,394.0 ns 11.58 ns 10.26 ns 0.0019 200 B
PredicateRoundTrip False True True 6,088.7 ns 73.25 ns 68.52 ns 0.0076 760 B
PredicateRoundTrip True False False 459.1 ns 4.39 ns 4.10 ns - 24 B
PredicateRoundTrip True False True 468.3 ns 5.86 ns 5.19 ns - 24 B
PredicateRoundTrip True True False 692.9 ns 1.85 ns 1.44 ns 0.0010 120 B
PredicateRoundTrip True True True 5,244.9 ns 40.94 ns 38.30 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 598.59 ns 0.811 ns 0.759 ns 0.0011 80 B
PredicateSustained False False True 604.40 ns 2.120 ns 1.770 ns 0.0011 80 B
PredicateSustained False True False 814.95 ns 8.748 ns 8.183 ns 0.0014 176 B
PredicateSustained False True True 5,693.63 ns 91.383 ns 85.480 ns 0.0100 736 B
PredicateSustained True False False 43.86 ns 0.762 ns 0.676 ns - -
PredicateSustained True False True 43.69 ns 0.841 ns 0.656 ns - -
PredicateSustained True True False 258.44 ns 0.332 ns 0.311 ns 0.0013 96 B
PredicateSustained True True True 4,036.09 ns 66.801 ns 62.485 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 555.8 ns 0.40 ns 0.35 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,979.6 ns 14.74 ns 13.78 ns 12.56 0.03 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,155.1 ns 1.92 ns 1.70 ns 2.08 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,165.5 ns 1.27 ns 1.06 ns 2.10 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,005.9 ns 24.92 ns 23.31 ns 16.20 0.04 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 554.2 ns 0.32 ns 0.27 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 552,677.6 ns 1,207.17 ns 1,129.19 ns 997.27 2.03 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,877.7 ns 9.27 ns 8.67 ns 3.39 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,883.3 ns 3.01 ns 2.66 ns 3.40 0.00 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 736,603.9 ns 1,226.68 ns 1,024.33 ns 1,329.16 1.89 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 551.6 ns 0.38 ns 0.33 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,995,807.9 ns 183,303.01 ns 171,461.75 ns 105,147.15 307.23 333.3333 222.2222 222.2222 16001191 B 51,285.87
InvokeIntArrayFixed 100000 60,044.4 ns 183.19 ns 162.39 ns 108.86 0.29 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 59,836.9 ns 233.82 ns 195.25 ns 108.49 0.35 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 82,929,988.1 ns 1,157,806.05 ns 1,083,012.50 ns 150,353.15 1,903.49 1166.6667 1000.0000 1000.0000 27897003 B 89,413.47

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 RatioSD Gen0 Allocated Alloc Ratio
NewEmpty 1.076 μs 0.0134 μs 0.0125 μs 1.00 0.02 0.0038 360 B 1.00
NewWithSignature 1.051 μs 0.0108 μs 0.0101 μs 0.98 0.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.061 μs 0.0119 μs 0.0111 μs 0.99 0.01 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.41 ns 0.066 ns 0.062 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 116.29 ns 0.042 ns 0.037 ns 1.24 0.0002 24 B 1.00
GetInstanceStringField 109.79 ns 0.013 ns 0.011 ns 1.18 - - 0.00
SetInstanceStringField 666.09 ns 0.904 ns 0.801 ns 7.13 0.0038 256 B 10.67
GetStaticIntField 107.03 ns 0.028 ns 0.025 ns 1.15 0.0004 24 B 1.00
SetStaticIntField 112.71 ns 0.060 ns 0.050 ns 1.21 0.0004 24 B 1.00
GetStaticStringField 99.28 ns 0.046 ns 0.041 ns 1.06 - - 0.00
SetStaticStringField 662.30 ns 0.763 ns 0.677 ns 7.09 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 102.09 ns 0.020 ns 0.017 ns 1.09 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 317.2 ns 0.19 ns 0.18 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 315.1 ns 0.20 ns 0.18 ns 0.99 - - NA
InvokeStaticWithFeedback 546.4 ns 0.17 ns 0.15 ns 1.72 0.0038 312 B NA
InvokeInstanceEmpty 326.1 ns 0.18 ns 0.16 ns 1.03 - - NA
InvokeInstanceWithFeedback 566.0 ns 0.26 ns 0.23 ns 1.78 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.313 μs 0.0023 μs 0.0019 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,055.6 ns 9.43 ns 8.82 ns - 104 B
PredicateRoundTrip False False True 1,059.4 ns 6.60 ns 5.85 ns - 104 B
PredicateRoundTrip False True False 1,324.4 ns 7.41 ns 6.56 ns 0.0019 200 B
PredicateRoundTrip False True True 5,107.6 ns 30.37 ns 28.40 ns 0.0076 760 B
PredicateRoundTrip True False False 464.1 ns 0.70 ns 0.59 ns - 24 B
PredicateRoundTrip True False True 458.9 ns 0.38 ns 0.35 ns - 24 B
PredicateRoundTrip True True False 699.1 ns 1.87 ns 1.66 ns 0.0010 120 B
PredicateRoundTrip True True True 4,368.2 ns 27.84 ns 26.04 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 589.98 ns 0.496 ns 0.440 ns 0.0011 80 B
PredicateSustained False False True 586.14 ns 0.700 ns 0.547 ns 0.0011 80 B
PredicateSustained False True False 807.04 ns 7.885 ns 7.375 ns 0.0014 176 B
PredicateSustained False True True 4,176.19 ns 16.133 ns 15.091 ns 0.0100 736 B
PredicateSustained True False False 44.24 ns 0.231 ns 0.216 ns - -
PredicateSustained True False True 45.94 ns 0.841 ns 0.746 ns - -
PredicateSustained True True False 258.46 ns 0.407 ns 0.381 ns 0.0013 96 B
PredicateSustained True True True 3,521.60 ns 13.862 ns 12.967 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 567.4 ns 1.27 ns 1.18 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,361.0 ns 17.83 ns 16.68 ns 12.97 0.04 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,160.0 ns 2.83 ns 2.64 ns 2.04 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,257.2 ns 16.24 ns 15.19 ns 2.22 0.03 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,385.9 ns 25.72 ns 24.06 ns 16.54 0.05 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 562.1 ns 0.36 ns 0.30 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 563,783.7 ns 1,143.52 ns 1,069.65 ns 1,003.06 1.92 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,892.3 ns 15.28 ns 14.29 ns 3.37 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,886.3 ns 9.88 ns 9.24 ns 3.36 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 741,686.8 ns 1,494.79 ns 1,248.21 ns 1,319.58 2.25 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 559.1 ns 0.24 ns 0.21 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,251,241.7 ns 181,220.42 ns 169,513.70 ns 104,188.04 296.12 333.3333 222.2222 222.2222 16001398 B 51,286.53
InvokeIntArrayFixed 100000 60,504.4 ns 243.29 ns 215.67 ns 108.22 0.37 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,596.0 ns 148.11 ns 131.30 ns 108.38 0.23 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 82,990,309.4 ns 872,598.63 ns 773,535.96 ns 148,436.28 1,337.76 1166.6667 1000.0000 1000.0000 27897003 B 89,413.47

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.092 μs 0.0094 μs 0.0088 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.079 μs 0.0066 μs 0.0062 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.077 μs 0.0088 μs 0.0082 μs 0.99 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 95.86 ns 0.027 ns 0.024 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 120.08 ns 0.037 ns 0.031 ns 1.25 0.00 0.0002 24 B 1.00
GetInstanceStringField 111.89 ns 0.037 ns 0.035 ns 1.17 0.00 - - 0.00
SetInstanceStringField 676.06 ns 1.101 ns 1.030 ns 7.05 0.01 0.0038 256 B 10.67
GetStaticIntField 112.79 ns 0.021 ns 0.017 ns 1.18 0.00 0.0004 24 B 1.00
SetStaticIntField 112.63 ns 0.042 ns 0.037 ns 1.18 0.00 0.0004 24 B 1.00
GetStaticStringField 100.53 ns 0.017 ns 0.016 ns 1.05 0.00 - - 0.00
SetStaticStringField 670.97 ns 3.392 ns 3.173 ns 7.00 0.03 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 106.59 ns 0.038 ns 0.034 ns 1.11 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.0 ns 0.20 ns 0.18 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 321.7 ns 1.61 ns 1.51 ns 1.03 - - NA
InvokeStaticWithFeedback 555.2 ns 0.42 ns 0.37 ns 1.77 0.0038 312 B NA
InvokeInstanceEmpty 326.0 ns 0.20 ns 0.19 ns 1.04 - - NA
InvokeInstanceWithFeedback 570.0 ns 0.38 ns 0.32 ns 1.82 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.927 μs 0.0473 μs 0.0442 μs 1.00 0.02 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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,068.2 ns 7.84 ns 7.33 ns - 104 B
PredicateRoundTrip False False True 1,058.5 ns 1.36 ns 1.06 ns - 104 B
PredicateRoundTrip False True False 1,374.2 ns 21.15 ns 19.79 ns 0.0019 200 B
PredicateRoundTrip False True True 6,285.6 ns 77.40 ns 64.64 ns 0.0076 760 B
PredicateRoundTrip True False False 477.4 ns 4.75 ns 4.44 ns - 24 B
PredicateRoundTrip True False True 460.5 ns 1.03 ns 0.80 ns - 24 B
PredicateRoundTrip True True False 1,213.1 ns 23.12 ns 21.63 ns - 120 B
PredicateRoundTrip True True True 5,080.8 ns 30.98 ns 25.87 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 589.16 ns 2.514 ns 1.963 ns 0.0011 80 B
PredicateSustained False False True 591.64 ns 0.742 ns 0.579 ns 0.0011 80 B
PredicateSustained False True False 807.75 ns 6.119 ns 5.724 ns 0.0014 176 B
PredicateSustained False True True 4,335.58 ns 18.376 ns 18.048 ns 0.0100 736 B
PredicateSustained True False False 41.95 ns 0.028 ns 0.025 ns - -
PredicateSustained True False True 41.67 ns 0.409 ns 0.382 ns - -
PredicateSustained True True False 254.84 ns 0.610 ns 0.570 ns 0.0013 96 B
PredicateSustained True True True 3,498.88 ns 19.269 ns 23.665 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 537.6 ns 0.55 ns 0.48 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,248.6 ns 14.86 ns 12.41 ns 13.48 0.03 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,194.2 ns 3.09 ns 2.74 ns 2.22 0.01 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,222.6 ns 1.52 ns 1.19 ns 2.27 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,161.8 ns 23.94 ns 22.39 ns 17.04 0.04 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 534.5 ns 0.48 ns 0.43 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 571,160.2 ns 1,385.14 ns 1,295.66 ns 1,068.66 2.49 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,952.2 ns 8.50 ns 7.95 ns 3.65 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,936.2 ns 5.06 ns 4.49 ns 3.62 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 759,352.0 ns 1,339.28 ns 1,187.23 ns 1,420.78 2.41 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 529.8 ns 0.58 ns 0.48 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,803,583.0 ns 430,743.16 ns 402,917.42 ns 112,870.10 743.11 250.0000 125.0000 125.0000 16000833 B 46,514.05
InvokeIntArrayFixed 100000 61,227.8 ns 401.28 ns 355.72 ns 115.56 0.66 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 61,683.4 ns 217.38 ns 192.70 ns 116.42 0.37 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,286,175.3 ns 1,469,357.65 ns 1,374,438.06 ns 160,964.59 2,516.46 666.6667 500.0000 500.0000 27894040 B 81,087.33

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.150 μs 0.0014 μs 0.0012 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.139 μs 0.0025 μs 0.0021 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.144 μs 0.0009 μs 0.0007 μs 0.99 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 Gen0 Allocated Alloc Ratio
GetInstanceIntField 105.9 ns 0.02 ns 0.02 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 148.8 ns 0.05 ns 0.04 ns 1.40 0.0002 24 B 1.00
GetInstanceStringField 115.9 ns 0.02 ns 0.02 ns 1.09 - - 0.00
SetInstanceStringField 735.1 ns 1.15 ns 1.07 ns 6.94 0.0038 288 B 12.00
GetStaticIntField 130.7 ns 0.04 ns 0.04 ns 1.23 0.0002 24 B 1.00
SetStaticIntField 149.6 ns 0.06 ns 0.05 ns 1.41 0.0002 24 B 1.00
GetStaticStringField 115.8 ns 0.06 ns 0.06 ns 1.09 - - 0.00
SetStaticStringField 715.5 ns 1.38 ns 1.23 ns 6.76 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 142.2 ns 0.03 ns 0.03 ns 1.34 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 375.0 ns 0.14 ns 0.12 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 336.3 ns 0.20 ns 0.19 ns 0.90 - - NA
InvokeStaticWithFeedback 540.4 ns 0.43 ns 0.38 ns 1.44 0.0048 344 B NA
InvokeInstanceEmpty 387.7 ns 0.16 ns 0.15 ns 1.03 - - NA
InvokeInstanceWithFeedback 542.7 ns 0.44 ns 0.39 ns 1.45 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.330 μs 0.0017 μs 0.0016 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,046.3 ns 9.31 ns 8.71 ns - 104 B
PredicateRoundTrip False False True 1,055.3 ns 8.24 ns 7.71 ns - 104 B
PredicateRoundTrip False True False 1,264.3 ns 5.56 ns 5.20 ns 0.0019 200 B
PredicateRoundTrip False True True 4,643.9 ns 4.67 ns 4.14 ns 0.0076 792 B
PredicateRoundTrip True False False 425.6 ns 0.46 ns 0.36 ns - 24 B
PredicateRoundTrip True False True 442.9 ns 0.40 ns 0.35 ns - 24 B
PredicateRoundTrip True True False 632.0 ns 0.27 ns 0.21 ns 0.0010 120 B
PredicateRoundTrip True True True 4,242.4 ns 18.11 ns 16.94 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 612.76 ns 0.380 ns 0.297 ns - 80 B
PredicateSustained False False True 623.82 ns 0.591 ns 0.493 ns - 80 B
PredicateSustained False True False 818.78 ns 0.995 ns 0.831 ns 0.0014 176 B
PredicateSustained False True True 4,212.09 ns 14.279 ns 13.357 ns 0.0100 768 B
PredicateSustained True False False 58.49 ns 1.139 ns 1.266 ns - -
PredicateSustained True False True 59.34 ns 1.163 ns 1.384 ns - -
PredicateSustained True True False 251.17 ns 0.549 ns 0.513 ns 0.0013 96 B
PredicateSustained True True True 3,517.56 ns 13.012 ns 12.171 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 549.0 ns 0.36 ns 0.32 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,223.0 ns 6.85 ns 6.08 ns 13.16 0.01 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,214.5 ns 1.91 ns 1.69 ns 2.21 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,220.9 ns 1.98 ns 1.75 ns 2.22 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,583.0 ns 31.62 ns 29.58 ns 17.45 0.05 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 546.0 ns 0.52 ns 0.46 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 579,595.6 ns 1,183.48 ns 1,107.03 ns 1,061.52 2.15 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 2,006.0 ns 14.88 ns 13.92 ns 3.67 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,961.7 ns 15.67 ns 14.66 ns 3.59 0.03 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 792,180.4 ns 606.46 ns 473.49 ns 1,450.86 1.45 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 546.8 ns 0.62 ns 0.58 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,572,581.7 ns 191,481.02 ns 179,111.46 ns 108,955.47 336.28 250.0000 125.0000 125.0000 16001200 B 46,515.12
InvokeIntArrayFixed 100000 61,239.0 ns 727.10 ns 680.13 ns 112.00 1.21 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 61,094.1 ns 636.03 ns 594.95 ns 111.74 1.06 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 86,308,385.9 ns 651,279.10 ns 577,341.96 ns 157,854.00 1,032.72 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.163 μs 0.0085 μs 0.0079 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.170 μs 0.0097 μs 0.0091 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.166 μs 0.0094 μs 0.0088 μ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 102.2 ns 0.04 ns 0.03 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 146.6 ns 0.08 ns 0.07 ns 1.43 0.0002 24 B 1.00
GetInstanceStringField 115.1 ns 0.02 ns 0.02 ns 1.13 - - 0.00
SetInstanceStringField 728.5 ns 0.81 ns 0.76 ns 7.13 0.0038 288 B 12.00
GetStaticIntField 121.7 ns 0.03 ns 0.03 ns 1.19 0.0002 24 B 1.00
SetStaticIntField 147.5 ns 0.05 ns 0.04 ns 1.44 0.0002 24 B 1.00
GetStaticStringField 112.0 ns 0.02 ns 0.02 ns 1.10 - - 0.00
SetStaticStringField 725.5 ns 0.94 ns 0.88 ns 7.10 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 152.5 ns 0.04 ns 0.04 ns 1.49 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 310.9 ns 0.11 ns 0.11 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 274.1 ns 0.13 ns 0.12 ns 0.88 - - NA
InvokeStaticWithFeedback 544.6 ns 0.30 ns 0.27 ns 1.75 0.0048 344 B NA
InvokeInstanceEmpty 320.1 ns 0.13 ns 0.11 ns 1.03 - - NA
InvokeInstanceWithFeedback 543.6 ns 0.26 ns 0.23 ns 1.75 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.337 μs 0.0015 μs 0.0012 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,060.3 ns 4.40 ns 4.12 ns - 104 B
PredicateRoundTrip False False True 1,047.9 ns 4.88 ns 4.33 ns - 104 B
PredicateRoundTrip False True False 1,258.3 ns 5.64 ns 5.28 ns 0.0019 200 B
PredicateRoundTrip False True True 5,733.3 ns 73.90 ns 69.13 ns 0.0076 792 B
PredicateRoundTrip True False False 439.4 ns 1.23 ns 1.15 ns - 24 B
PredicateRoundTrip True False True 430.3 ns 0.81 ns 0.75 ns - 24 B
PredicateRoundTrip True True False 635.3 ns 0.92 ns 0.72 ns 0.0010 120 B
PredicateRoundTrip True True True 3,994.2 ns 24.51 ns 22.93 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 616.16 ns 1.952 ns 1.630 ns - 80 B
PredicateSustained False False True 615.61 ns 0.358 ns 0.317 ns 0.0011 80 B
PredicateSustained False True False 808.41 ns 6.396 ns 5.983 ns 0.0014 176 B
PredicateSustained False True True 4,596.54 ns 47.175 ns 44.127 ns 0.0100 768 B
PredicateSustained True False False 54.39 ns 1.071 ns 1.393 ns - -
PredicateSustained True False True 51.51 ns 1.028 ns 1.056 ns - -
PredicateSustained True True False 243.50 ns 0.539 ns 0.478 ns 0.0013 96 B
PredicateSustained True True True 3,970.55 ns 62.488 ns 58.451 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 537.0 ns 0.40 ns 0.36 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,069.0 ns 8.53 ns 7.12 ns 13.16 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,173.3 ns 1.97 ns 1.84 ns 2.18 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,173.7 ns 1.06 ns 0.83 ns 2.19 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,188.9 ns 30.35 ns 26.90 ns 17.11 0.05 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 536.1 ns 0.37 ns 0.33 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 567,950.8 ns 1,124.36 ns 1,051.73 ns 1,059.32 2.00 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,882.6 ns 7.26 ns 6.80 ns 3.51 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,900.3 ns 5.80 ns 5.14 ns 3.54 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 745,236.4 ns 553.31 ns 462.04 ns 1,389.99 1.17 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 541.5 ns 0.43 ns 0.38 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 58,898,046.2 ns 217,671.81 ns 203,610.34 ns 108,772.54 371.53 250.0000 125.0000 125.0000 16001387 B 46,515.66
InvokeIntArrayFixed 100000 60,103.8 ns 429.95 ns 402.17 ns 111.00 0.72 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 59,582.9 ns 348.26 ns 308.72 ns 110.04 0.56 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 84,366,099.2 ns 576,502.41 ns 511,054.37 ns 155,806.78 917.91 1000.0000 833.3333 833.3333 27894573 B 81,088.88

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.115 μs 0.0083 μs 0.0077 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.123 μs 0.0086 μs 0.0081 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.122 μs 0.0067 μs 0.0060 μs 1.01 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 102.2 ns 0.04 ns 0.04 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 152.3 ns 0.14 ns 0.12 ns 1.49 0.0002 24 B 1.00
GetInstanceStringField 116.9 ns 0.03 ns 0.03 ns 1.14 - - 0.00
SetInstanceStringField 719.5 ns 0.75 ns 0.70 ns 7.04 0.0038 288 B 12.00
GetStaticIntField 122.3 ns 0.06 ns 0.04 ns 1.20 0.0002 24 B 1.00
SetStaticIntField 145.8 ns 0.06 ns 0.05 ns 1.43 0.0002 24 B 1.00
GetStaticStringField 114.5 ns 0.02 ns 0.02 ns 1.12 - - 0.00
SetStaticStringField 697.6 ns 0.88 ns 0.83 ns 6.82 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 152.4 ns 0.05 ns 0.04 ns 1.49 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 315.3 ns 0.14 ns 0.13 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 287.8 ns 0.26 ns 0.24 ns 0.91 - - NA
InvokeStaticWithFeedback 525.1 ns 0.35 ns 0.27 ns 1.67 0.0048 344 B NA
InvokeInstanceEmpty 318.8 ns 0.09 ns 0.08 ns 1.01 - - NA
InvokeInstanceWithFeedback 538.5 ns 0.33 ns 0.28 ns 1.71 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.322 μs 0.0015 μs 0.0013 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,011.9 ns 8.28 ns 7.74 ns - 104 B
PredicateRoundTrip False False True 1,015.3 ns 5.05 ns 4.48 ns - 104 B
PredicateRoundTrip False True False 1,216.2 ns 4.34 ns 4.06 ns 0.0019 200 B
PredicateRoundTrip False True True 4,560.1 ns 11.21 ns 9.93 ns 0.0076 792 B
PredicateRoundTrip True False False 427.1 ns 0.25 ns 0.22 ns - 24 B
PredicateRoundTrip True False True 423.9 ns 0.30 ns 0.27 ns - 24 B
PredicateRoundTrip True True False 619.3 ns 0.74 ns 0.58 ns 0.0010 120 B
PredicateRoundTrip True True True 3,965.4 ns 10.93 ns 10.22 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 597.38 ns 0.311 ns 0.276 ns 0.0011 80 B
PredicateSustained False False True 592.28 ns 0.493 ns 0.437 ns 0.0011 80 B
PredicateSustained False True False 786.45 ns 8.132 ns 7.607 ns 0.0014 176 B
PredicateSustained False True True 4,124.51 ns 13.851 ns 12.956 ns 0.0100 768 B
PredicateSustained True False False 52.51 ns 0.806 ns 0.754 ns - -
PredicateSustained True False True 52.98 ns 1.021 ns 1.002 ns - -
PredicateSustained True True False 243.65 ns 0.459 ns 0.407 ns 0.0013 96 B
PredicateSustained True True True 3,437.95 ns 8.880 ns 7.416 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 551.2 ns 0.64 ns 0.60 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,100.6 ns 6.75 ns 5.98 ns 12.88 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,223.6 ns 2.09 ns 1.95 ns 2.22 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,240.3 ns 1.67 ns 1.48 ns 2.25 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,397.9 ns 62.58 ns 58.54 ns 17.05 0.10 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 557.8 ns 0.48 ns 0.43 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 564,236.5 ns 1,536.56 ns 1,437.30 ns 1,011.63 2.61 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,941.6 ns 9.50 ns 8.88 ns 3.48 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,966.6 ns 6.48 ns 6.07 ns 3.53 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 768,134.5 ns 1,941.01 ns 1,620.83 ns 1,377.20 2.98 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 555.5 ns 0.29 ns 0.24 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,296,726.9 ns 184,970.28 ns 173,021.31 ns 106,739.51 304.94 333.3333 222.2222 222.2222 16001138 B 46,514.94
InvokeIntArrayFixed 100000 61,996.2 ns 296.02 ns 247.19 ns 111.60 0.43 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 61,839.8 ns 387.60 ns 343.60 ns 111.32 0.60 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 84,383,475.5 ns 171,881.25 ns 134,193.58 ns 151,897.94 240.54 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.103 μs 0.0094 μs 0.0088 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.137 μs 0.0114 μs 0.0107 μs 1.03 0.0038 360 B 1.00
DeclaredNewEmpty 1.140 μs 0.0110 μs 0.0103 μs 1.03 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 109.4 ns 0.04 ns 0.04 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 147.0 ns 0.38 ns 0.36 ns 1.34 0.00 0.0002 24 B 1.00
GetInstanceStringField 116.4 ns 0.04 ns 0.04 ns 1.06 0.00 - - 0.00
SetInstanceStringField 710.4 ns 0.88 ns 0.83 ns 6.49 0.01 0.0038 288 B 12.00
GetStaticIntField 121.6 ns 0.04 ns 0.04 ns 1.11 0.00 0.0002 24 B 1.00
SetStaticIntField 140.0 ns 0.08 ns 0.07 ns 1.28 0.00 0.0002 24 B 1.00
GetStaticStringField 115.7 ns 0.11 ns 0.10 ns 1.06 0.00 - - 0.00
SetStaticStringField 712.4 ns 2.04 ns 1.70 ns 6.51 0.02 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 156.3 ns 0.04 ns 0.04 ns 1.43 0.00 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 310.0 ns 0.10 ns 0.08 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 287.1 ns 0.12 ns 0.11 ns 0.93 - - NA
InvokeStaticWithFeedback 527.7 ns 0.52 ns 0.46 ns 1.70 0.0048 344 B NA
InvokeInstanceEmpty 315.7 ns 0.12 ns 0.11 ns 1.02 - - NA
InvokeInstanceWithFeedback 555.6 ns 0.31 ns 0.25 ns 1.79 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.337 μs 0.0016 μs 0.0013 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,028.7 ns 1.21 ns 0.94 ns - 104 B
PredicateRoundTrip False False True 1,043.0 ns 5.96 ns 5.29 ns - 104 B
PredicateRoundTrip False True False 1,239.4 ns 1.03 ns 0.80 ns 0.0019 200 B
PredicateRoundTrip False True True 5,547.7 ns 60.18 ns 46.98 ns 0.0076 792 B
PredicateRoundTrip True False False 437.6 ns 0.28 ns 0.25 ns - 24 B
PredicateRoundTrip True False True 442.1 ns 0.37 ns 0.33 ns - 24 B
PredicateRoundTrip True True False 634.5 ns 2.13 ns 1.66 ns 0.0010 120 B
PredicateRoundTrip True True True 4,148.3 ns 18.59 ns 15.52 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 591.20 ns 1.281 ns 1.000 ns 0.0011 80 B
PredicateSustained False False True 595.13 ns 0.960 ns 0.749 ns 0.0011 80 B
PredicateSustained False True False 787.88 ns 5.573 ns 5.213 ns 0.0014 176 B
PredicateSustained False True True 4,281.81 ns 62.098 ns 78.534 ns 0.0100 768 B
PredicateSustained True False False 49.75 ns 0.708 ns 0.663 ns - -
PredicateSustained True False True 48.33 ns 0.021 ns 0.020 ns - -
PredicateSustained True True False 239.97 ns 0.422 ns 0.395 ns 0.0013 96 B
PredicateSustained True True True 3,602.90 ns 18.272 ns 17.091 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 548.2 ns 0.18 ns 0.16 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,115.2 ns 4.95 ns 3.86 ns 12.98 0.01 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,177.6 ns 1.20 ns 1.00 ns 2.15 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,213.7 ns 1.99 ns 1.86 ns 2.21 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,061.1 ns 18.51 ns 15.46 ns 16.53 0.03 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 542.7 ns 0.30 ns 0.25 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 564,496.8 ns 869.35 ns 770.66 ns 1,040.18 1.45 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,735.4 ns 8.09 ns 7.57 ns 3.20 0.01 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,763.4 ns 8.07 ns 7.55 ns 3.25 0.01 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 756,986.9 ns 553.19 ns 490.39 ns 1,394.87 1.07 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 547.0 ns 0.22 ns 0.20 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 58,751,255.4 ns 200,261.52 ns 187,324.75 ns 107,408.62 333.72 333.3333 222.2222 222.2222 16001576 B 46,516.21
InvokeIntArrayFixed 100000 44,392.5 ns 173.46 ns 153.77 ns 81.16 0.27 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 45,093.1 ns 457.02 ns 427.50 ns 82.44 0.76 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,199,695.2 ns 499,704.39 ns 467,423.80 ns 155,761.46 829.29 1000.0000 833.3333 833.3333 27894457 B 81,088.54

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.147 μs 0.0085 μs 0.0080 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.152 μs 0.0091 μs 0.0085 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.161 μs 0.0083 μs 0.0078 μ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 107.5 ns 0.02 ns 0.02 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 144.0 ns 0.03 ns 0.02 ns 1.34 0.0002 24 B 1.00
GetInstanceStringField 113.2 ns 0.02 ns 0.02 ns 1.05 - - 0.00
SetInstanceStringField 714.2 ns 0.52 ns 0.44 ns 6.64 0.0038 288 B 12.00
GetStaticIntField 119.8 ns 0.03 ns 0.03 ns 1.11 0.0002 24 B 1.00
SetStaticIntField 141.4 ns 0.04 ns 0.03 ns 1.32 0.0002 24 B 1.00
GetStaticStringField 112.9 ns 0.02 ns 0.02 ns 1.05 - - 0.00
SetStaticStringField 705.8 ns 0.59 ns 0.53 ns 6.57 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 151.1 ns 0.04 ns 0.04 ns 1.41 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.2 ns 0.06 ns 0.05 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 266.6 ns 0.10 ns 0.08 ns 0.87 - - NA
InvokeStaticWithFeedback 538.8 ns 0.38 ns 0.33 ns 1.77 0.0048 344 B NA
InvokeInstanceEmpty 308.5 ns 0.08 ns 0.07 ns 1.01 - - NA
InvokeInstanceWithFeedback 545.8 ns 0.30 ns 0.27 ns 1.79 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.323 μs 0.0010 μs 0.0009 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,041.6 ns 5.54 ns 5.18 ns - 104 B
PredicateRoundTrip False False True 1,045.8 ns 5.97 ns 5.58 ns - 104 B
PredicateRoundTrip False True False 1,230.8 ns 5.72 ns 5.35 ns 0.0019 200 B
PredicateRoundTrip False True True 4,689.3 ns 25.09 ns 23.47 ns 0.0076 792 B
PredicateRoundTrip True False False 433.0 ns 0.27 ns 0.24 ns - 24 B
PredicateRoundTrip True False True 440.1 ns 0.16 ns 0.14 ns - 24 B
PredicateRoundTrip True True False 629.6 ns 0.37 ns 0.32 ns 0.0010 120 B
PredicateRoundTrip True True True 3,941.4 ns 13.33 ns 12.47 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.58 ns 0.421 ns 0.328 ns - 80 B
PredicateSustained False False True 604.06 ns 0.352 ns 0.312 ns 0.0011 80 B
PredicateSustained False True False 812.78 ns 5.722 ns 5.353 ns 0.0014 176 B
PredicateSustained False True True 4,189.61 ns 18.095 ns 16.041 ns 0.0100 768 B
PredicateSustained True False False 51.14 ns 0.032 ns 0.029 ns - -
PredicateSustained True False True 51.30 ns 0.026 ns 0.025 ns - -
PredicateSustained True True False 246.46 ns 0.335 ns 0.313 ns 0.0013 96 B
PredicateSustained True True True 3,517.57 ns 9.646 ns 9.023 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 545.8 ns 0.25 ns 0.20 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,057.6 ns 10.09 ns 9.44 ns 12.93 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,196.9 ns 1.29 ns 1.08 ns 2.19 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,196.8 ns 1.23 ns 1.03 ns 2.19 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,844.2 ns 13.96 ns 12.38 ns 16.21 0.02 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 529.0 ns 0.67 ns 0.59 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 561,767.0 ns 1,045.65 ns 926.94 ns 1,061.98 2.05 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,742.2 ns 11.34 ns 10.61 ns 3.29 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,783.4 ns 8.07 ns 7.55 ns 3.37 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 733,023.4 ns 1,715.82 ns 1,432.79 ns 1,385.73 3.01 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 519.9 ns 0.40 ns 0.36 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,074,760.8 ns 210,421.30 ns 196,828.21 ns 113,623.50 374.33 333.3333 222.2222 222.2222 16001168 B 46,515.02
InvokeIntArrayFixed 100000 44,501.4 ns 168.71 ns 149.55 ns 85.59 0.28 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 44,751.3 ns 327.40 ns 306.25 ns 86.07 0.57 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 81,755,292.4 ns 1,111,137.49 ns 1,039,358.70 ns 157,246.89 1,938.74 666.6667 500.0000 500.0000 27894040 B 81,087.33

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.105 μs 0.0096 μs 0.0090 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.108 μs 0.0110 μs 0.0103 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.139 μs 0.0107 μs 0.0100 μs 1.03 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 102.8 ns 0.07 ns 0.07 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 148.6 ns 0.03 ns 0.03 ns 1.45 0.00 0.0002 24 B 1.00
GetInstanceStringField 116.2 ns 0.03 ns 0.02 ns 1.13 0.00 - - 0.00
SetInstanceStringField 714.9 ns 3.27 ns 3.05 ns 6.95 0.03 0.0038 288 B 12.00
GetStaticIntField 125.0 ns 0.04 ns 0.03 ns 1.22 0.00 0.0002 24 B 1.00
SetStaticIntField 149.1 ns 0.07 ns 0.06 ns 1.45 0.00 0.0002 24 B 1.00
GetStaticStringField 113.0 ns 0.03 ns 0.02 ns 1.10 0.00 - - 0.00
SetStaticStringField 718.2 ns 1.49 ns 1.40 ns 6.99 0.01 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 148.5 ns 0.05 ns 0.05 ns 1.44 0.00 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 304.0 ns 0.13 ns 0.13 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 269.6 ns 0.59 ns 0.55 ns 0.89 - - NA
InvokeStaticWithFeedback 523.6 ns 0.36 ns 0.32 ns 1.72 0.0048 344 B NA
InvokeInstanceEmpty 314.5 ns 0.12 ns 0.11 ns 1.03 - - NA
InvokeInstanceWithFeedback 548.0 ns 0.44 ns 0.37 ns 1.80 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.322 μs 0.0019 μs 0.0017 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,027.7 ns 5.64 ns 5.28 ns - 104 B
PredicateRoundTrip False False True 1,028.1 ns 6.14 ns 5.74 ns - 104 B
PredicateRoundTrip False True False 1,234.5 ns 3.51 ns 3.28 ns 0.0019 200 B
PredicateRoundTrip False True True 4,597.7 ns 14.61 ns 12.95 ns 0.0076 792 B
PredicateRoundTrip True False False 426.9 ns 0.35 ns 0.31 ns - 24 B
PredicateRoundTrip True False True 424.7 ns 0.30 ns 0.25 ns - 24 B
PredicateRoundTrip True True False 636.2 ns 0.59 ns 0.50 ns 0.0010 120 B
PredicateRoundTrip True True True 3,869.7 ns 10.27 ns 9.60 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 591.58 ns 0.365 ns 0.305 ns 0.0011 80 B
PredicateSustained False False True 602.06 ns 0.331 ns 0.294 ns 0.0011 80 B
PredicateSustained False True False 795.02 ns 6.692 ns 6.259 ns 0.0014 176 B
PredicateSustained False True True 4,257.79 ns 21.835 ns 20.425 ns 0.0100 768 B
PredicateSustained True False False 51.10 ns 0.994 ns 1.063 ns - -
PredicateSustained True False True 52.82 ns 1.040 ns 1.156 ns - -
PredicateSustained True True False 240.47 ns 0.361 ns 0.338 ns 0.0013 96 B
PredicateSustained True True True 3,444.01 ns 12.708 ns 11.266 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 551.2 ns 0.73 ns 0.65 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,102.3 ns 8.03 ns 7.12 ns 12.89 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,196.7 ns 1.61 ns 1.42 ns 2.17 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,195.3 ns 1.81 ns 1.69 ns 2.17 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,140.3 ns 25.51 ns 22.61 ns 16.58 0.04 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 541.4 ns 0.60 ns 0.50 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 558,565.9 ns 1,118.50 ns 1,046.24 ns 1,031.79 2.08 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,715.4 ns 4.84 ns 4.53 ns 3.17 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,604.8 ns 2.90 ns 2.71 ns 2.96 0.01 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 734,828.7 ns 1,079.87 ns 843.09 ns 1,357.38 1.92 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 543.6 ns 0.19 ns 0.15 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,204,821.4 ns 177,571.11 ns 157,412.16 ns 108,913.15 281.39 333.3333 222.2222 222.2222 16001209 B 46,515.14
InvokeIntArrayFixed 100000 45,155.3 ns 175.72 ns 137.19 ns 83.07 0.24 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 44,992.2 ns 316.72 ns 280.76 ns 82.77 0.50 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 84,723,337.7 ns 581,903.19 ns 544,312.61 ns 155,857.00 970.96 1000.0000 833.3333 833.3333 27894281 B 81,088.03

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.111 μs 0.0019 μs 0.0015 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.109 μs 0.0105 μs 0.0098 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.117 μs 0.0104 μs 0.0097 μs 1.01 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 108.0 ns 0.03 ns 0.03 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 146.1 ns 0.05 ns 0.05 ns 1.35 0.0002 24 B 1.00
GetInstanceStringField 115.0 ns 0.02 ns 0.02 ns 1.07 - - 0.00
SetInstanceStringField 697.8 ns 1.15 ns 1.02 ns 6.46 0.0038 288 B 12.00
GetStaticIntField 123.7 ns 0.03 ns 0.03 ns 1.15 0.0002 24 B 1.00
SetStaticIntField 143.3 ns 0.04 ns 0.03 ns 1.33 0.0002 24 B 1.00
GetStaticStringField 117.2 ns 0.03 ns 0.03 ns 1.09 - - 0.00
SetStaticStringField 701.1 ns 0.80 ns 0.74 ns 6.49 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 155.3 ns 0.11 ns 0.10 ns 1.44 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.10 ns 0.08 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 272.4 ns 0.15 ns 0.13 ns 0.87 - - NA
InvokeStaticWithFeedback 530.7 ns 0.28 ns 0.23 ns 1.70 0.0048 344 B NA
InvokeInstanceEmpty 313.4 ns 0.19 ns 0.18 ns 1.01 - - NA
InvokeInstanceWithFeedback 545.5 ns 0.67 ns 0.63 ns 1.75 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.0022 μs 0.0019 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,027.4 ns 5.32 ns 4.71 ns - 104 B
PredicateRoundTrip False False True 1,008.7 ns 0.69 ns 0.54 ns - 104 B
PredicateRoundTrip False True False 1,215.9 ns 0.86 ns 0.72 ns 0.0019 200 B
PredicateRoundTrip False True True 4,504.2 ns 14.27 ns 12.65 ns 0.0076 792 B
PredicateRoundTrip True False False 431.4 ns 0.85 ns 0.79 ns - 24 B
PredicateRoundTrip True False True 429.7 ns 0.63 ns 0.55 ns - 24 B
PredicateRoundTrip True True False 628.5 ns 1.68 ns 1.40 ns 0.0010 120 B
PredicateRoundTrip True True True 3,750.9 ns 7.66 ns 6.79 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 597.78 ns 0.564 ns 0.440 ns 0.0011 80 B
PredicateSustained False False True 623.76 ns 0.655 ns 0.511 ns - 80 B
PredicateSustained False True False 786.25 ns 5.603 ns 5.241 ns 0.0014 176 B
PredicateSustained False True True 4,068.25 ns 23.877 ns 18.642 ns 0.0100 768 B
PredicateSustained True False False 50.18 ns 0.968 ns 1.292 ns - -
PredicateSustained True False True 51.91 ns 1.013 ns 1.386 ns - -
PredicateSustained True True False 237.94 ns 0.522 ns 0.463 ns 0.0013 96 B
PredicateSustained True True True 4,175.40 ns 77.832 ns 92.653 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 533.9 ns 0.34 ns 0.30 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,254.1 ns 15.43 ns 14.43 ns 13.59 0.03 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,198.3 ns 2.47 ns 2.19 ns 2.24 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,205.7 ns 3.18 ns 2.97 ns 2.26 0.01 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,149.7 ns 19.42 ns 18.16 ns 17.14 0.03 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 535.3 ns 1.24 ns 1.16 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 569,080.5 ns 1,743.04 ns 1,630.44 ns 1,063.03 3.70 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,927.9 ns 5.87 ns 5.20 ns 3.60 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,934.6 ns 5.17 ns 4.31 ns 3.61 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 767,854.3 ns 453.55 ns 378.73 ns 1,434.33 3.09 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 529.2 ns 0.69 ns 0.58 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,345,262.3 ns 345,746.39 ns 323,411.39 ns 112,150.01 603.57 250.0000 125.0000 125.0000 16001217 B 46,515.17
InvokeIntArrayFixed 100000 60,874.1 ns 544.41 ns 509.24 ns 115.04 0.94 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,113.4 ns 295.97 ns 247.14 ns 113.60 0.47 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,118,263.5 ns 1,104,113.49 ns 978,767.85 ns 160,855.54 1,795.27 1000.0000 833.3333 833.3333 27894767 B 81,089.44

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.170 μs 0.0095 μs 0.0089 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.147 μs 0.0092 μs 0.0086 μs 0.98 0.0038 360 B 1.00
DeclaredNewEmpty 1.137 μs 0.0007 μs 0.0006 μs 0.97 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 106.6 ns 0.08 ns 0.07 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 147.5 ns 0.05 ns 0.04 ns 1.38 0.00 0.0002 24 B 1.00
GetInstanceStringField 115.8 ns 0.04 ns 0.04 ns 1.09 0.00 - - 0.00
SetInstanceStringField 727.6 ns 0.96 ns 0.90 ns 6.83 0.01 0.0038 288 B 12.00
GetStaticIntField 126.9 ns 0.06 ns 0.05 ns 1.19 0.00 0.0002 24 B 1.00
SetStaticIntField 153.9 ns 0.05 ns 0.04 ns 1.44 0.00 0.0002 24 B 1.00
GetStaticStringField 113.0 ns 0.03 ns 0.03 ns 1.06 0.00 - - 0.00
SetStaticStringField 710.2 ns 2.00 ns 1.87 ns 6.66 0.02 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 153.5 ns 0.04 ns 0.03 ns 1.44 0.00 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 386.1 ns 0.28 ns 0.26 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 350.5 ns 0.18 ns 0.15 ns 0.91 - - NA
InvokeStaticWithFeedback 547.6 ns 0.33 ns 0.30 ns 1.42 0.0048 344 B NA
InvokeInstanceEmpty 389.9 ns 0.10 ns 0.08 ns 1.01 - - NA
InvokeInstanceWithFeedback 545.3 ns 0.54 ns 0.48 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.329 μs 0.0013 μs 0.0010 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,046.8 ns 10.23 ns 9.57 ns - 104 B
PredicateRoundTrip False False True 1,033.4 ns 4.76 ns 4.22 ns - 104 B
PredicateRoundTrip False True False 1,254.8 ns 8.93 ns 8.36 ns 0.0019 200 B
PredicateRoundTrip False True True 4,680.1 ns 5.13 ns 4.55 ns 0.0076 792 B
PredicateRoundTrip True False False 435.7 ns 0.62 ns 0.58 ns - 24 B
PredicateRoundTrip True False True 431.4 ns 0.72 ns 0.63 ns - 24 B
PredicateRoundTrip True True False 631.1 ns 1.19 ns 1.11 ns 0.0010 120 B
PredicateRoundTrip True True True 4,031.3 ns 6.98 ns 6.19 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 624.89 ns 8.164 ns 7.637 ns - 80 B
PredicateSustained False False True 616.32 ns 0.445 ns 0.371 ns - 80 B
PredicateSustained False True False 801.07 ns 2.193 ns 1.712 ns 0.0014 176 B
PredicateSustained False True True 4,255.68 ns 13.319 ns 12.459 ns 0.0100 768 B
PredicateSustained True False False 62.29 ns 0.027 ns 0.024 ns - -
PredicateSustained True False True 59.20 ns 1.166 ns 1.198 ns - -
PredicateSustained True True False 250.63 ns 0.648 ns 0.606 ns 0.0013 96 B
PredicateSustained True True True 3,631.25 ns 17.184 ns 16.074 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 526.8 ns 0.22 ns 0.18 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,018.8 ns 7.97 ns 7.07 ns 13.32 0.01 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,184.7 ns 1.48 ns 1.32 ns 2.25 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,169.3 ns 1.44 ns 1.27 ns 2.22 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,410.5 ns 33.73 ns 31.55 ns 17.86 0.06 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 534.7 ns 0.28 ns 0.25 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 549,259.9 ns 1,357.12 ns 1,203.05 ns 1,027.23 2.22 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,900.7 ns 7.70 ns 7.20 ns 3.55 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,905.6 ns 5.30 ns 4.96 ns 3.56 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 758,088.3 ns 1,658.60 ns 1,385.01 ns 1,417.78 2.57 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 539.4 ns 0.54 ns 0.48 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 58,540,106.6 ns 137,688.58 ns 128,793.98 ns 108,521.47 249.46 333.3333 222.2222 222.2222 16001041 B 46,514.65
InvokeIntArrayFixed 100000 61,117.0 ns 311.14 ns 275.82 ns 113.30 0.50 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 61,459.5 ns 459.08 ns 406.96 ns 113.93 0.74 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,085,331.9 ns 596,534.99 ns 557,999.20 ns 157,730.92 1,010.94 666.6667 500.0000 500.0000 27894040 B 81,087.33

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
NewEmpty 1.155 μs 0.0112 μs 0.0105 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.136 μs 0.0118 μs 0.0111 μs 0.98 0.0038 360 B 1.00
DeclaredNewEmpty 1.137 μs 0.0092 μs 0.0086 μs 0.98 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 99.87 ns 0.041 ns 0.036 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 136.58 ns 0.054 ns 0.048 ns 1.37 0.0002 24 B 1.00
GetInstanceStringField 112.34 ns 0.034 ns 0.032 ns 1.12 - - 0.00
SetInstanceStringField 712.99 ns 1.121 ns 1.049 ns 7.14 0.0038 288 B 12.00
GetStaticIntField 112.87 ns 0.013 ns 0.011 ns 1.13 0.0004 24 B 1.00
SetStaticIntField 131.76 ns 0.036 ns 0.030 ns 1.32 0.0002 24 B 1.00
GetStaticStringField 100.13 ns 0.012 ns 0.010 ns 1.00 - - 0.00
SetStaticStringField 699.40 ns 0.826 ns 0.773 ns 7.00 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 143.86 ns 0.057 ns 0.051 ns 1.44 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 305.7 ns 0.10 ns 0.10 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 264.8 ns 0.17 ns 0.16 ns 0.87 - - NA
InvokeStaticWithFeedback 543.8 ns 0.28 ns 0.23 ns 1.78 0.0048 344 B NA
InvokeInstanceEmpty 312.6 ns 0.84 ns 0.79 ns 1.02 - - NA
InvokeInstanceWithFeedback 533.5 ns 0.34 ns 0.30 ns 1.75 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.303 μs 0.0016 μs 0.0015 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,011.7 ns 6.99 ns 6.54 ns - 104 B
PredicateRoundTrip False False True 1,017.5 ns 5.23 ns 4.64 ns - 104 B
PredicateRoundTrip False True False 1,216.7 ns 3.75 ns 3.51 ns 0.0019 200 B
PredicateRoundTrip False True True 4,607.3 ns 16.16 ns 15.11 ns 0.0076 792 B
PredicateRoundTrip True False False 428.0 ns 0.31 ns 0.28 ns - 24 B
PredicateRoundTrip True False True 425.8 ns 0.55 ns 0.48 ns - 24 B
PredicateRoundTrip True True False 622.7 ns 1.18 ns 0.92 ns 0.0010 120 B
PredicateRoundTrip True True True 4,187.4 ns 23.12 ns 21.63 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 571.52 ns 2.248 ns 1.993 ns 0.0011 80 B
PredicateSustained False False True 581.44 ns 0.383 ns 0.340 ns 0.0011 80 B
PredicateSustained False True False 763.49 ns 5.209 ns 4.872 ns 0.0014 176 B
PredicateSustained False True True 4,174.98 ns 18.118 ns 16.948 ns 0.0100 768 B
PredicateSustained True False False 50.99 ns 0.870 ns 0.966 ns - -
PredicateSustained True False True 51.76 ns 0.998 ns 0.980 ns - -
PredicateSustained True True False 240.73 ns 0.252 ns 0.224 ns 0.0013 96 B
PredicateSustained True True True 3,869.40 ns 60.754 ns 56.830 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 529.2 ns 1.24 ns 1.16 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 6,998.6 ns 12.99 ns 12.15 ns 13.23 0.04 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,165.1 ns 1.47 ns 1.31 ns 2.20 0.01 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,180.5 ns 1.01 ns 0.84 ns 2.23 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,839.7 ns 31.19 ns 27.65 ns 16.70 0.06 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 540.7 ns 0.78 ns 0.69 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 561,322.3 ns 1,716.43 ns 1,605.55 ns 1,038.11 3.15 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,880.6 ns 17.94 ns 16.78 ns 3.48 0.03 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,906.7 ns 9.76 ns 9.13 ns 3.53 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 737,967.9 ns 1,700.84 ns 1,590.96 ns 1,364.80 3.31 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 533.8 ns 0.75 ns 0.67 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,087,122.8 ns 204,755.58 ns 191,528.50 ns 110,687.46 372.17 333.3333 222.2222 222.2222 16000822 B 46,514.02
InvokeIntArrayFixed 100000 61,133.1 ns 385.97 ns 361.04 ns 114.52 0.67 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 61,199.9 ns 626.89 ns 586.40 ns 114.65 1.07 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 82,285,014.8 ns 544,608.45 ns 454,772.72 ns 154,143.89 841.53 666.6667 500.0000 500.0000 27894040 B 81,087.33

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.098 μs 0.0107 μs 0.0100 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.105 μs 0.0099 μs 0.0093 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.111 μs 0.0092 μs 0.0086 μ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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 111.1 ns 0.03 ns 0.03 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 159.0 ns 0.03 ns 0.03 ns 1.43 0.00 0.0002 24 B 1.00
GetInstanceStringField 115.0 ns 0.04 ns 0.03 ns 1.03 0.00 - - 0.00
SetInstanceStringField 713.9 ns 2.32 ns 2.17 ns 6.42 0.02 0.0038 288 B 12.00
GetStaticIntField 122.9 ns 0.04 ns 0.04 ns 1.11 0.00 0.0002 24 B 1.00
SetStaticIntField 146.2 ns 0.04 ns 0.03 ns 1.32 0.00 0.0002 24 B 1.00
GetStaticStringField 112.8 ns 0.11 ns 0.11 ns 1.01 0.00 - - 0.00
SetStaticStringField 720.8 ns 5.90 ns 5.52 ns 6.49 0.05 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 160.9 ns 0.21 ns 0.20 ns 1.45 0.00 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 309.5 ns 0.23 ns 0.21 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 276.3 ns 0.17 ns 0.15 ns 0.89 - - NA
InvokeStaticWithFeedback 530.4 ns 1.13 ns 0.94 ns 1.71 0.0048 344 B NA
InvokeInstanceEmpty 315.3 ns 0.09 ns 0.08 ns 1.02 - - NA
InvokeInstanceWithFeedback 536.4 ns 0.41 ns 0.37 ns 1.73 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.315 μs 0.0016 μs 0.0014 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,001.8 ns 4.97 ns 4.41 ns - 104 B
PredicateRoundTrip False False True 1,002.7 ns 7.20 ns 6.74 ns - 104 B
PredicateRoundTrip False True False 1,199.1 ns 6.11 ns 5.42 ns 0.0019 200 B
PredicateRoundTrip False True True 4,409.5 ns 8.91 ns 8.33 ns 0.0076 792 B
PredicateRoundTrip True False False 418.4 ns 1.19 ns 1.05 ns - 24 B
PredicateRoundTrip True False True 419.8 ns 0.32 ns 0.29 ns - 24 B
PredicateRoundTrip True True False 617.5 ns 0.78 ns 0.65 ns 0.0010 120 B
PredicateRoundTrip True True True 3,810.1 ns 7.94 ns 7.42 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 581.47 ns 0.833 ns 0.780 ns 0.0011 80 B
PredicateSustained False False True 580.69 ns 0.697 ns 0.582 ns 0.0011 80 B
PredicateSustained False True False 773.03 ns 5.465 ns 4.563 ns 0.0014 176 B
PredicateSustained False True True 3,979.09 ns 11.688 ns 10.361 ns 0.0100 768 B
PredicateSustained True False False 51.31 ns 0.978 ns 1.201 ns - -
PredicateSustained True False True 51.58 ns 1.012 ns 1.166 ns - -
PredicateSustained True True False 239.85 ns 0.360 ns 0.319 ns 0.0013 96 B
PredicateSustained True True True 3,535.18 ns 34.834 ns 32.584 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 542.9 ns 0.25 ns 0.21 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 6,953.2 ns 8.24 ns 7.30 ns 12.81 0.01 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,208.4 ns 1.52 ns 1.27 ns 2.23 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,194.4 ns 1.35 ns 1.19 ns 2.20 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,622.2 ns 48.63 ns 45.49 ns 17.72 0.08 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 544.1 ns 0.59 ns 0.53 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 566,262.2 ns 1,322.07 ns 1,236.66 ns 1,040.73 2.41 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,894.6 ns 5.60 ns 4.97 ns 3.48 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,916.3 ns 6.55 ns 6.13 ns 3.52 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 732,982.9 ns 1,269.13 ns 1,059.78 ns 1,347.14 2.26 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 553.1 ns 0.21 ns 0.18 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 58,689,156.0 ns 266,576.07 ns 236,312.74 ns 106,103.77 414.12 333.3333 222.2222 222.2222 16000852 B 46,514.10
InvokeIntArrayFixed 100000 60,084.0 ns 372.59 ns 330.29 ns 108.63 0.58 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,191.5 ns 358.03 ns 317.39 ns 108.82 0.56 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,758,484.8 ns 567,556.51 ns 530,892.71 ns 155,042.24 930.87 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.135 μs 0.0069 μs 0.0065 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.119 μs 0.0056 μs 0.0053 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.141 μs 0.0035 μs 0.0027 μ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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 108.9 ns 0.03 ns 0.03 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 146.7 ns 0.03 ns 0.02 ns 1.35 0.00 0.0002 24 B 1.00
GetInstanceStringField 116.0 ns 0.03 ns 0.02 ns 1.06 0.00 - - 0.00
SetInstanceStringField 708.0 ns 2.45 ns 2.29 ns 6.50 0.02 0.0038 288 B 12.00
GetStaticIntField 123.6 ns 0.06 ns 0.06 ns 1.13 0.00 0.0002 24 B 1.00
SetStaticIntField 148.3 ns 0.04 ns 0.04 ns 1.36 0.00 0.0002 24 B 1.00
GetStaticStringField 113.3 ns 0.07 ns 0.07 ns 1.04 0.00 - - 0.00
SetStaticStringField 704.3 ns 1.12 ns 1.05 ns 6.47 0.01 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 148.0 ns 0.04 ns 0.04 ns 1.36 0.00 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 302.2 ns 0.06 ns 0.06 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 267.6 ns 0.11 ns 0.10 ns 0.89 - - NA
InvokeStaticWithFeedback 534.4 ns 0.55 ns 0.51 ns 1.77 0.0048 344 B NA
InvokeInstanceEmpty 314.4 ns 0.16 ns 0.15 ns 1.04 - - NA
InvokeInstanceWithFeedback 562.8 ns 0.57 ns 0.50 ns 1.86 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.323 μs 0.0017 μs 0.0014 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,014.5 ns 1.00 ns 0.84 ns - 104 B
PredicateRoundTrip False False True 1,017.0 ns 4.24 ns 3.76 ns - 104 B
PredicateRoundTrip False True False 1,246.5 ns 3.33 ns 3.12 ns 0.0019 200 B
PredicateRoundTrip False True True 4,449.6 ns 37.58 ns 29.34 ns 0.0076 792 B
PredicateRoundTrip True False False 430.9 ns 0.41 ns 0.36 ns - 24 B
PredicateRoundTrip True False True 436.1 ns 0.30 ns 0.25 ns - 24 B
PredicateRoundTrip True True False 626.1 ns 4.19 ns 3.92 ns 0.0010 120 B
PredicateRoundTrip True True True 3,681.7 ns 20.97 ns 19.61 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 578.39 ns 0.785 ns 0.613 ns 0.0011 80 B
PredicateSustained False False True 579.29 ns 2.948 ns 2.758 ns 0.0011 80 B
PredicateSustained False True False 773.76 ns 3.381 ns 2.824 ns 0.0014 176 B
PredicateSustained False True True 3,942.72 ns 24.365 ns 22.791 ns 0.0100 768 B
PredicateSustained True False False 49.11 ns 0.318 ns 0.297 ns - -
PredicateSustained True False True 49.09 ns 0.933 ns 0.998 ns - -
PredicateSustained True True False 237.20 ns 0.315 ns 0.295 ns 0.0013 96 B
PredicateSustained True True True 3,303.43 ns 32.762 ns 30.646 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 550.6 ns 0.30 ns 0.27 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,080.7 ns 8.21 ns 7.28 ns 12.86 0.01 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,199.8 ns 1.97 ns 1.74 ns 2.18 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,211.7 ns 1.84 ns 1.72 ns 2.20 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,248.8 ns 24.23 ns 22.66 ns 16.80 0.04 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 548.2 ns 0.43 ns 0.38 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 564,871.1 ns 1,158.55 ns 1,083.70 ns 1,030.47 2.04 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,911.4 ns 11.32 ns 10.59 ns 3.49 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,907.4 ns 5.75 ns 5.38 ns 3.48 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 753,161.1 ns 943.33 ns 787.73 ns 1,373.96 1.67 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 552.6 ns 0.51 ns 0.43 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,280,738.1 ns 149,150.89 ns 139,515.83 ns 107,275.00 257.29 333.3333 222.2222 222.2222 16000700 B 46,513.66
InvokeIntArrayFixed 100000 60,417.9 ns 170.36 ns 151.02 ns 109.33 0.28 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,464.8 ns 281.62 ns 249.65 ns 109.42 0.44 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 83,513,760.4 ns 478,844.09 ns 373,849.97 ns 151,127.31 659.52 666.6667 500.0000 500.0000 27894040 B 81,087.33

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.132 μs 0.0095 μs 0.0089 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.145 μs 0.0089 μs 0.0083 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.141 μs 0.0082 μs 0.0077 μ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 103.8 ns 0.05 ns 0.04 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 146.9 ns 0.05 ns 0.04 ns 1.41 0.0002 24 B 1.00
GetInstanceStringField 115.3 ns 0.02 ns 0.02 ns 1.11 - - 0.00
SetInstanceStringField 717.5 ns 1.08 ns 1.01 ns 6.91 0.0038 288 B 12.00
GetStaticIntField 120.6 ns 0.03 ns 0.03 ns 1.16 0.0002 24 B 1.00
SetStaticIntField 144.0 ns 0.05 ns 0.05 ns 1.39 0.0002 24 B 1.00
GetStaticStringField 114.4 ns 0.03 ns 0.03 ns 1.10 - - 0.00
SetStaticStringField 701.9 ns 0.98 ns 0.92 ns 6.76 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 150.8 ns 0.05 ns 0.04 ns 1.45 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 306.1 ns 0.06 ns 0.05 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 265.7 ns 0.07 ns 0.07 ns 0.87 - - NA
InvokeStaticWithFeedback 548.6 ns 0.64 ns 0.53 ns 1.79 0.0048 344 B NA
InvokeInstanceEmpty 306.9 ns 0.11 ns 0.11 ns 1.00 - - NA
InvokeInstanceWithFeedback 547.9 ns 0.40 ns 0.35 ns 1.79 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.314 μs 0.0043 μs 0.0038 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,041.6 ns 4.44 ns 3.94 ns - 104 B
PredicateRoundTrip False False True 1,031.1 ns 3.92 ns 3.48 ns - 104 B
PredicateRoundTrip False True False 1,241.3 ns 5.56 ns 5.20 ns 0.0019 200 B
PredicateRoundTrip False True True 4,978.1 ns 16.06 ns 15.03 ns 0.0076 792 B
PredicateRoundTrip True False False 432.9 ns 2.38 ns 2.22 ns - 24 B
PredicateRoundTrip True False True 437.0 ns 0.59 ns 0.52 ns - 24 B
PredicateRoundTrip True True False 625.5 ns 0.71 ns 0.63 ns 0.0010 120 B
PredicateRoundTrip True True True 4,036.9 ns 18.00 ns 16.84 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 601.49 ns 0.823 ns 0.770 ns 0.0011 80 B
PredicateSustained False False True 603.81 ns 5.063 ns 3.953 ns - 80 B
PredicateSustained False True False 784.57 ns 5.694 ns 5.326 ns 0.0014 176 B
PredicateSustained False True True 4,310.44 ns 32.927 ns 30.800 ns 0.0100 768 B
PredicateSustained True False False 50.87 ns 1.015 ns 0.900 ns - -
PredicateSustained True False True 51.76 ns 1.075 ns 1.006 ns - -
PredicateSustained True True False 239.49 ns 0.375 ns 0.351 ns 0.0013 96 B
PredicateSustained True True True 3,660.45 ns 33.426 ns 31.266 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 527.8 ns 0.36 ns 0.30 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,069.0 ns 6.31 ns 5.60 ns 13.39 0.01 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,198.2 ns 1.61 ns 1.43 ns 2.27 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,203.2 ns 2.72 ns 2.54 ns 2.28 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,899.0 ns 30.37 ns 28.40 ns 16.86 0.05 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 537.1 ns 0.35 ns 0.31 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 578,933.9 ns 1,406.36 ns 1,315.51 ns 1,077.95 2.45 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,928.5 ns 8.06 ns 7.53 ns 3.59 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,905.1 ns 8.35 ns 7.81 ns 3.55 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 743,145.5 ns 1,714.78 ns 1,338.79 ns 1,383.70 2.52 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 534.8 ns 0.47 ns 0.41 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,325,293.9 ns 142,466.59 ns 133,263.34 ns 110,926.47 255.11 250.0000 125.0000 125.0000 16000530 B 46,513.17
InvokeIntArrayFixed 100000 60,218.3 ns 206.30 ns 172.27 ns 112.60 0.32 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,523.9 ns 375.15 ns 350.91 ns 113.17 0.64 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 82,549,316.9 ns 609,238.00 ns 569,881.61 ns 154,350.76 1,038.30 666.6667 500.0000 500.0000 27894040 B 81,087.33

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.118 μs 0.0093 μs 0.0083 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.111 μs 0.0114 μs 0.0106 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.115 μs 0.0109 μs 0.0102 μs 1.00 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 107.6 ns 0.04 ns 0.04 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 149.2 ns 0.03 ns 0.02 ns 1.39 0.0002 24 B 1.00
GetInstanceStringField 114.1 ns 0.06 ns 0.06 ns 1.06 - - 0.00
SetInstanceStringField 709.8 ns 0.79 ns 0.70 ns 6.60 0.0038 288 B 12.00
GetStaticIntField 124.8 ns 0.02 ns 0.02 ns 1.16 0.0002 24 B 1.00
SetStaticIntField 150.8 ns 0.06 ns 0.05 ns 1.40 0.0002 24 B 1.00
GetStaticStringField 116.6 ns 0.06 ns 0.05 ns 1.08 - - 0.00
SetStaticStringField 707.2 ns 0.88 ns 0.83 ns 6.57 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 154.6 ns 0.04 ns 0.03 ns 1.44 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 305.9 ns 0.15 ns 0.14 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 270.9 ns 0.10 ns 0.10 ns 0.89 - - NA
InvokeStaticWithFeedback 525.6 ns 0.32 ns 0.27 ns 1.72 0.0048 344 B NA
InvokeInstanceEmpty 325.5 ns 0.16 ns 0.15 ns 1.06 - - NA
InvokeInstanceWithFeedback 556.7 ns 0.13 ns 0.11 ns 1.82 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.323 μs 0.0015 μs 0.0013 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 996.9 ns 5.45 ns 5.10 ns - 104 B
PredicateRoundTrip False False True 1,005.7 ns 6.35 ns 5.94 ns - 104 B
PredicateRoundTrip False True False 1,222.2 ns 6.04 ns 5.35 ns 0.0019 200 B
PredicateRoundTrip False True True 4,451.1 ns 9.27 ns 8.67 ns 0.0076 792 B
PredicateRoundTrip True False False 436.1 ns 0.62 ns 0.58 ns - 24 B
PredicateRoundTrip True False True 422.0 ns 0.29 ns 0.27 ns - 24 B
PredicateRoundTrip True True False 615.3 ns 0.67 ns 0.59 ns 0.0010 120 B
PredicateRoundTrip True True True 3,835.4 ns 12.06 ns 11.28 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 602.08 ns 0.339 ns 0.283 ns 0.0011 80 B
PredicateSustained False False True 590.25 ns 0.377 ns 0.314 ns 0.0011 80 B
PredicateSustained False True False 779.76 ns 6.172 ns 5.773 ns 0.0014 176 B
PredicateSustained False True True 4,177.98 ns 11.457 ns 10.717 ns 0.0100 768 B
PredicateSustained True False False 52.46 ns 0.978 ns 1.004 ns - -
PredicateSustained True False True 51.88 ns 0.779 ns 0.729 ns - -
PredicateSustained True True False 241.87 ns 0.320 ns 0.299 ns 0.0013 96 B
PredicateSustained True True True 3,589.06 ns 36.088 ns 33.757 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 538.2 ns 0.30 ns 0.27 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,059.3 ns 18.29 ns 17.10 ns 13.12 0.03 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,182.5 ns 1.52 ns 1.35 ns 2.20 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,182.3 ns 1.91 ns 1.69 ns 2.20 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,166.2 ns 35.07 ns 32.80 ns 17.03 0.06 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 542.8 ns 0.34 ns 0.30 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 565,161.0 ns 1,521.45 ns 1,423.16 ns 1,041.20 2.60 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,898.7 ns 16.74 ns 15.66 ns 3.50 0.03 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,879.4 ns 20.92 ns 19.57 ns 3.46 0.03 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 730,291.1 ns 1,565.61 ns 1,307.36 ns 1,345.42 2.43 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 545.2 ns 0.43 ns 0.41 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 58,886,388.6 ns 169,473.09 ns 158,525.24 ns 108,003.62 292.03 333.3333 222.2222 222.2222 16001988 B 46,517.41
InvokeIntArrayFixed 100000 60,455.7 ns 563.41 ns 527.02 ns 110.88 0.94 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,316.2 ns 633.23 ns 592.33 ns 110.63 1.05 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,203,543.4 ns 731,893.99 ns 684,614.09 ns 156,271.95 1,220.96 1000.0000 833.3333 833.3333 27894360 B 81,088.26

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.121 μs 0.0072 μs 0.0063 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.123 μs 0.0077 μs 0.0072 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.117 μ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 110.9 ns 0.02 ns 0.02 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 152.2 ns 0.07 ns 0.06 ns 1.37 0.0002 24 B 1.00
GetInstanceStringField 115.1 ns 0.02 ns 0.02 ns 1.04 - - 0.00
SetInstanceStringField 703.1 ns 1.11 ns 1.04 ns 6.34 0.0038 288 B 12.00
GetStaticIntField 122.1 ns 0.03 ns 0.03 ns 1.10 0.0002 24 B 1.00
SetStaticIntField 150.8 ns 0.10 ns 0.09 ns 1.36 0.0002 24 B 1.00
GetStaticStringField 109.2 ns 0.02 ns 0.01 ns 0.98 - - 0.00
SetStaticStringField 689.7 ns 0.69 ns 0.65 ns 6.22 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 156.5 ns 0.13 ns 0.11 ns 1.41 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 305.1 ns 0.15 ns 0.14 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 270.3 ns 0.15 ns 0.14 ns 0.89 - - NA
InvokeStaticWithFeedback 533.7 ns 0.36 ns 0.32 ns 1.75 0.0048 344 B NA
InvokeInstanceEmpty 309.2 ns 0.14 ns 0.13 ns 1.01 - - NA
InvokeInstanceWithFeedback 544.5 ns 0.19 ns 0.17 ns 1.78 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.321 μs 0.0029 μs 0.0027 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,023.7 ns 2.12 ns 1.88 ns - 104 B
PredicateRoundTrip False False True 1,029.2 ns 0.73 ns 0.57 ns - 104 B
PredicateRoundTrip False True False 1,215.2 ns 1.05 ns 0.82 ns 0.0019 200 B
PredicateRoundTrip False True True 4,395.8 ns 7.59 ns 5.92 ns 0.0076 792 B
PredicateRoundTrip True False False 428.6 ns 0.64 ns 0.60 ns - 24 B
PredicateRoundTrip True False True 436.1 ns 0.27 ns 0.25 ns - 24 B
PredicateRoundTrip True True False 624.3 ns 0.95 ns 0.74 ns 0.0010 120 B
PredicateRoundTrip True True True 3,758.6 ns 4.02 ns 3.35 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 589.99 ns 0.589 ns 0.460 ns 0.0011 80 B
PredicateSustained False False True 590.83 ns 2.148 ns 1.793 ns 0.0011 80 B
PredicateSustained False True False 792.86 ns 5.730 ns 5.360 ns 0.0014 176 B
PredicateSustained False True True 4,216.95 ns 15.290 ns 15.017 ns 0.0100 768 B
PredicateSustained True False False 50.52 ns 0.317 ns 0.296 ns - -
PredicateSustained True False True 52.10 ns 0.292 ns 0.244 ns - -
PredicateSustained True True False 236.89 ns 0.374 ns 0.331 ns 0.0013 96 B
PredicateSustained True True True 3,315.12 ns 38.446 ns 35.963 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 540.3 ns 0.61 ns 0.57 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,209.6 ns 14.99 ns 13.29 ns 13.34 0.03 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,234.4 ns 2.01 ns 1.88 ns 2.28 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,236.5 ns 2.67 ns 2.50 ns 2.29 0.01 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,076.3 ns 24.49 ns 22.91 ns 16.80 0.04 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 542.8 ns 0.52 ns 0.46 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 595,307.1 ns 982.67 ns 919.19 ns 1,096.79 1.87 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 2,005.9 ns 2.20 ns 1.84 ns 3.70 0.00 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,023.6 ns 5.50 ns 5.15 ns 3.73 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 756,209.7 ns 841.36 ns 745.85 ns 1,393.24 1.75 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 542.0 ns 0.84 ns 0.75 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 61,652,973.9 ns 365,540.55 ns 341,926.85 ns 113,750.66 629.34 250.0000 125.0000 125.0000 16001355 B 46,515.57
InvokeIntArrayFixed 100000 61,414.7 ns 303.42 ns 268.97 ns 113.31 0.50 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 61,716.4 ns 387.29 ns 362.27 ns 113.87 0.66 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,452,549.0 ns 563,793.57 ns 499,788.31 ns 157,661.23 915.15 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.160 μs 0.0021 μs 0.0017 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.170 μs 0.0119 μs 0.0112 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.156 μs 0.0021 μs 0.0016 μs 1.00 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 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 147.5 ns 0.07 ns 0.06 ns 1.37 0.00 0.0002 24 B 1.00
GetInstanceStringField 123.9 ns 0.28 ns 0.26 ns 1.15 0.00 - - 0.00
SetInstanceStringField 750.1 ns 3.46 ns 3.23 ns 6.96 0.03 0.0038 288 B 12.00
GetStaticIntField 129.7 ns 0.04 ns 0.04 ns 1.20 0.00 0.0002 24 B 1.00
SetStaticIntField 155.5 ns 0.09 ns 0.08 ns 1.44 0.00 0.0002 24 B 1.00
GetStaticStringField 118.5 ns 0.05 ns 0.05 ns 1.10 0.00 - - 0.00
SetStaticStringField 733.5 ns 2.01 ns 1.88 ns 6.80 0.02 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 152.4 ns 0.10 ns 0.09 ns 1.41 0.00 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 380.2 ns 0.23 ns 0.21 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 346.5 ns 0.21 ns 0.20 ns 0.91 - - NA
InvokeStaticWithFeedback 536.8 ns 0.49 ns 0.41 ns 1.41 0.0048 344 B NA
InvokeInstanceEmpty 399.8 ns 0.35 ns 0.33 ns 1.05 - - NA
InvokeInstanceWithFeedback 562.6 ns 0.51 ns 0.45 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.336 μs 0.0023 μs 0.0020 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,066.9 ns 7.47 ns 6.98 ns - 104 B
PredicateRoundTrip False False True 1,065.2 ns 7.01 ns 6.56 ns - 104 B
PredicateRoundTrip False True False 1,279.5 ns 8.01 ns 7.49 ns 0.0019 200 B
PredicateRoundTrip False True True 4,686.3 ns 19.00 ns 17.78 ns 0.0076 792 B
PredicateRoundTrip True False False 455.5 ns 0.53 ns 0.44 ns - 24 B
PredicateRoundTrip True False True 449.1 ns 0.93 ns 0.82 ns - 24 B
PredicateRoundTrip True True False 645.5 ns 0.40 ns 0.33 ns 0.0010 120 B
PredicateRoundTrip True True True 4,002.6 ns 14.68 ns 13.74 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 617.71 ns 1.311 ns 1.226 ns - 80 B
PredicateSustained False False True 619.41 ns 1.103 ns 0.921 ns - 80 B
PredicateSustained False True False 814.11 ns 7.773 ns 7.271 ns 0.0014 176 B
PredicateSustained False True True 4,280.89 ns 11.521 ns 10.777 ns 0.0100 768 B
PredicateSustained True False False 58.98 ns 1.120 ns 1.289 ns - -
PredicateSustained True False True 59.24 ns 1.126 ns 1.157 ns - -
PredicateSustained True True False 249.68 ns 0.398 ns 0.372 ns 0.0013 96 B
PredicateSustained True True True 3,572.99 ns 16.527 ns 15.459 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 531.1 ns 0.26 ns 0.23 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,138.4 ns 10.64 ns 9.43 ns 13.44 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,194.2 ns 1.42 ns 1.19 ns 2.25 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,191.0 ns 2.25 ns 2.11 ns 2.24 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,680.3 ns 51.98 ns 48.62 ns 18.23 0.09 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 532.2 ns 0.76 ns 0.63 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 570,531.2 ns 1,744.85 ns 1,632.14 ns 1,072.09 3.21 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,920.2 ns 9.01 ns 8.43 ns 3.61 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,934.8 ns 8.46 ns 7.91 ns 3.64 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 756,379.9 ns 1,421.37 ns 1,260.00 ns 1,421.32 2.81 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 534.9 ns 1.56 ns 1.46 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,010,908.3 ns 277,205.72 ns 259,298.40 ns 112,195.20 555.16 250.0000 125.0000 125.0000 16000911 B 46,514.28
InvokeIntArrayFixed 100000 61,504.4 ns 358.50 ns 299.36 ns 114.99 0.62 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 61,795.4 ns 278.60 ns 246.97 ns 115.53 0.54 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,889,324.9 ns 540,691.59 ns 505,763.24 ns 160,576.98 1,009.07 666.6667 500.0000 500.0000 27894040 B 81,087.33

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 RatioSD Gen0 Allocated Alloc Ratio
NewEmpty 1.155 μs 0.0134 μs 0.0125 μs 1.00 0.01 0.0038 360 B 1.00
NewWithSignature 1.158 μs 0.0143 μs 0.0134 μs 1.00 0.02 0.0038 360 B 1.00
DeclaredNewEmpty 1.136 μs 0.0110 μs 0.0103 μs 0.98 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 98.62 ns 0.032 ns 0.028 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 151.51 ns 0.029 ns 0.026 ns 1.54 0.0002 24 B 1.00
GetInstanceStringField 112.81 ns 0.031 ns 0.028 ns 1.14 - - 0.00
SetInstanceStringField 712.44 ns 1.470 ns 1.375 ns 7.22 0.0038 288 B 12.00
GetStaticIntField 111.05 ns 0.118 ns 0.110 ns 1.13 0.0004 24 B 1.00
SetStaticIntField 135.47 ns 0.073 ns 0.065 ns 1.37 0.0002 24 B 1.00
GetStaticStringField 105.74 ns 0.019 ns 0.017 ns 1.07 - - 0.00
SetStaticStringField 707.50 ns 1.177 ns 1.101 ns 7.17 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 148.50 ns 0.057 ns 0.050 ns 1.51 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 288.2 ns 0.06 ns 0.05 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 259.7 ns 0.06 ns 0.06 ns 0.90 - - NA
InvokeStaticWithFeedback 532.9 ns 0.43 ns 0.38 ns 1.85 0.0048 344 B NA
InvokeInstanceEmpty 305.0 ns 0.08 ns 0.07 ns 1.06 - - NA
InvokeInstanceWithFeedback 541.0 ns 0.59 ns 0.53 ns 1.88 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.359 μs 0.0017 μs 0.0015 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 997.0 ns 3.05 ns 2.55 ns - 104 B
PredicateRoundTrip False False True 1,009.2 ns 6.18 ns 5.48 ns - 104 B
PredicateRoundTrip False True False 1,199.8 ns 7.43 ns 6.95 ns 0.0019 200 B
PredicateRoundTrip False True True 4,581.8 ns 11.42 ns 10.68 ns 0.0076 792 B
PredicateRoundTrip True False False 411.4 ns 0.66 ns 0.62 ns - 24 B
PredicateRoundTrip True False True 423.1 ns 0.65 ns 0.57 ns - 24 B
PredicateRoundTrip True True False 633.5 ns 1.34 ns 1.05 ns 0.0010 120 B
PredicateRoundTrip True True True 3,981.8 ns 18.83 ns 16.69 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 570.01 ns 1.128 ns 0.942 ns 0.0011 80 B
PredicateSustained False False True 572.72 ns 1.303 ns 1.219 ns 0.0011 80 B
PredicateSustained False True False 775.89 ns 7.397 ns 6.919 ns 0.0014 176 B
PredicateSustained False True True 4,163.23 ns 13.359 ns 12.496 ns 0.0100 768 B
PredicateSustained True False False 52.15 ns 1.033 ns 1.306 ns - -
PredicateSustained True False True 51.74 ns 0.980 ns 0.962 ns - -
PredicateSustained True True False 242.91 ns 0.828 ns 0.734 ns 0.0013 96 B
PredicateSustained True True True 3,645.34 ns 29.821 ns 27.894 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.73 ns 0.68 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,052.9 ns 9.21 ns 8.17 ns 13.17 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,176.2 ns 3.32 ns 3.11 ns 2.20 0.01 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,203.8 ns 1.75 ns 1.64 ns 2.25 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,876.3 ns 27.82 ns 26.02 ns 16.58 0.05 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 539.1 ns 0.37 ns 0.33 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 559,418.0 ns 745.20 ns 622.28 ns 1,037.78 1.27 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,907.9 ns 6.18 ns 5.78 ns 3.54 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,891.1 ns 5.83 ns 5.45 ns 3.51 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 732,153.6 ns 1,525.00 ns 1,273.45 ns 1,358.22 2.41 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 532.4 ns 0.31 ns 0.27 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 58,814,415.4 ns 164,279.24 ns 153,666.91 ns 110,461.85 284.78 333.3333 222.2222 222.2222 16001900 B 46,517.15
InvokeIntArrayFixed 100000 60,305.8 ns 297.80 ns 263.99 ns 113.26 0.48 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,063.6 ns 177.51 ns 157.35 ns 112.81 0.29 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 83,933,692.0 ns 1,191,571.01 ns 1,114,596.27 ns 157,639.43 2,028.72 1000.0000 833.3333 833.3333 27894277 B 81,088.01

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 RatioSD Gen0 Allocated Alloc Ratio
NewEmpty 1.118 μs 0.0140 μs 0.0124 μs 1.00 0.02 0.0038 360 B 1.00
NewWithSignature 1.116 μs 0.0136 μs 0.0128 μs 1.00 0.02 0.0038 360 B 1.00
DeclaredNewEmpty 1.124 μs 0.0176 μs 0.0164 μs 1.01 0.02 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 111.7 ns 0.05 ns 0.04 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 158.0 ns 0.04 ns 0.03 ns 1.41 0.0002 24 B 1.00
GetInstanceStringField 114.9 ns 0.07 ns 0.07 ns 1.03 - - 0.00
SetInstanceStringField 707.9 ns 0.93 ns 0.83 ns 6.34 0.0038 288 B 12.00
GetStaticIntField 121.9 ns 0.03 ns 0.02 ns 1.09 0.0002 24 B 1.00
SetStaticIntField 145.7 ns 0.04 ns 0.04 ns 1.30 0.0002 24 B 1.00
GetStaticStringField 116.9 ns 0.05 ns 0.05 ns 1.05 - - 0.00
SetStaticStringField 706.0 ns 1.14 ns 1.06 ns 6.32 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 160.5 ns 0.07 ns 0.05 ns 1.44 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 308.6 ns 0.12 ns 0.10 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 271.5 ns 0.12 ns 0.11 ns 0.88 - - NA
InvokeStaticWithFeedback 522.9 ns 0.42 ns 0.37 ns 1.69 0.0048 344 B NA
InvokeInstanceEmpty 312.0 ns 0.17 ns 0.16 ns 1.01 - - NA
InvokeInstanceWithFeedback 534.1 ns 0.43 ns 0.38 ns 1.73 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.308 μs 0.0019 μs 0.0018 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,025.9 ns 7.08 ns 6.63 ns - 104 B
PredicateRoundTrip False False True 994.6 ns 7.37 ns 6.89 ns - 104 B
PredicateRoundTrip False True False 1,208.8 ns 9.67 ns 9.05 ns 0.0019 200 B
PredicateRoundTrip False True True 4,450.9 ns 22.31 ns 20.87 ns 0.0076 792 B
PredicateRoundTrip True False False 423.0 ns 0.28 ns 0.25 ns - 24 B
PredicateRoundTrip True False True 419.2 ns 0.30 ns 0.27 ns - 24 B
PredicateRoundTrip True True False 620.7 ns 2.13 ns 1.66 ns 0.0010 120 B
PredicateRoundTrip True True True 4,047.3 ns 21.17 ns 19.80 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 592.39 ns 0.237 ns 0.198 ns 0.0011 80 B
PredicateSustained False False True 577.50 ns 0.691 ns 0.577 ns 0.0011 80 B
PredicateSustained False True False 768.48 ns 5.131 ns 4.799 ns 0.0014 176 B
PredicateSustained False True True 4,185.76 ns 43.855 ns 38.876 ns 0.0100 768 B
PredicateSustained True False False 51.99 ns 0.946 ns 1.052 ns - -
PredicateSustained True False True 51.16 ns 1.017 ns 1.211 ns - -
PredicateSustained True True False 240.99 ns 0.880 ns 0.823 ns 0.0013 96 B
PredicateSustained True True True 3,333.34 ns 11.390 ns 10.654 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 539.3 ns 0.42 ns 0.38 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,124.9 ns 18.38 ns 17.19 ns 13.21 0.03 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,203.1 ns 2.32 ns 2.17 ns 2.23 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,217.4 ns 3.23 ns 3.03 ns 2.26 0.01 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,412.9 ns 74.77 ns 69.94 ns 17.45 0.13 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 546.1 ns 0.32 ns 0.28 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 563,350.3 ns 1,224.32 ns 1,085.32 ns 1,031.56 1.99 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,933.7 ns 9.25 ns 8.65 ns 3.54 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,941.9 ns 9.54 ns 8.46 ns 3.56 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 740,227.7 ns 1,517.50 ns 1,267.19 ns 1,355.44 2.34 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 546.0 ns 0.68 ns 0.60 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 58,989,611.8 ns 227,557.01 ns 212,856.97 ns 108,032.25 394.81 333.3333 222.2222 222.2222 16001436 B 46,515.80
InvokeIntArrayFixed 100000 60,788.2 ns 340.89 ns 318.87 ns 111.33 0.58 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,510.0 ns 275.08 ns 243.85 ns 110.82 0.45 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 83,872,199.1 ns 673,525.46 ns 630,016.13 ns 153,601.66 1,129.37 666.6667 500.0000 500.0000 27894040 B 81,087.33

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
NewEmpty 1.097 μs 0.0082 μs 0.0077 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.122 μs 0.0072 μs 0.0068 μs 1.02 0.0038 360 B 1.00
DeclaredNewEmpty 1.110 μs 0.0068 μs 0.0064 μs 1.01 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 111.5 ns 0.07 ns 0.07 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 151.1 ns 0.04 ns 0.04 ns 1.36 0.0002 24 B 1.00
GetInstanceStringField 116.9 ns 0.04 ns 0.03 ns 1.05 - - 0.00
SetInstanceStringField 719.0 ns 1.52 ns 1.42 ns 6.45 0.0038 288 B 12.00
GetStaticIntField 123.1 ns 0.05 ns 0.04 ns 1.10 0.0002 24 B 1.00
SetStaticIntField 143.3 ns 0.04 ns 0.04 ns 1.29 0.0002 24 B 1.00
GetStaticStringField 112.5 ns 0.09 ns 0.08 ns 1.01 - - 0.00
SetStaticStringField 704.6 ns 1.05 ns 0.93 ns 6.32 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 153.7 ns 0.07 ns 0.06 ns 1.38 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 304.6 ns 0.06 ns 0.05 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 271.1 ns 0.12 ns 0.11 ns 0.89 - - NA
InvokeStaticWithFeedback 536.6 ns 0.22 ns 0.19 ns 1.76 0.0048 344 B NA
InvokeInstanceEmpty 315.7 ns 0.17 ns 0.15 ns 1.04 - - NA
InvokeInstanceWithFeedback 561.7 ns 0.43 ns 0.36 ns 1.84 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.323 μs 0.0018 μs 0.0016 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,001.4 ns 0.74 ns 0.58 ns - 104 B
PredicateRoundTrip False False True 1,001.4 ns 6.47 ns 6.05 ns - 104 B
PredicateRoundTrip False True False 1,204.4 ns 2.18 ns 1.70 ns 0.0019 200 B
PredicateRoundTrip False True True 4,865.5 ns 30.84 ns 28.84 ns 0.0076 792 B
PredicateRoundTrip True False False 441.8 ns 0.44 ns 0.41 ns - 24 B
PredicateRoundTrip True False True 435.3 ns 0.35 ns 0.32 ns - 24 B
PredicateRoundTrip True True False 626.1 ns 3.70 ns 3.28 ns 0.0010 120 B
PredicateRoundTrip True True True 3,953.2 ns 29.93 ns 24.99 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 581.86 ns 0.773 ns 0.604 ns 0.0011 80 B
PredicateSustained False False True 574.56 ns 0.792 ns 0.619 ns 0.0011 80 B
PredicateSustained False True False 768.07 ns 6.402 ns 5.988 ns 0.0014 176 B
PredicateSustained False True True 4,144.17 ns 30.042 ns 36.894 ns 0.0100 768 B
PredicateSustained True False False 49.86 ns 0.968 ns 1.115 ns - -
PredicateSustained True False True 48.71 ns 0.356 ns 0.297 ns - -
PredicateSustained True True False 238.59 ns 0.318 ns 0.297 ns 0.0013 96 B
PredicateSustained True True True 3,320.63 ns 39.384 ns 36.840 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 539.0 ns 0.93 ns 0.87 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,328.3 ns 9.26 ns 8.21 ns 13.60 0.03 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,209.9 ns 2.69 ns 2.51 ns 2.24 0.01 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,218.3 ns 1.77 ns 1.48 ns 2.26 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,243.1 ns 14.27 ns 12.65 ns 17.15 0.04 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 540.9 ns 0.35 ns 0.31 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 590,641.5 ns 1,287.27 ns 1,204.11 ns 1,091.94 2.24 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,934.6 ns 6.43 ns 6.02 ns 3.58 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,935.4 ns 13.08 ns 12.24 ns 3.58 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 760,927.1 ns 892.39 ns 834.74 ns 1,406.75 1.69 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 547.2 ns 0.34 ns 0.30 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,060,929.2 ns 361,879.24 ns 338,502.07 ns 109,761.57 601.89 250.0000 125.0000 125.0000 16000736 B 46,513.77
InvokeIntArrayFixed 100000 60,442.4 ns 666.93 ns 623.85 ns 110.46 1.11 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,760.0 ns 733.89 ns 686.48 ns 111.04 1.22 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 87,764,500.4 ns 775,997.84 ns 725,868.86 ns 160,389.95 1,287.43 1000.0000 833.3333 833.3333 27894277 B 81,088.01

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.152 μs 0.0016 μs 0.0013 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.146 μs 0.0016 μs 0.0013 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.171 μs 0.0071 μs 0.0063 μs 1.02 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 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 148.9 ns 0.03 ns 0.03 ns 1.40 0.00 0.0002 24 B 1.00
GetInstanceStringField 117.7 ns 0.04 ns 0.04 ns 1.11 0.00 - - 0.00
SetInstanceStringField 733.7 ns 1.21 ns 1.13 ns 6.89 0.01 0.0038 288 B 12.00
GetStaticIntField 129.1 ns 0.04 ns 0.03 ns 1.21 0.00 0.0002 24 B 1.00
SetStaticIntField 146.6 ns 0.04 ns 0.04 ns 1.38 0.00 0.0002 24 B 1.00
GetStaticStringField 116.1 ns 0.01 ns 0.01 ns 1.09 0.00 - - 0.00
SetStaticStringField 732.7 ns 2.35 ns 2.20 ns 6.88 0.02 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 146.6 ns 0.06 ns 0.05 ns 1.38 0.00 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 382.9 ns 0.15 ns 0.14 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 349.0 ns 0.19 ns 0.18 ns 0.91 - - NA
InvokeStaticWithFeedback 532.7 ns 0.49 ns 0.44 ns 1.39 0.0048 344 B NA
InvokeInstanceEmpty 391.7 ns 0.19 ns 0.18 ns 1.02 - - NA
InvokeInstanceWithFeedback 545.0 ns 0.33 ns 0.28 ns 1.42 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.339 μs 0.0018 μs 0.0017 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,049.4 ns 4.38 ns 4.10 ns - 104 B
PredicateRoundTrip False False True 1,050.6 ns 7.74 ns 7.24 ns - 104 B
PredicateRoundTrip False True False 1,254.2 ns 1.74 ns 1.54 ns 0.0019 200 B
PredicateRoundTrip False True True 4,787.4 ns 6.38 ns 5.97 ns 0.0076 792 B
PredicateRoundTrip True False False 444.9 ns 0.55 ns 0.52 ns - 24 B
PredicateRoundTrip True False True 446.7 ns 0.84 ns 0.78 ns - 24 B
PredicateRoundTrip True True False 648.0 ns 1.58 ns 1.47 ns 0.0010 120 B
PredicateRoundTrip True True True 4,056.6 ns 7.02 ns 6.22 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 626.52 ns 0.456 ns 0.356 ns - 80 B
PredicateSustained False False True 620.00 ns 0.735 ns 0.613 ns - 80 B
PredicateSustained False True False 812.95 ns 4.009 ns 3.750 ns 0.0014 176 B
PredicateSustained False True True 4,235.63 ns 9.289 ns 8.689 ns 0.0100 768 B
PredicateSustained True False False 58.90 ns 1.116 ns 1.146 ns - -
PredicateSustained True False True 59.68 ns 0.607 ns 0.568 ns - -
PredicateSustained True True False 252.45 ns 0.608 ns 0.568 ns 0.0013 96 B
PredicateSustained True True True 3,565.54 ns 11.560 ns 10.813 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 552.9 ns 0.27 ns 0.24 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,173.0 ns 6.56 ns 5.81 ns 12.97 0.01 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,257.7 ns 1.12 ns 0.99 ns 2.27 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,242.4 ns 1.83 ns 1.71 ns 2.25 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 10,297.6 ns 42.76 ns 40.00 ns 18.62 0.07 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 541.7 ns 0.31 ns 0.26 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 579,507.9 ns 1,096.86 ns 1,026.00 ns 1,069.79 1.90 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,968.1 ns 3.64 ns 3.22 ns 3.63 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,953.1 ns 6.48 ns 6.06 ns 3.61 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 779,278.0 ns 764.65 ns 596.99 ns 1,438.57 1.25 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 550.1 ns 0.53 ns 0.47 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,194,410.9 ns 186,676.05 ns 165,483.46 ns 107,607.16 303.63 250.0000 125.0000 125.0000 16000916 B 46,514.29
InvokeIntArrayFixed 100000 62,222.1 ns 499.16 ns 389.71 ns 113.11 0.69 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 62,228.5 ns 268.07 ns 237.64 ns 113.12 0.43 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 86,765,832.1 ns 834,687.03 ns 780,766.77 ns 157,728.15 1,380.50 666.6667 500.0000 500.0000 27894040 B 81,087.33

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 Median Ratio Gen0 Allocated Alloc Ratio
NewEmpty 1.155 μs 0.0101 μs 0.0095 μs 1.148 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.180 μs 0.0099 μs 0.0092 μs 1.174 μs 1.02 0.0038 360 B 1.00
DeclaredNewEmpty 1.166 μs 0.0115 μs 0.0107 μs 1.158 μ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 106.2 ns 0.03 ns 0.02 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 143.1 ns 0.05 ns 0.05 ns 1.35 0.0002 24 B 1.00
GetInstanceStringField 114.3 ns 0.05 ns 0.05 ns 1.08 - - 0.00
SetInstanceStringField 723.3 ns 1.09 ns 1.02 ns 6.81 0.0038 288 B 12.00
GetStaticIntField 121.9 ns 0.04 ns 0.04 ns 1.15 0.0002 24 B 1.00
SetStaticIntField 142.4 ns 0.05 ns 0.05 ns 1.34 0.0002 24 B 1.00
GetStaticStringField 107.8 ns 0.02 ns 0.02 ns 1.02 - - 0.00
SetStaticStringField 723.5 ns 1.25 ns 1.17 ns 6.81 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 150.1 ns 0.08 ns 0.06 ns 1.41 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 308.3 ns 0.13 ns 0.11 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 275.3 ns 0.16 ns 0.15 ns 0.89 - - NA
InvokeStaticWithFeedback 540.8 ns 0.70 ns 0.62 ns 1.75 0.0048 344 B NA
InvokeInstanceEmpty 320.5 ns 0.15 ns 0.14 ns 1.04 - - NA
InvokeInstanceWithFeedback 560.6 ns 0.45 ns 0.40 ns 1.82 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.337 μs 0.0027 μs 0.0026 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,050.9 ns 4.87 ns 4.32 ns - 104 B
PredicateRoundTrip False False True 1,060.4 ns 5.20 ns 4.86 ns - 104 B
PredicateRoundTrip False True False 1,287.5 ns 7.67 ns 7.18 ns 0.0019 200 B
PredicateRoundTrip False True True 4,817.3 ns 13.44 ns 12.58 ns 0.0076 792 B
PredicateRoundTrip True False False 443.6 ns 1.60 ns 1.50 ns - 24 B
PredicateRoundTrip True False True 448.3 ns 0.34 ns 0.30 ns - 24 B
PredicateRoundTrip True True False 647.8 ns 1.28 ns 1.00 ns 0.0010 120 B
PredicateRoundTrip True True True 4,606.4 ns 62.77 ns 58.71 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 Gen0 Allocated
PredicateSustained False False False 605.41 ns 0.603 ns 0.564 ns 0.0011 80 B
PredicateSustained False False True 609.68 ns 1.581 ns 1.320 ns 0.0011 80 B
PredicateSustained False True False 813.60 ns 7.139 ns 6.678 ns 0.0014 176 B
PredicateSustained False True True 4,414.82 ns 24.865 ns 23.259 ns 0.0100 768 B
PredicateSustained True False False 51.53 ns 0.970 ns 0.996 ns - -
PredicateSustained True False True 51.61 ns 0.992 ns 0.928 ns - -
PredicateSustained True True False 243.51 ns 0.493 ns 0.461 ns 0.0013 96 B
PredicateSustained True True True 3,788.16 ns 28.460 ns 26.622 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 543.4 ns 0.22 ns 0.20 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,061.3 ns 15.93 ns 14.90 ns 12.99 0.03 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,216.8 ns 0.65 ns 0.51 ns 2.24 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,212.2 ns 2.30 ns 2.15 ns 2.23 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,199.5 ns 23.52 ns 20.85 ns 16.93 0.04 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 556.8 ns 0.35 ns 0.31 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 563,928.4 ns 1,213.56 ns 1,075.79 ns 1,012.87 1.95 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,902.7 ns 13.77 ns 12.88 ns 3.42 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,901.0 ns 11.64 ns 10.32 ns 3.41 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 748,970.0 ns 1,230.95 ns 1,027.90 ns 1,345.22 1.92 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 557.1 ns 0.87 ns 0.77 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 58,805,150.3 ns 221,176.06 ns 206,888.23 ns 105,563.38 386.45 333.3333 222.2222 222.2222 16001481 B 46,515.93
InvokeIntArrayFixed 100000 60,389.7 ns 593.53 ns 555.19 ns 108.41 0.98 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,619.2 ns 577.93 ns 540.60 ns 108.82 0.95 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,702,546.0 ns 769,497.96 ns 719,788.87 ns 153,847.92 1,268.14 1000.0000 833.3333 833.3333 27894277 B 81,088.01

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 RatioSD Gen0 Allocated Alloc Ratio
NewEmpty 1.140 μs 0.0146 μs 0.0136 μs 1.00 0.02 0.0038 360 B 1.00
NewWithSignature 1.135 μs 0.0146 μs 0.0137 μs 1.00 0.02 0.0038 360 B 1.00
DeclaredNewEmpty 1.136 μs 0.0109 μs 0.0102 μs 1.00 0.01 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 104.7 ns 0.03 ns 0.03 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 151.5 ns 0.08 ns 0.07 ns 1.45 0.0002 24 B 1.00
GetInstanceStringField 116.2 ns 0.03 ns 0.03 ns 1.11 - - 0.00
SetInstanceStringField 703.5 ns 1.37 ns 1.22 ns 6.72 0.0038 288 B 12.00
GetStaticIntField 122.8 ns 0.04 ns 0.03 ns 1.17 0.0002 24 B 1.00
SetStaticIntField 153.6 ns 0.08 ns 0.07 ns 1.47 0.0002 24 B 1.00
GetStaticStringField 115.1 ns 0.04 ns 0.04 ns 1.10 - - 0.00
SetStaticStringField 694.8 ns 0.91 ns 0.85 ns 6.64 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 149.0 ns 0.05 ns 0.04 ns 1.42 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 312.7 ns 0.06 ns 0.06 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 276.5 ns 0.18 ns 0.15 ns 0.88 - - NA
InvokeStaticWithFeedback 530.9 ns 0.42 ns 0.38 ns 1.70 0.0048 344 B NA
InvokeInstanceEmpty 324.7 ns 0.16 ns 0.15 ns 1.04 - - NA
InvokeInstanceWithFeedback 544.0 ns 0.34 ns 0.30 ns 1.74 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.326 μs 0.0020 μs 0.0019 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,012.0 ns 6.80 ns 6.36 ns - 104 B
PredicateRoundTrip False False True 1,025.7 ns 6.16 ns 5.47 ns - 104 B
PredicateRoundTrip False True False 1,232.7 ns 7.96 ns 7.45 ns 0.0019 200 B
PredicateRoundTrip False True True 5,059.2 ns 51.53 ns 48.20 ns 0.0076 792 B
PredicateRoundTrip True False False 427.0 ns 0.40 ns 0.35 ns - 24 B
PredicateRoundTrip True False True 426.7 ns 0.47 ns 0.44 ns - 24 B
PredicateRoundTrip True True False 630.4 ns 1.11 ns 0.86 ns 0.0010 120 B
PredicateRoundTrip True True True 4,191.2 ns 18.58 ns 17.38 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 595.91 ns 0.522 ns 0.488 ns 0.0011 80 B
PredicateSustained False False True 593.91 ns 0.317 ns 0.281 ns 0.0011 80 B
PredicateSustained False True False 786.35 ns 3.469 ns 2.709 ns 0.0014 176 B
PredicateSustained False True True 4,287.09 ns 33.165 ns 31.022 ns 0.0100 768 B
PredicateSustained True False False 51.45 ns 1.005 ns 1.234 ns - -
PredicateSustained True False True 52.48 ns 0.906 ns 0.848 ns - -
PredicateSustained True True False 242.22 ns 0.707 ns 0.661 ns 0.0013 96 B
PredicateSustained True True True 3,398.39 ns 14.673 ns 13.725 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 556.2 ns 0.29 ns 0.26 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,057.9 ns 9.41 ns 7.86 ns 12.69 0.01 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,216.2 ns 1.63 ns 1.45 ns 2.19 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,213.6 ns 1.42 ns 1.26 ns 2.18 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,241.0 ns 49.13 ns 45.96 ns 16.62 0.08 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 548.5 ns 0.35 ns 0.27 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 563,468.1 ns 1,392.87 ns 1,302.89 ns 1,027.30 2.35 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,929.1 ns 3.77 ns 3.35 ns 3.52 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,910.0 ns 6.43 ns 5.70 ns 3.48 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 764,605.3 ns 1,519.63 ns 1,268.96 ns 1,394.01 2.33 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 548.9 ns 0.56 ns 0.49 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 58,447,798.3 ns 170,830.83 ns 159,795.26 ns 106,484.08 296.66 333.3333 222.2222 222.2222 16002132 B 46,517.83
InvokeIntArrayFixed 100000 60,257.5 ns 268.76 ns 251.40 ns 109.78 0.45 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,522.1 ns 184.33 ns 163.40 ns 110.26 0.30 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,753,936.1 ns 496,515.40 ns 414,612.84 ns 156,232.21 740.25 1000.0000 833.3333 833.3333 27894277 B 81,088.01

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.132 μs 0.0108 μs 0.0096 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.135 μs 0.0123 μs 0.0115 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.131 μs 0.0145 μs 0.0136 μ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 103.2 ns 0.03 ns 0.02 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 145.4 ns 0.24 ns 0.22 ns 1.41 0.0002 24 B 1.00
GetInstanceStringField 115.6 ns 0.06 ns 0.05 ns 1.12 - - 0.00
SetInstanceStringField 723.0 ns 1.13 ns 1.00 ns 7.01 0.0038 288 B 12.00
GetStaticIntField 123.6 ns 0.04 ns 0.03 ns 1.20 0.0002 24 B 1.00
SetStaticIntField 150.7 ns 0.07 ns 0.06 ns 1.46 0.0002 24 B 1.00
GetStaticStringField 114.0 ns 0.06 ns 0.06 ns 1.10 - - 0.00
SetStaticStringField 697.2 ns 1.58 ns 1.40 ns 6.76 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 157.5 ns 0.09 ns 0.08 ns 1.53 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 313.6 ns 0.11 ns 0.10 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 278.2 ns 0.14 ns 0.13 ns 0.89 - - NA
InvokeStaticWithFeedback 531.3 ns 0.26 ns 0.22 ns 1.69 0.0048 344 B NA
InvokeInstanceEmpty 320.1 ns 0.13 ns 0.12 ns 1.02 - - NA
InvokeInstanceWithFeedback 560.1 ns 0.31 ns 0.27 ns 1.79 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.341 μs 0.0021 μs 0.0019 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,025.8 ns 8.17 ns 7.64 ns - 104 B
PredicateRoundTrip False False True 1,021.9 ns 7.82 ns 7.32 ns - 104 B
PredicateRoundTrip False True False 1,252.6 ns 4.60 ns 4.07 ns 0.0019 200 B
PredicateRoundTrip False True True 5,533.5 ns 36.33 ns 33.98 ns 0.0076 792 B
PredicateRoundTrip True False False 431.7 ns 0.38 ns 0.36 ns - 24 B
PredicateRoundTrip True False True 440.2 ns 0.26 ns 0.23 ns - 24 B
PredicateRoundTrip True True False 628.2 ns 1.34 ns 1.05 ns 0.0010 120 B
PredicateRoundTrip True True True 3,863.9 ns 59.88 ns 56.01 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 589.99 ns 2.514 ns 2.100 ns 0.0011 80 B
PredicateSustained False False True 607.28 ns 3.204 ns 2.502 ns 0.0011 80 B
PredicateSustained False True False 783.40 ns 6.271 ns 5.866 ns 0.0014 176 B
PredicateSustained False True True 4,940.45 ns 75.176 ns 97.749 ns 0.0100 768 B
PredicateSustained True False False 48.52 ns 0.273 ns 0.256 ns - -
PredicateSustained True False True 48.44 ns 0.896 ns 0.996 ns - -
PredicateSustained True True False 235.81 ns 0.371 ns 0.310 ns 0.0013 96 B
PredicateSustained True True True 3,486.57 ns 37.034 ns 36.372 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 9V74 3.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-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 496.0 ns 7.17 ns 6.36 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 5,897.7 ns 62.16 ns 58.14 ns 11.89 0.18 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,123.7 ns 11.49 ns 10.75 ns 2.27 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,116.6 ns 14.63 ns 13.69 ns 2.25 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 7,396.4 ns 102.64 ns 96.01 ns 14.91 0.26 0.2060 - - 3488 B 11.18
InvokeIntParam 1000 470.2 ns 4.33 ns 3.62 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 418,234.0 ns 7,044.74 ns 6,244.98 ns 889.61 14.42 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,820.2 ns 8.83 ns 7.82 ns 3.87 0.03 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,843.8 ns 11.67 ns 10.92 ns 3.92 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 576,917.2 ns 5,707.73 ns 5,059.76 ns 1,227.14 13.80 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 503.3 ns 3.90 ns 3.45 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 52,457,684.8 ns 562,721.36 ns 526,369.91 ns 104,237.52 1,226.43 1100.0000 1000.0000 300.0000 16002059 B 51,288.65
InvokeIntArrayFixed 100000 51,365.6 ns 154.89 ns 137.31 ns 102.07 0.73 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 51,364.6 ns 138.35 ns 129.41 ns 102.07 0.72 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 73,464,787.6 ns 1,044,239.42 ns 871,987.21 ns 145,980.28 1,930.09 2000.0000 1857.1429 857.1429 27893327 B 89,401.69

core-ubuntu-22.04_net10.0_corretto_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.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-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.004 μs 0.0122 μs 0.0114 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.016 μs 0.0103 μs 0.0086 μs 1.01 0.01 0.0210 360 B 1.00
DeclaredNewEmpty 1.028 μs 0.0113 μs 0.0106 μs 1.02 0.02 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 9V74 3.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-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 88.97 ns 1.203 ns 1.125 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 93.33 ns 1.157 ns 1.083 ns 1.05 0.02 0.0014 24 B 1.00
GetInstanceStringField 91.21 ns 1.036 ns 0.969 ns 1.03 0.02 - - 0.00
SetInstanceStringField 548.54 ns 7.657 ns 7.163 ns 6.17 0.11 0.0153 256 B 10.67
GetStaticIntField 93.98 ns 1.333 ns 1.247 ns 1.06 0.02 0.0014 24 B 1.00
SetStaticIntField 93.66 ns 1.640 ns 1.534 ns 1.05 0.02 0.0014 24 B 1.00
GetStaticStringField 88.13 ns 0.968 ns 0.906 ns 0.99 0.02 - - 0.00
SetStaticStringField 557.02 ns 8.926 ns 8.350 ns 6.26 0.12 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 91.34 ns 1.345 ns 1.258 ns 1.03 0.02 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 9V74 3.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-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 267.4 ns 5.01 ns 4.68 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 272.9 ns 3.89 ns 3.64 ns 1.02 0.02 - - NA
InvokeStaticWithFeedback 461.4 ns 5.64 ns 4.71 ns 1.73 0.03 0.0186 312 B NA
InvokeInstanceEmpty 280.1 ns 5.13 ns 4.80 ns 1.05 0.02 - - NA
InvokeInstanceWithFeedback 495.5 ns 7.68 ns 7.18 ns 1.85 0.04 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 9V74 3.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-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.266 μs 0.0207 μs 0.0183 μ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 9V74 3.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-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 969.3 ns 15.49 ns 13.73 ns 0.0057 104 B
PredicateRoundTrip False False True 997.1 ns 19.64 ns 18.37 ns 0.0057 104 B
PredicateRoundTrip False True False 1,232.9 ns 11.71 ns 10.38 ns 0.0114 200 B
PredicateRoundTrip False True True 4,049.3 ns 42.61 ns 39.86 ns 0.0381 760 B
PredicateRoundTrip True False False 363.5 ns 6.01 ns 5.62 ns 0.0014 24 B
PredicateRoundTrip True False True 390.0 ns 5.81 ns 5.43 ns 0.0014 24 B
PredicateRoundTrip True True False 630.6 ns 8.34 ns 7.80 ns 0.0067 120 B
PredicateRoundTrip True True True 3,449.5 ns 26.35 ns 24.65 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 9V74 3.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-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 512.67 ns 9.604 ns 10.674 ns 0.0040 80 B
PredicateSustained False False True 521.18 ns 7.572 ns 7.083 ns 0.0040 80 B
PredicateSustained False True False 711.92 ns 9.512 ns 8.897 ns 0.0100 176 B
PredicateSustained False True True 3,556.97 ns 45.042 ns 42.133 ns 0.0400 736 B
PredicateSustained True False False 29.63 ns 0.369 ns 0.345 ns - -
PredicateSustained True False True 27.90 ns 0.471 ns 0.441 ns - -
PredicateSustained True True False 184.59 ns 1.339 ns 1.252 ns 0.0056 96 B
PredicateSustained True True True 2,846.12 ns 13.175 ns 11.679 ns 0.0350 656 B

core-ubuntu-22.04_net10.0_corretto_17


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 660.8 ns 3.66 ns 3.06 ns 1.00 0.01 0.0124 - - 312 B 1.00
InvokeStringArrayFixed 10 7,926.3 ns 70.75 ns 66.18 ns 12.00 0.11 0.0763 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,467.1 ns 12.08 ns 11.30 ns 2.22 0.02 0.0153 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,420.9 ns 7.12 ns 6.31 ns 2.15 0.01 0.0153 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 10,461.9 ns 64.93 ns 60.74 ns 15.83 0.11 0.1373 - - 3488 B 11.18
InvokeIntParam 1000 691.4 ns 6.46 ns 6.04 ns 1.00 0.01 0.0124 - - 312 B 1.00
InvokeStringArrayFixed 1000 587,978.6 ns 5,646.58 ns 4,715.15 ns 850.43 9.72 5.8594 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 2,231.9 ns 9.28 ns 8.22 ns 3.23 0.03 0.0153 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,269.5 ns 15.43 ns 14.43 ns 3.28 0.03 0.0153 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 756,846.1 ns 5,089.73 ns 4,760.94 ns 1,094.68 11.38 9.7656 2.9297 - 265856 B 852.10
InvokeIntParam 100000 722.2 ns 6.99 ns 6.19 ns 1.00 0.01 0.0124 - - 312 B 1.00
InvokeStringArrayFixed 100000 73,095,365.2 ns 498,909.06 ns 466,679.85 ns 101,221.84 1,040.89 714.2857 571.4286 285.7143 16001688 B 51,287.46
InvokeIntArrayFixed 100000 78,757.3 ns 690.68 ns 646.06 ns 109.06 1.25 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 78,989.6 ns 686.97 ns 642.59 ns 109.38 1.25 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 97,688,097.8 ns 1,812,296.70 ns 1,861,095.28 ns 135,277.65 2,741.00 1666.6667 1500.0000 1000.0000 27897589 B 89,415.35

core-ubuntu-22.04_net10.0_corretto_17


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.353 μs 0.0137 μs 0.0128 μs 1.00 0.0134 360 B 1.00
NewWithSignature 1.331 μs 0.0105 μs 0.0098 μs 0.98 0.0134 360 B 1.00
DeclaredNewEmpty 1.410 μs 0.0124 μs 0.0116 μs 1.04 0.0134 360 B 1.00

core-ubuntu-22.04_net10.0_corretto_17


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 101.29 ns 0.696 ns 0.651 ns 1.00 0.01 0.0010 24 B 1.00
SetInstanceIntField 113.91 ns 0.875 ns 0.776 ns 1.12 0.01 0.0010 24 B 1.00
GetInstanceStringField 100.96 ns 0.777 ns 0.727 ns 1.00 0.01 - - 0.00
SetInstanceStringField 850.23 ns 5.302 ns 4.960 ns 8.39 0.07 0.0095 256 B 10.67
GetStaticIntField 108.40 ns 1.197 ns 1.120 ns 1.07 0.01 0.0010 24 B 1.00
SetStaticIntField 110.52 ns 1.009 ns 0.944 ns 1.09 0.01 0.0010 24 B 1.00
GetStaticStringField 96.24 ns 0.529 ns 0.442 ns 0.95 0.01 - - 0.00
SetStaticStringField 741.44 ns 5.446 ns 4.828 ns 7.32 0.06 0.0095 256 B 10.67
GetInstanceIntFieldGeneric 106.37 ns 1.056 ns 0.988 ns 1.05 0.01 0.0010 24 B 1.00

core-ubuntu-22.04_net10.0_corretto_17


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 326.6 ns 3.30 ns 3.08 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 330.1 ns 4.00 ns 3.74 ns 1.01 0.01 - - NA
InvokeStaticWithFeedback 626.4 ns 6.60 ns 6.17 ns 1.92 0.03 0.0124 312 B NA
InvokeInstanceEmpty 329.9 ns 3.82 ns 3.58 ns 1.01 0.01 - - NA
InvokeInstanceWithFeedback 616.9 ns 6.63 ns 6.20 ns 1.89 0.03 0.0124 312 B NA

core-ubuntu-22.04_net10.0_corretto_17


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.699 μs 0.0117 μs 0.0110 μs 1.00 0.0267 680 B 1.00

core-ubuntu-22.04_net10.0_corretto_17


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,301.7 ns 11.19 ns 10.47 ns 0.0038 104 B
PredicateRoundTrip False False True 1,299.4 ns 13.27 ns 11.76 ns 0.0038 104 B
PredicateRoundTrip False True False 1,710.9 ns 15.38 ns 14.38 ns 0.0076 200 B
PredicateRoundTrip False True True 5,528.0 ns 37.27 ns 33.04 ns 0.0229 760 B
PredicateRoundTrip True False False 492.3 ns 5.99 ns 5.60 ns 0.0010 24 B
PredicateRoundTrip True False True 535.3 ns 5.18 ns 4.84 ns 0.0010 24 B
PredicateRoundTrip True True False 871.3 ns 8.10 ns 7.57 ns 0.0048 120 B
PredicateRoundTrip True True True 4,677.5 ns 27.31 ns 22.81 ns 0.0229 680 B

core-ubuntu-22.04_net10.0_corretto_17


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 671.64 ns 7.549 ns 6.692 ns 0.0025 80 B
PredicateSustained False False True 665.39 ns 7.290 ns 6.819 ns 0.0025 80 B
PredicateSustained False True False 1,084.68 ns 14.354 ns 13.427 ns 0.0060 176 B
PredicateSustained False True True 4,799.77 ns 55.699 ns 52.100 ns 0.0200 736 B
PredicateSustained True False False 50.81 ns 0.424 ns 0.396 ns - -
PredicateSustained True False True 50.84 ns 0.342 ns 0.320 ns - -
PredicateSustained True True False 278.61 ns 1.203 ns 1.125 ns 0.0038 96 B
PredicateSustained True True True 3,972.55 ns 54.353 ns 50.842 ns 0.0200 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 2.62GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 682.1 ns 11.59 ns 10.84 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 7,674.8 ns 143.12 ns 133.87 ns 11.26 0.26 0.1068 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,435.6 ns 21.86 ns 20.45 ns 2.11 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,441.8 ns 18.82 ns 16.68 ns 2.11 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,575.9 ns 107.67 ns 95.44 ns 14.04 0.25 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 681.9 ns 11.18 ns 10.46 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 595,783.8 ns 11,291.80 ns 11,090.06 ns 873.92 20.36 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 2,157.3 ns 17.07 ns 15.97 ns 3.16 0.05 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,191.5 ns 25.36 ns 22.48 ns 3.21 0.06 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 775,657.7 ns 5,992.42 ns 5,003.94 ns 1,137.77 18.17 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 707.6 ns 10.37 ns 9.70 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 66,161,401.5 ns 728,613.69 ns 681,545.70 ns 93,517.27 1,549.88 1000.0000 875.0000 250.0000 16001562 B 51,287.06
InvokeIntArrayFixed 100000 71,706.6 ns 407.19 ns 340.02 ns 101.36 1.42 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 71,081.2 ns 292.20 ns 273.32 ns 100.47 1.38 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 93,297,637.6 ns 1,759,022.72 ns 1,645,390.94 ns 131,873.57 2,849.23 2000.0000 1833.3333 1000.0000 27895305 B 89,408.03

core-ubuntu-22.04_net10.0_corretto_21


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 10.0.11 (10.0.11, 10.0.1126.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.345 μs 0.0212 μs 0.0198 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.316 μs 0.0163 μs 0.0145 μs 0.98 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.337 μs 0.0161 μs 0.0142 μs 0.99 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 2.62GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 103.0 ns 0.81 ns 0.63 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 114.9 ns 1.79 ns 1.59 ns 1.12 0.02 0.0014 24 B 1.00
GetInstanceStringField 116.7 ns 1.74 ns 1.45 ns 1.13 0.02 - - 0.00
SetInstanceStringField 745.0 ns 6.65 ns 6.22 ns 7.23 0.07 0.0153 256 B 10.67
GetStaticIntField 111.1 ns 1.14 ns 0.95 ns 1.08 0.01 0.0014 24 B 1.00
SetStaticIntField 118.6 ns 1.73 ns 1.62 ns 1.15 0.02 0.0014 24 B 1.00
GetStaticStringField 109.6 ns 1.61 ns 1.43 ns 1.06 0.01 - - 0.00
SetStaticStringField 755.0 ns 6.51 ns 5.77 ns 7.33 0.07 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 121.6 ns 1.80 ns 1.69 ns 1.18 0.02 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 2.62GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 349.4 ns 2.78 ns 2.47 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 336.6 ns 6.77 ns 7.24 ns 0.96 0.02 - - NA
InvokeStaticWithFeedback 691.6 ns 10.30 ns 9.63 ns 1.98 0.03 0.0181 312 B NA
InvokeInstanceEmpty 343.2 ns 5.82 ns 5.16 ns 0.98 0.02 - - NA
InvokeInstanceWithFeedback 679.5 ns 11.59 ns 10.84 ns 1.94 0.03 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 2.62GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.707 μs 0.0172 μs 0.0161 μ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 2.62GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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,319.7 ns 25.14 ns 24.69 ns 0.0057 104 B
PredicateRoundTrip False False True 1,383.8 ns 23.16 ns 21.67 ns 0.0057 104 B
PredicateRoundTrip False True False 1,649.9 ns 18.89 ns 17.67 ns 0.0114 200 B
PredicateRoundTrip False True True 5,440.3 ns 87.93 ns 82.25 ns 0.0381 760 B
PredicateRoundTrip True False False 515.4 ns 9.70 ns 9.07 ns 0.0010 24 B
PredicateRoundTrip True False True 524.5 ns 10.30 ns 12.26 ns 0.0010 24 B
PredicateRoundTrip True True False 870.6 ns 14.46 ns 12.82 ns 0.0067 120 B
PredicateRoundTrip True True True 4,510.5 ns 32.89 ns 29.16 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 2.62GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 666.86 ns 7.498 ns 7.014 ns 0.0038 80 B
PredicateSustained False False True 671.22 ns 12.285 ns 11.491 ns 0.0038 80 B
PredicateSustained False True False 1,002.64 ns 12.963 ns 12.126 ns 0.0100 176 B
PredicateSustained False True True 4,714.68 ns 71.327 ns 70.053 ns 0.0400 736 B
PredicateSustained True False False 32.82 ns 0.587 ns 0.549 ns - -
PredicateSustained True False True 34.29 ns 0.490 ns 0.458 ns - -
PredicateSustained True True False 242.34 ns 3.608 ns 3.375 ns 0.0056 96 B
PredicateSustained True True True 3,821.47 ns 31.868 ns 28.251 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.75GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 662.4 ns 8.48 ns 7.93 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 7,261.5 ns 104.76 ns 97.99 ns 10.96 0.19 0.1068 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,487.4 ns 29.35 ns 27.46 ns 2.25 0.05 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,475.6 ns 20.73 ns 19.39 ns 2.23 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,723.0 ns 50.52 ns 42.19 ns 14.68 0.18 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 669.4 ns 12.63 ns 11.81 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 538,702.5 ns 6,343.33 ns 5,623.19 ns 804.99 15.90 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 2,181.6 ns 22.98 ns 21.49 ns 3.26 0.06 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,191.3 ns 23.20 ns 20.56 ns 3.27 0.06 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 766,897.7 ns 9,965.76 ns 8,834.38 ns 1,145.99 23.27 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 705.6 ns 14.02 ns 13.12 ns 1.00 0.03 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 64,339,026.4 ns 923,849.29 ns 818,968.33 ns 91,211.91 1,997.17 1000.0000 875.0000 250.0000 16001734 B 51,287.61
InvokeIntArrayFixed 100000 70,500.6 ns 226.70 ns 200.97 ns 99.95 1.83 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 70,100.7 ns 217.97 ns 193.23 ns 99.38 1.82 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 94,658,615.2 ns 1,844,179.87 ns 1,811,231.22 ns 134,195.27 3,480.81 1833.3333 1666.6667 833.3333 27894973 B 89,406.96

core-ubuntu-22.04_net10.0_corretto_25


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.75GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.0201 μs 0.0178 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.349 μs 0.0162 μs 0.0152 μs 1.00 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.343 μs 0.0095 μs 0.0079 μs 1.00 0.01 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.75GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 107.0 ns 2.17 ns 2.03 ns 1.00 0.03 0.0014 24 B 1.00
SetInstanceIntField 113.2 ns 1.59 ns 1.49 ns 1.06 0.02 0.0014 24 B 1.00
GetInstanceStringField 105.2 ns 2.13 ns 2.37 ns 0.98 0.03 - - 0.00
SetInstanceStringField 711.9 ns 6.32 ns 5.61 ns 6.65 0.13 0.0153 256 B 10.67
GetStaticIntField 111.3 ns 0.88 ns 0.73 ns 1.04 0.02 0.0014 24 B 1.00
SetStaticIntField 109.6 ns 1.85 ns 1.64 ns 1.02 0.02 0.0014 24 B 1.00
GetStaticStringField 105.4 ns 1.81 ns 1.69 ns 0.99 0.02 - - 0.00
SetStaticStringField 727.7 ns 6.24 ns 5.83 ns 6.80 0.14 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 107.0 ns 0.96 ns 0.90 ns 1.00 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.75GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 341.1 ns 5.94 ns 5.55 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 333.4 ns 6.45 ns 7.68 ns 0.98 0.03 - - NA
InvokeStaticWithFeedback 661.0 ns 13.06 ns 12.82 ns 1.94 0.05 0.0181 312 B NA
InvokeInstanceEmpty 339.0 ns 6.40 ns 5.99 ns 0.99 0.02 - - NA
InvokeInstanceWithFeedback 680.8 ns 11.20 ns 9.93 ns 2.00 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.75GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.665 μs 0.0143 μs 0.0120 μs 1.00 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.75GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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,311.2 ns 25.13 ns 27.93 ns 0.0057 104 B
PredicateRoundTrip False False True 1,311.5 ns 15.91 ns 14.89 ns 0.0057 104 B
PredicateRoundTrip False True False 1,578.0 ns 10.41 ns 8.69 ns 0.0114 200 B
PredicateRoundTrip False True True 5,231.6 ns 32.50 ns 27.14 ns 0.0381 760 B
PredicateRoundTrip True False False 515.6 ns 6.37 ns 5.65 ns 0.0010 24 B
PredicateRoundTrip True False True 515.6 ns 10.08 ns 12.00 ns 0.0010 24 B
PredicateRoundTrip True True False 834.5 ns 6.88 ns 6.10 ns 0.0067 120 B
PredicateRoundTrip True True True 4,449.0 ns 77.80 ns 72.77 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.75GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 654.21 ns 10.913 ns 10.208 ns 0.0038 80 B
PredicateSustained False False True 662.21 ns 5.889 ns 5.221 ns 0.0038 80 B
PredicateSustained False True False 918.45 ns 10.635 ns 9.948 ns 0.0100 176 B
PredicateSustained False True True 4,751.77 ns 43.634 ns 38.680 ns 0.0400 736 B
PredicateSustained True False False 33.42 ns 0.403 ns 0.377 ns - -
PredicateSustained True False True 34.01 ns 0.465 ns 0.412 ns - -
PredicateSustained True True False 251.15 ns 2.776 ns 2.596 ns 0.0056 96 B
PredicateSustained True True True 3,690.98 ns 15.889 ns 13.268 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 9V45 4.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 355.8 ns 6.97 ns 6.52 ns 1.00 0.03 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 10 4,311.3 ns 85.46 ns 75.75 ns 12.12 0.30 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 799.3 ns 12.50 ns 11.08 ns 2.25 0.05 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 803.6 ns 8.27 ns 7.33 ns 2.26 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 5,451.1 ns 99.18 ns 87.92 ns 15.32 0.36 0.2060 - - 3488 B 11.18
InvokeIntParam 1000 341.7 ns 5.09 ns 4.51 ns 1.00 0.02 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 1000 330,540.2 ns 6,393.70 ns 7,611.25 ns 967.60 24.98 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,060.6 ns 12.53 ns 11.72 ns 3.10 0.05 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,053.2 ns 20.64 ns 21.20 ns 3.08 0.07 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 428,972.5 ns 6,567.02 ns 6,142.79 ns 1,255.74 23.57 15.6250 7.3242 - 265856 B 852.10
InvokeIntParam 100000 349.9 ns 3.91 ns 3.46 ns 1.00 0.01 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 100000 39,530,868.7 ns 713,516.60 ns 667,423.87 ns 112,978.36 2,138.10 1142.8571 1000.0000 357.1429 16002190 B 51,289.07
InvokeIntArrayFixed 100000 20,175.5 ns 148.21 ns 138.63 ns 57.66 0.67 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 20,384.7 ns 275.23 ns 243.98 ns 58.26 0.87 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 54,461,349.7 ns 577,928.63 ns 540,594.80 ns 155,649.35 2,106.80 2000.0000 1888.8889 888.8889 27892988 B 89,400.60

core-ubuntu-22.04_net10.0_graalvm_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 743.1 ns 10.25 ns 8.00 ns 1.00 0.01 0.0210 360 B 1.00
NewWithSignature 747.7 ns 10.64 ns 9.44 ns 1.01 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 751.8 ns 11.40 ns 10.66 ns 1.01 0.02 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 9V45 4.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 58.65 ns 0.591 ns 0.553 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 63.62 ns 0.592 ns 0.495 ns 1.08 0.01 0.0014 24 B 1.00
GetInstanceStringField 59.73 ns 0.558 ns 0.495 ns 1.02 0.01 - - 0.00
SetInstanceStringField 427.18 ns 3.066 ns 2.868 ns 7.28 0.08 0.0153 256 B 10.67
GetStaticIntField 60.61 ns 1.241 ns 1.274 ns 1.03 0.02 0.0014 24 B 1.00
SetStaticIntField 62.59 ns 0.814 ns 0.679 ns 1.07 0.01 0.0014 24 B 1.00
GetStaticStringField 57.85 ns 0.736 ns 0.688 ns 0.99 0.01 - - 0.00
SetStaticStringField 416.63 ns 4.179 ns 3.490 ns 7.10 0.09 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 62.40 ns 0.727 ns 0.607 ns 1.06 0.01 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 9V45 4.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 167.3 ns 3.18 ns 2.97 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 168.2 ns 1.87 ns 1.74 ns 1.01 0.02 - - NA
InvokeStaticWithFeedback 331.3 ns 3.74 ns 3.50 ns 1.98 0.04 0.0186 312 B NA
InvokeInstanceEmpty 163.2 ns 2.51 ns 2.22 ns 0.98 0.02 - - NA
InvokeInstanceWithFeedback 342.8 ns 4.31 ns 3.60 ns 2.05 0.04 0.0186 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 9V45 4.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 916.9 ns 12.06 ns 10.07 ns 1.00 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 9V45 4.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 747.9 ns 14.56 ns 13.62 ns 0.0057 104 B
PredicateRoundTrip False False True 732.4 ns 6.78 ns 6.01 ns 0.0057 104 B
PredicateRoundTrip False True False 903.7 ns 14.08 ns 12.48 ns 0.0114 200 B
PredicateRoundTrip False True True 3,048.9 ns 24.89 ns 22.06 ns 0.0420 760 B
PredicateRoundTrip True False False 235.6 ns 3.46 ns 3.24 ns 0.0014 24 B
PredicateRoundTrip True False True 236.9 ns 3.25 ns 2.72 ns 0.0014 24 B
PredicateRoundTrip True True False 434.0 ns 7.21 ns 6.74 ns 0.0072 120 B
PredicateRoundTrip True True True 2,521.8 ns 48.91 ns 38.18 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 9V45 4.21GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 385.59 ns 6.483 ns 6.065 ns 0.0046 80 B
PredicateSustained False False True 368.93 ns 5.204 ns 4.868 ns 0.0043 80 B
PredicateSustained False True False 516.33 ns 7.050 ns 6.594 ns 0.0100 176 B
PredicateSustained False True True 2,582.59 ns 36.707 ns 34.335 ns 0.0400 736 B
PredicateSustained True False False 31.52 ns 0.230 ns 0.192 ns - -
PredicateSustained True False True 31.17 ns 0.611 ns 0.653 ns - -
PredicateSustained True True False 152.34 ns 2.243 ns 2.098 ns 0.0056 96 B
PredicateSustained True True True 2,160.49 ns 31.618 ns 28.029 ns 0.0367 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 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 664.2 ns 8.23 ns 7.70 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 7,485.5 ns 82.93 ns 77.57 ns 11.27 0.17 0.1068 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,486.5 ns 12.24 ns 10.22 ns 2.24 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,477.2 ns 15.17 ns 14.19 ns 2.22 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 10,047.2 ns 59.25 ns 49.48 ns 15.13 0.18 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 649.0 ns 8.02 ns 6.70 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 589,028.0 ns 5,049.73 ns 4,216.75 ns 907.63 11.00 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,978.1 ns 16.38 ns 14.52 ns 3.05 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,005.1 ns 20.13 ns 18.83 ns 3.09 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 768,716.9 ns 7,544.98 ns 6,688.42 ns 1,184.51 15.44 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 735.5 ns 6.25 ns 5.54 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 68,820,413.4 ns 840,118.99 ns 744,743.60 ns 93,578.90 1,190.03 1000.0000 857.1429 285.7143 16001136 B 51,285.69
InvokeIntArrayFixed 100000 48,418.5 ns 514.77 ns 456.33 ns 65.84 0.77 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 48,323.2 ns 943.56 ns 882.60 ns 65.71 1.26 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 92,687,010.1 ns 1,834,486.44 ns 1,801,710.98 ns 126,031.62 2,546.44 2000.0000 1833.3333 1000.0000 27896905 B 89,413.16

core-ubuntu-22.04_net10.0_graalvm_21


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 10.0.11 (10.0.11, 10.0.1126.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.339 μs 0.0224 μs 0.0209 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.315 μs 0.0173 μs 0.0162 μs 0.98 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.372 μs 0.0129 μs 0.0114 μs 1.02 0.02 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 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 101.1 ns 1.56 ns 1.46 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 112.9 ns 1.30 ns 1.22 ns 1.12 0.02 0.0014 24 B 1.00
GetInstanceStringField 102.7 ns 1.85 ns 1.73 ns 1.02 0.02 - - 0.00
SetInstanceStringField 731.2 ns 4.82 ns 4.02 ns 7.23 0.11 0.0153 256 B 10.67
GetStaticIntField 109.3 ns 1.76 ns 1.64 ns 1.08 0.02 0.0014 24 B 1.00
SetStaticIntField 108.4 ns 1.85 ns 1.73 ns 1.07 0.02 0.0014 24 B 1.00
GetStaticStringField 104.1 ns 1.92 ns 1.70 ns 1.03 0.02 - - 0.00
SetStaticStringField 744.9 ns 7.83 ns 7.32 ns 7.37 0.12 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 121.0 ns 1.62 ns 1.52 ns 1.20 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 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 330.8 ns 6.45 ns 6.62 ns 1.00 0.03 - - NA
InvokeStaticEmptyWithSignature 322.2 ns 6.18 ns 5.78 ns 0.97 0.03 - - NA
InvokeStaticWithFeedback 630.5 ns 12.27 ns 11.48 ns 1.91 0.05 0.0181 312 B NA
InvokeInstanceEmpty 344.6 ns 3.93 ns 3.68 ns 1.04 0.02 - - NA
InvokeInstanceWithFeedback 644.4 ns 10.87 ns 9.64 ns 1.95 0.05 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 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.654 μs 0.0211 μs 0.0197 μs 1.00 0.02 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 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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,265.9 ns 23.97 ns 26.65 ns 0.0057 104 B
PredicateRoundTrip False False True 1,226.9 ns 23.08 ns 22.67 ns 0.0057 104 B
PredicateRoundTrip False True False 1,571.3 ns 13.02 ns 10.87 ns 0.0114 200 B
PredicateRoundTrip False True True 5,267.2 ns 36.13 ns 32.03 ns 0.0381 760 B
PredicateRoundTrip True False False 480.9 ns 7.75 ns 7.25 ns 0.0010 24 B
PredicateRoundTrip True False True 464.7 ns 8.49 ns 7.52 ns 0.0014 24 B
PredicateRoundTrip True True False 776.9 ns 6.94 ns 6.15 ns 0.0067 120 B
PredicateRoundTrip True True True 4,405.4 ns 33.68 ns 29.85 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 2.58GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 647.07 ns 10.981 ns 10.272 ns 0.0038 80 B
PredicateSustained False False True 644.77 ns 12.733 ns 13.076 ns 0.0038 80 B
PredicateSustained False True False 968.68 ns 10.242 ns 9.581 ns 0.0100 176 B
PredicateSustained False True True 4,526.50 ns 28.238 ns 22.047 ns 0.0400 736 B
PredicateSustained True False False 32.95 ns 0.373 ns 0.349 ns - -
PredicateSustained True False True 34.99 ns 0.496 ns 0.440 ns - -
PredicateSustained True True False 244.81 ns 2.960 ns 2.472 ns 0.0056 96 B
PredicateSustained True True True 3,695.82 ns 30.812 ns 27.314 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 Platinum 8370C CPU 2.80GHz (Max: 2.73GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 692.0 ns 8.32 ns 7.78 ns 1.00 0.02 0.0124 - - 312 B 1.00
InvokeStringArrayFixed 10 7,656.5 ns 86.59 ns 81.00 ns 11.07 0.16 0.0763 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,424.7 ns 8.83 ns 7.82 ns 2.06 0.02 0.0153 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,418.1 ns 8.04 ns 7.52 ns 2.05 0.02 0.0153 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 10,432.0 ns 79.03 ns 70.06 ns 15.08 0.19 0.1373 - - 3488 B 11.18
InvokeIntParam 1000 689.5 ns 4.47 ns 4.18 ns 1.00 0.01 0.0124 - - 312 B 1.00
InvokeStringArrayFixed 1000 595,057.6 ns 5,350.44 ns 4,467.86 ns 863.06 8.04 5.8594 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,952.2 ns 16.71 ns 14.82 ns 2.83 0.03 0.0153 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,953.4 ns 16.80 ns 15.71 ns 2.83 0.03 0.0153 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 762,212.9 ns 7,861.15 ns 7,353.32 ns 1,105.50 12.20 9.7656 2.9297 - 265856 B 852.10
InvokeIntParam 100000 678.2 ns 7.03 ns 6.58 ns 1.00 0.01 0.0124 - - 312 B 1.00
InvokeStringArrayFixed 100000 71,045,160.5 ns 511,334.87 ns 453,285.04 ns 104,762.49 1,171.24 714.2857 571.4286 285.7143 16001151 B 51,285.74
InvokeIntArrayFixed 100000 54,591.5 ns 500.64 ns 390.87 ns 80.50 0.93 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 54,471.6 ns 583.92 ns 546.20 ns 80.32 1.08 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 99,749,662.0 ns 1,240,180.44 ns 1,160,065.55 ns 147,089.86 2,150.67 1400.0000 1200.0000 800.0000 27895206 B 89,407.71

core-ubuntu-22.04_net10.0_graalvm_25


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.73GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.315 μs 0.0171 μs 0.0160 μs 1.00 0.02 0.0134 360 B 1.00
NewWithSignature 1.327 μs 0.0130 μs 0.0122 μs 1.01 0.01 0.0134 360 B 1.00
DeclaredNewEmpty 1.361 μs 0.0100 μs 0.0094 μs 1.04 0.01 0.0134 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 Platinum 8370C CPU 2.80GHz (Max: 2.73GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 103.55 ns 1.362 ns 1.274 ns 1.00 0.02 0.0010 24 B 1.00
SetInstanceIntField 117.30 ns 0.943 ns 0.882 ns 1.13 0.02 0.0010 24 B 1.00
GetInstanceStringField 105.79 ns 1.167 ns 1.092 ns 1.02 0.02 - - 0.00
SetInstanceStringField 727.75 ns 4.143 ns 3.876 ns 7.03 0.09 0.0095 256 B 10.67
GetStaticIntField 111.16 ns 0.910 ns 0.851 ns 1.07 0.01 0.0010 24 B 1.00
SetStaticIntField 108.27 ns 0.956 ns 0.848 ns 1.05 0.01 0.0010 24 B 1.00
GetStaticStringField 94.30 ns 0.903 ns 0.844 ns 0.91 0.01 - - 0.00
SetStaticStringField 740.08 ns 4.775 ns 4.233 ns 7.15 0.09 0.0095 256 B 10.67
GetInstanceIntFieldGeneric 108.11 ns 1.047 ns 0.979 ns 1.04 0.02 0.0010 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 Platinum 8370C CPU 2.80GHz (Max: 2.73GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 319.5 ns 2.98 ns 2.78 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 321.7 ns 3.48 ns 3.25 ns 1.01 0.01 - - NA
InvokeStaticWithFeedback 712.3 ns 5.11 ns 4.53 ns 2.23 0.02 0.0124 312 B NA
InvokeInstanceEmpty 323.7 ns 2.01 ns 1.78 ns 1.01 0.01 - - NA
InvokeInstanceWithFeedback 690.8 ns 2.73 ns 2.42 ns 2.16 0.02 0.0124 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 Platinum 8370C CPU 2.80GHz (Max: 2.73GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.641 μs 0.0135 μs 0.0120 μs 1.00 0.0267 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 Platinum 8370C CPU 2.80GHz (Max: 2.73GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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,262.3 ns 14.02 ns 13.11 ns 0.0038 104 B
PredicateRoundTrip False False True 1,263.4 ns 12.63 ns 11.82 ns 0.0038 104 B
PredicateRoundTrip False True False 1,659.6 ns 12.49 ns 11.68 ns 0.0076 200 B
PredicateRoundTrip False True True 5,410.3 ns 31.08 ns 29.07 ns 0.0229 760 B
PredicateRoundTrip True False False 508.9 ns 9.47 ns 10.14 ns 0.0010 24 B
PredicateRoundTrip True False True 507.0 ns 4.64 ns 4.34 ns 0.0010 24 B
PredicateRoundTrip True True False 913.9 ns 8.26 ns 7.32 ns 0.0048 120 B
PredicateRoundTrip True True True 4,582.1 ns 32.58 ns 30.48 ns 0.0229 680 B

core-ubuntu-22.04_net10.0_graalvm_25


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.73GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 646.65 ns 7.887 ns 7.378 ns 0.0025 80 B
PredicateSustained False False True 642.87 ns 5.753 ns 5.100 ns 0.0025 80 B
PredicateSustained False True False 950.66 ns 7.694 ns 7.197 ns 0.0067 176 B
PredicateSustained False True True 4,717.43 ns 68.064 ns 63.667 ns 0.0200 736 B
PredicateSustained True False False 50.00 ns 0.980 ns 1.555 ns - -
PredicateSustained True False True 49.31 ns 0.976 ns 1.490 ns - -
PredicateSustained True True False 291.55 ns 1.341 ns 1.255 ns 0.0038 96 B
PredicateSustained True True True 4,088.55 ns 46.300 ns 43.309 ns 0.0200 656 B

core-ubuntu-22.04_net10.0_microsoft_11


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 718.2 ns 10.89 ns 10.19 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 8,252.9 ns 105.34 ns 98.54 ns 11.49 0.21 0.1068 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,486.1 ns 16.07 ns 15.03 ns 2.07 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,506.2 ns 9.31 ns 8.25 ns 2.10 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 10,073.0 ns 83.44 ns 78.05 ns 14.03 0.22 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 678.0 ns 11.54 ns 10.79 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 591,603.4 ns 6,119.73 ns 5,424.98 ns 872.80 15.41 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 2,239.7 ns 27.70 ns 25.91 ns 3.30 0.06 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,278.1 ns 23.34 ns 20.69 ns 3.36 0.06 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 782,733.8 ns 6,720.32 ns 5,611.77 ns 1,154.77 19.37 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 712.6 ns 8.90 ns 7.89 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 69,795,323.4 ns 820,252.65 ns 727,132.61 ns 97,958.25 1,430.16 1000.0000 857.1429 285.7143 16002282 B 51,289.37
InvokeIntArrayFixed 100000 71,645.5 ns 374.84 ns 350.63 ns 100.55 1.17 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 72,825.3 ns 449.90 ns 398.82 ns 102.21 1.21 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 99,196,484.4 ns 1,885,758.38 ns 2,244,861.41 ns 139,223.00 3,413.43 2000.0000 1800.0000 1000.0000 27894245 B 89,404.63

core-ubuntu-22.04_net10.0_microsoft_11


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.440 μs 0.0126 μs 0.0106 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.389 μs 0.0183 μs 0.0171 μs 0.96 0.0210 360 B 1.00
DeclaredNewEmpty 1.356 μs 0.0154 μs 0.0144 μs 0.94 0.0210 360 B 1.00

core-ubuntu-22.04_net10.0_microsoft_11


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 112.0 ns 1.63 ns 1.52 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 122.4 ns 1.96 ns 1.83 ns 1.09 0.02 0.0014 24 B 1.00
GetInstanceStringField 108.8 ns 1.16 ns 1.08 ns 0.97 0.02 - - 0.00
SetInstanceStringField 817.8 ns 9.79 ns 9.16 ns 7.30 0.12 0.0153 256 B 10.67
GetStaticIntField 115.5 ns 1.33 ns 1.25 ns 1.03 0.02 0.0014 24 B 1.00
SetStaticIntField 121.8 ns 1.79 ns 1.68 ns 1.09 0.02 0.0014 24 B 1.00
GetStaticStringField 120.2 ns 2.03 ns 1.90 ns 1.07 0.02 - - 0.00
SetStaticStringField 806.2 ns 9.30 ns 8.24 ns 7.20 0.12 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 124.2 ns 1.61 ns 1.51 ns 1.11 0.02 0.0014 24 B 1.00

core-ubuntu-22.04_net10.0_microsoft_11


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 395.3 ns 5.36 ns 4.75 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 379.0 ns 6.52 ns 5.78 ns 0.96 0.02 - - NA
InvokeStaticWithFeedback 664.2 ns 7.42 ns 6.94 ns 1.68 0.03 0.0181 312 B NA
InvokeInstanceEmpty 403.8 ns 7.38 ns 6.90 ns 1.02 0.02 - - NA
InvokeInstanceWithFeedback 723.5 ns 8.74 ns 8.18 ns 1.83 0.03 0.0181 312 B NA

core-ubuntu-22.04_net10.0_microsoft_11


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
InvokeMultiParam 1.735 μs 0.0194 μs 0.0182 μs 1.00 0.0401 680 B 1.00

core-ubuntu-22.04_net10.0_microsoft_11


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,363.8 ns 26.37 ns 29.30 ns 0.0057 104 B
PredicateRoundTrip False False True 1,378.6 ns 22.49 ns 21.03 ns 0.0057 104 B
PredicateRoundTrip False True False 1,671.8 ns 20.64 ns 19.31 ns 0.0114 200 B
PredicateRoundTrip False True True 5,472.9 ns 33.30 ns 29.52 ns 0.0381 760 B
PredicateRoundTrip True False False 493.5 ns 7.09 ns 6.63 ns 0.0010 24 B
PredicateRoundTrip True False True 491.0 ns 3.23 ns 2.86 ns 0.0010 24 B
PredicateRoundTrip True True False 865.4 ns 6.10 ns 5.09 ns 0.0067 120 B
PredicateRoundTrip True True True 4,696.7 ns 37.10 ns 34.71 ns 0.0381 680 B

core-ubuntu-22.04_net10.0_microsoft_11


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 729.26 ns 11.500 ns 10.757 ns 0.0043 80 B
PredicateSustained False False True 706.13 ns 13.747 ns 13.501 ns 0.0038 80 B
PredicateSustained False True False 1,037.49 ns 18.656 ns 17.451 ns 0.0100 176 B
PredicateSustained False True True 4,969.56 ns 81.431 ns 76.170 ns 0.0400 736 B
PredicateSustained True False False 34.00 ns 0.528 ns 0.493 ns - -
PredicateSustained True False True 34.15 ns 0.547 ns 0.512 ns - -
PredicateSustained True True False 241.74 ns 2.398 ns 2.243 ns 0.0056 96 B
PredicateSustained True True True 4,070.20 ns 49.538 ns 46.338 ns 0.0300 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 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 608.5 ns 11.15 ns 10.43 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 7,198.1 ns 87.95 ns 82.27 ns 11.83 0.24 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,414.7 ns 21.63 ns 18.06 ns 2.33 0.05 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,410.5 ns 16.77 ns 15.69 ns 2.32 0.05 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,527.7 ns 109.66 ns 102.58 ns 15.66 0.31 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 618.4 ns 8.94 ns 8.36 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 538,531.8 ns 3,472.70 ns 3,248.37 ns 871.02 12.42 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 2,293.9 ns 34.57 ns 28.87 ns 3.71 0.07 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,281.5 ns 22.04 ns 20.62 ns 3.69 0.06 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 724,521.8 ns 6,335.34 ns 5,290.30 ns 1,171.84 17.33 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 604.7 ns 11.70 ns 10.94 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 65,661,947.2 ns 960,637.99 ns 898,581.37 ns 108,610.69 2,368.42 1000.0000 875.0000 250.0000 16002108 B 51,288.81
InvokeIntArrayFixed 100000 63,504.6 ns 355.24 ns 296.64 ns 105.04 1.88 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 63,152.4 ns 295.79 ns 262.21 ns 104.46 1.86 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 93,501,007.5 ns 1,844,068.91 ns 1,724,943.21 ns 154,658.96 3,848.08 1833.3333 1666.6667 833.3333 27894671 B 89,406.00

core-ubuntu-22.04_net10.0_microsoft_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 10.0.11 (10.0.11, 10.0.1126.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.310 μs 0.0230 μs 0.0215 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.278 μs 0.0142 μs 0.0133 μs 0.98 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.289 μs 0.0168 μs 0.0141 μs 0.98 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 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 118.9 ns 2.22 ns 2.07 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 121.2 ns 1.68 ns 1.58 ns 1.02 0.02 0.0014 24 B 1.00
GetInstanceStringField 113.7 ns 1.50 ns 1.40 ns 0.96 0.02 - - 0.00
SetInstanceStringField 713.3 ns 10.07 ns 9.42 ns 6.00 0.13 0.0153 256 B 10.67
GetStaticIntField 119.2 ns 0.96 ns 0.85 ns 1.00 0.02 0.0014 24 B 1.00
SetStaticIntField 117.8 ns 2.10 ns 1.96 ns 0.99 0.02 0.0014 24 B 1.00
GetStaticStringField 106.9 ns 1.20 ns 1.13 ns 0.90 0.02 - - 0.00
SetStaticStringField 693.6 ns 8.08 ns 7.17 ns 5.84 0.11 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 119.9 ns 1.45 ns 1.29 ns 1.01 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 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 302.8 ns 5.63 ns 5.26 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 302.5 ns 2.79 ns 2.33 ns 1.00 0.02 - - NA
InvokeStaticWithFeedback 581.9 ns 9.41 ns 8.80 ns 1.92 0.04 0.0181 312 B NA
InvokeInstanceEmpty 311.5 ns 4.63 ns 4.10 ns 1.03 0.02 - - NA
InvokeInstanceWithFeedback 609.7 ns 10.14 ns 8.99 ns 2.01 0.04 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 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.616 μs 0.0082 μs 0.0072 μs 1.00 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 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,227.5 ns 24.33 ns 26.03 ns 0.0057 104 B
PredicateRoundTrip False False True 1,214.3 ns 17.97 ns 16.81 ns 0.0057 104 B
PredicateRoundTrip False True False 1,540.6 ns 13.90 ns 13.01 ns 0.0114 200 B
PredicateRoundTrip False True True 5,072.2 ns 49.58 ns 43.95 ns 0.0381 760 B
PredicateRoundTrip True False False 440.4 ns 6.91 ns 6.46 ns 0.0014 24 B
PredicateRoundTrip True False True 436.4 ns 5.63 ns 5.27 ns 0.0014 24 B
PredicateRoundTrip True True False 789.8 ns 10.64 ns 9.43 ns 0.0067 120 B
PredicateRoundTrip True True True 4,254.3 ns 54.22 ns 48.07 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 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 643.37 ns 12.403 ns 11.602 ns 0.0038 80 B
PredicateSustained False False True 636.91 ns 12.694 ns 14.110 ns 0.0038 80 B
PredicateSustained False True False 876.65 ns 16.796 ns 18.669 ns 0.0100 176 B
PredicateSustained False True True 4,437.56 ns 29.715 ns 26.342 ns 0.0400 736 B
PredicateSustained True False False 34.63 ns 0.429 ns 0.380 ns - -
PredicateSustained True False True 34.45 ns 0.307 ns 0.272 ns - -
PredicateSustained True True False 241.45 ns 4.243 ns 3.762 ns 0.0056 96 B
PredicateSustained True True True 3,612.94 ns 69.284 ns 64.809 ns 0.0300 656 B

core-ubuntu-22.04_net10.0_microsoft_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.2 ns 8.79 ns 7.79 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 7,448.6 ns 56.36 ns 52.72 ns 10.56 0.13 0.1068 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,445.3 ns 16.95 ns 15.86 ns 2.05 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,432.6 ns 12.77 ns 11.95 ns 2.03 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,805.0 ns 72.04 ns 67.39 ns 13.91 0.17 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 688.9 ns 13.10 ns 12.86 ns 1.00 0.03 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 552,214.7 ns 5,425.93 ns 4,809.94 ns 801.84 15.99 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 2,152.6 ns 14.27 ns 13.35 ns 3.13 0.06 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,172.0 ns 35.24 ns 32.97 ns 3.15 0.07 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 760,512.2 ns 13,637.76 ns 12,756.77 ns 1,104.29 26.83 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 698.1 ns 11.43 ns 10.69 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 67,536,808.6 ns 1,163,861.20 ns 1,088,676.49 ns 96,769.14 2,081.56 1000.0000 857.1429 285.7143 16001941 B 51,288.27
InvokeIntArrayFixed 100000 72,738.8 ns 1,346.03 ns 1,259.07 ns 104.22 2.33 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 71,534.5 ns 270.98 ns 226.28 ns 102.50 1.55 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 94,861,702.5 ns 1,818,192.91 ns 2,164,429.52 ns 135,921.22 3,637.68 2000.0000 1800.0000 1000.0000 27894507 B 89,405.47

core-ubuntu-22.04_net10.0_microsoft_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.318 μs 0.0183 μs 0.0171 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.359 μs 0.0221 μs 0.0206 μs 1.03 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.326 μs 0.0123 μs 0.0109 μs 1.01 0.01 0.0210 360 B 1.00

core-ubuntu-22.04_net10.0_microsoft_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.97 ns 1.687 ns 1.578 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 112.87 ns 2.276 ns 2.129 ns 1.13 0.03 0.0014 24 B 1.00
GetInstanceStringField 104.62 ns 1.076 ns 0.954 ns 1.05 0.02 - - 0.00
SetInstanceStringField 752.42 ns 9.385 ns 8.320 ns 7.53 0.14 0.0153 256 B 10.67
GetStaticIntField 111.14 ns 1.948 ns 1.822 ns 1.11 0.02 0.0014 24 B 1.00
SetStaticIntField 117.76 ns 1.858 ns 1.647 ns 1.18 0.02 0.0014 24 B 1.00
GetStaticStringField 107.72 ns 1.112 ns 1.040 ns 1.08 0.02 - - 0.00
SetStaticStringField 803.98 ns 6.118 ns 5.424 ns 8.04 0.13 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 120.92 ns 2.387 ns 2.451 ns 1.21 0.03 0.0014 24 B 1.00

core-ubuntu-22.04_net10.0_microsoft_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.2 ns 5.62 ns 5.25 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 320.9 ns 4.74 ns 4.44 ns 0.96 0.02 - - NA
InvokeStaticWithFeedback 672.6 ns 13.35 ns 12.49 ns 2.01 0.05 0.0181 312 B NA
InvokeInstanceEmpty 335.7 ns 4.01 ns 3.75 ns 1.00 0.02 - - NA
InvokeInstanceWithFeedback 676.9 ns 8.11 ns 7.59 ns 2.03 0.04 0.0181 312 B NA

core-ubuntu-22.04_net10.0_microsoft_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.697 μs 0.0187 μs 0.0175 μs 1.00 0.0401 680 B 1.00

core-ubuntu-22.04_net10.0_microsoft_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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,250.6 ns 15.90 ns 14.10 ns 0.0057 104 B
PredicateRoundTrip False False True 1,287.2 ns 25.55 ns 25.10 ns 0.0057 104 B
PredicateRoundTrip False True False 1,615.9 ns 22.75 ns 21.28 ns 0.0114 200 B
PredicateRoundTrip False True True 5,203.7 ns 57.90 ns 54.16 ns 0.0381 760 B
PredicateRoundTrip True False False 518.8 ns 10.16 ns 9.50 ns 0.0010 24 B
PredicateRoundTrip True False True 489.1 ns 9.57 ns 8.95 ns 0.0010 24 B
PredicateRoundTrip True True False 796.7 ns 10.25 ns 9.59 ns 0.0067 120 B
PredicateRoundTrip True True True 4,416.0 ns 32.75 ns 30.64 ns 0.0381 680 B

core-ubuntu-22.04_net10.0_microsoft_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 657.68 ns 11.690 ns 10.935 ns 0.0038 80 B
PredicateSustained False False True 650.73 ns 8.520 ns 7.970 ns 0.0038 80 B
PredicateSustained False True False 954.67 ns 13.793 ns 12.902 ns 0.0100 176 B
PredicateSustained False True True 4,658.58 ns 80.506 ns 75.305 ns 0.0400 736 B
PredicateSustained True False False 33.46 ns 0.391 ns 0.365 ns - -
PredicateSustained True False True 32.82 ns 0.598 ns 0.530 ns - -
PredicateSustained True True False 250.58 ns 4.172 ns 3.902 ns 0.0056 96 B
PredicateSustained True True True 3,798.15 ns 40.155 ns 35.596 ns 0.0300 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 628.6 ns 10.35 ns 9.17 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 7,021.7 ns 82.78 ns 77.43 ns 11.17 0.20 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,381.7 ns 11.27 ns 9.99 ns 2.20 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,384.1 ns 17.49 ns 16.36 ns 2.20 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,530.6 ns 167.69 ns 156.86 ns 15.16 0.32 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 609.3 ns 4.02 ns 3.14 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 534,120.1 ns 6,428.42 ns 6,013.15 ns 876.60 10.50 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 2,250.4 ns 28.98 ns 27.11 ns 3.69 0.05 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,288.1 ns 18.92 ns 17.70 ns 3.76 0.03 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 731,336.2 ns 10,901.59 ns 10,197.35 ns 1,200.27 17.27 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 589.4 ns 5.06 ns 4.23 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 65,244,572.0 ns 1,198,731.92 ns 1,121,294.58 ns 110,697.90 1,994.57 1000.0000 875.0000 250.0000 16001999 B 51,288.46
InvokeIntArrayFixed 100000 63,126.9 ns 236.36 ns 209.52 ns 107.10 0.81 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 62,666.5 ns 269.51 ns 238.92 ns 106.32 0.83 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 95,306,874.8 ns 1,812,826.43 ns 2,014,951.78 ns 161,703.43 3,515.65 1833.3333 1666.6667 833.3333 27895388 B 89,408.29

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.290 μs 0.0242 μs 0.0227 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.256 μs 0.0225 μs 0.0211 μs 0.97 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.278 μs 0.0163 μs 0.0152 μs 0.99 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 107.7 ns 2.02 ns 1.89 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 112.3 ns 1.61 ns 1.50 ns 1.04 0.02 0.0014 24 B 1.00
GetInstanceStringField 109.2 ns 1.29 ns 1.14 ns 1.01 0.02 - - 0.00
SetInstanceStringField 701.2 ns 12.55 ns 11.74 ns 6.51 0.15 0.0153 256 B 10.67
GetStaticIntField 114.4 ns 1.48 ns 1.38 ns 1.06 0.02 0.0014 24 B 1.00
SetStaticIntField 114.8 ns 1.43 ns 1.34 ns 1.07 0.02 0.0014 24 B 1.00
GetStaticStringField 104.1 ns 1.04 ns 0.97 ns 0.97 0.02 - - 0.00
SetStaticStringField 661.7 ns 9.54 ns 8.93 ns 6.15 0.13 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 113.1 ns 1.86 ns 1.64 ns 1.05 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 301.5 ns 3.98 ns 3.73 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 299.5 ns 3.95 ns 3.69 ns 0.99 0.02 - - NA
InvokeStaticWithFeedback 650.9 ns 10.86 ns 10.16 ns 2.16 0.04 0.0181 312 B NA
InvokeInstanceEmpty 301.6 ns 5.01 ns 4.69 ns 1.00 0.02 - - NA
InvokeInstanceWithFeedback 634.1 ns 7.13 ns 6.67 ns 2.10 0.03 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 RatioSD Gen0 Allocated Alloc Ratio
InvokeMultiParam 1.593 μs 0.0229 μs 0.0214 μs 1.00 0.02 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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,189.5 ns 17.22 ns 15.26 ns 0.0057 104 B
PredicateRoundTrip False False True 1,216.0 ns 10.60 ns 8.86 ns 0.0057 104 B
PredicateRoundTrip False True False 1,530.9 ns 17.84 ns 15.81 ns 0.0114 200 B
PredicateRoundTrip False True True 5,097.3 ns 50.21 ns 46.97 ns 0.0381 760 B
PredicateRoundTrip True False False 467.4 ns 6.84 ns 6.40 ns 0.0010 24 B
PredicateRoundTrip True False True 457.8 ns 4.57 ns 4.05 ns 0.0014 24 B
PredicateRoundTrip True True False 763.5 ns 8.37 ns 7.82 ns 0.0067 120 B
PredicateRoundTrip True True True 4,593.0 ns 39.67 ns 37.11 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 665.06 ns 11.721 ns 10.964 ns 0.0038 80 B
PredicateSustained False False True 613.40 ns 9.829 ns 9.194 ns 0.0044 80 B
PredicateSustained False True False 850.49 ns 8.581 ns 7.607 ns 0.0100 176 B
PredicateSustained False True True 4,426.31 ns 52.999 ns 46.982 ns 0.0400 736 B
PredicateSustained True False False 35.43 ns 0.416 ns 0.389 ns - -
PredicateSustained True False True 36.34 ns 0.332 ns 0.310 ns - -
PredicateSustained True True False 238.49 ns 1.897 ns 1.584 ns 0.0056 96 B
PredicateSustained True True True 3,624.30 ns 47.325 ns 41.952 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)
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 678.0 ns 10.16 ns 9.01 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 7,679.0 ns 85.87 ns 76.12 ns 11.33 0.18 0.1068 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,490.6 ns 17.28 ns 16.17 ns 2.20 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,480.8 ns 8.29 ns 6.92 ns 2.18 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 10,059.2 ns 162.90 ns 152.38 ns 14.84 0.29 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 668.2 ns 6.00 ns 5.61 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 582,410.3 ns 3,829.83 ns 3,395.04 ns 871.63 8.59 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 2,249.1 ns 22.33 ns 20.88 ns 3.37 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,269.6 ns 17.07 ns 15.97 ns 3.40 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 833,448.4 ns 6,970.43 ns 6,179.11 ns 1,247.33 13.48 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 682.1 ns 9.55 ns 8.93 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 70,579,716.4 ns 805,870.44 ns 753,811.71 ns 103,484.05 1,690.74 1000.0000 857.1429 285.7143 16001136 B 51,285.69
InvokeIntArrayFixed 100000 71,332.3 ns 362.89 ns 321.69 ns 104.59 1.40 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 71,422.9 ns 406.92 ns 380.63 ns 104.72 1.43 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 97,985,097.5 ns 1,851,062.41 ns 2,131,686.22 ns 143,665.84 3,551.20 1833.3333 1666.6667 833.3333 27893661 B 89,402.76

core-ubuntu-22.04_net10.0_oracle_17


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.344 μs 0.0166 μs 0.0156 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.360 μs 0.0140 μs 0.0131 μs 1.01 0.01 0.0210 360 B 1.00
DeclaredNewEmpty 1.356 μs 0.0146 μs 0.0130 μs 1.01 0.01 0.0210 360 B 1.00

core-ubuntu-22.04_net10.0_oracle_17


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 100.6 ns 2.01 ns 1.88 ns 1.00 0.03 0.0014 24 B 1.00
SetInstanceIntField 118.4 ns 2.15 ns 2.01 ns 1.18 0.03 0.0014 24 B 1.00
GetInstanceStringField 105.8 ns 1.62 ns 1.51 ns 1.05 0.02 - - 0.00
SetInstanceStringField 769.5 ns 8.17 ns 7.64 ns 7.65 0.16 0.0153 256 B 10.67
GetStaticIntField 118.0 ns 1.63 ns 1.52 ns 1.17 0.03 0.0014 24 B 1.00
SetStaticIntField 110.3 ns 1.63 ns 1.52 ns 1.10 0.02 0.0014 24 B 1.00
GetStaticStringField 100.3 ns 1.43 ns 1.27 ns 1.00 0.02 - - 0.00
SetStaticStringField 776.7 ns 5.70 ns 5.06 ns 7.72 0.15 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 116.6 ns 1.82 ns 1.70 ns 1.16 0.03 0.0014 24 B 1.00

core-ubuntu-22.04_net10.0_oracle_17


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 329.9 ns 2.68 ns 2.09 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 318.0 ns 6.29 ns 6.18 ns 0.96 0.02 - - NA
InvokeStaticWithFeedback 692.0 ns 11.47 ns 10.73 ns 2.10 0.03 0.0181 312 B NA
InvokeInstanceEmpty 332.6 ns 6.32 ns 6.49 ns 1.01 0.02 - - NA
InvokeInstanceWithFeedback 685.0 ns 9.82 ns 8.70 ns 2.08 0.03 0.0181 312 B NA

core-ubuntu-22.04_net10.0_oracle_17


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
InvokeMultiParam 1.697 μs 0.0234 μs 0.0219 μs 1.00 0.02 0.0401 680 B 1.00

core-ubuntu-22.04_net10.0_oracle_17


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,298.8 ns 13.39 ns 12.52 ns 0.0057 104 B
PredicateRoundTrip False False True 1,289.8 ns 19.18 ns 17.94 ns 0.0057 104 B
PredicateRoundTrip False True False 1,620.0 ns 15.29 ns 12.77 ns 0.0114 200 B
PredicateRoundTrip False True True 5,371.1 ns 52.76 ns 46.77 ns 0.0381 760 B
PredicateRoundTrip True False False 494.2 ns 6.53 ns 5.79 ns 0.0010 24 B
PredicateRoundTrip True False True 517.4 ns 10.04 ns 9.86 ns 0.0010 24 B
PredicateRoundTrip True True False 819.1 ns 7.37 ns 6.53 ns 0.0067 120 B
PredicateRoundTrip True True True 4,405.8 ns 35.16 ns 29.36 ns 0.0381 680 B

core-ubuntu-22.04_net10.0_oracle_17


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 715.69 ns 12.083 ns 11.302 ns 0.0038 80 B
PredicateSustained False False True 765.62 ns 14.404 ns 13.474 ns 0.0043 80 B
PredicateSustained False True False 1,040.12 ns 8.767 ns 7.771 ns 0.0100 176 B
PredicateSustained False True True 4,865.77 ns 71.748 ns 67.113 ns 0.0400 736 B
PredicateSustained True False False 31.81 ns 0.274 ns 0.229 ns - -
PredicateSustained True False True 31.93 ns 0.475 ns 0.444 ns - -
PredicateSustained True True False 246.25 ns 2.035 ns 1.804 ns 0.0056 96 B
PredicateSustained True True True 3,896.71 ns 65.080 ns 60.876 ns 0.0300 656 B

core-ubuntu-22.04_net10.0_oracle_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 652.0 ns 12.48 ns 11.67 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 7,027.7 ns 46.95 ns 41.62 ns 10.78 0.20 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,369.7 ns 13.37 ns 11.85 ns 2.10 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,368.1 ns 25.01 ns 23.40 ns 2.10 0.05 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,306.7 ns 99.55 ns 93.11 ns 14.28 0.28 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 649.0 ns 5.60 ns 4.97 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 547,167.5 ns 6,457.36 ns 6,040.21 ns 843.18 10.94 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 2,102.0 ns 24.90 ns 23.29 ns 3.24 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,112.7 ns 29.30 ns 27.41 ns 3.26 0.05 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 738,512.9 ns 9,420.05 ns 8,350.63 ns 1,138.04 14.98 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 650.2 ns 10.54 ns 9.86 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 64,353,390.4 ns 922,866.73 ns 818,097.32 ns 98,999.34 1,886.34 1000.0000 875.0000 250.0000 16001943 B 51,288.28
InvokeIntArrayFixed 100000 71,412.3 ns 307.22 ns 272.34 ns 109.86 1.65 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 71,607.9 ns 377.97 ns 353.56 ns 110.16 1.69 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 91,216,710.5 ns 1,717,696.52 ns 1,522,693.22 ns 140,325.07 3,049.58 1833.3333 1666.6667 833.3333 27894960 B 89,406.92

core-ubuntu-22.04_net10.0_oracle_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.297 μs 0.0193 μs 0.0180 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.266 μs 0.0170 μs 0.0159 μs 0.98 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.260 μs 0.0207 μs 0.0193 μs 0.97 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 7763 2.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.1 ns 1.03 ns 0.86 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 107.1 ns 1.64 ns 1.54 ns 1.05 0.02 0.0014 24 B 1.00
GetInstanceStringField 101.0 ns 1.70 ns 1.59 ns 0.99 0.02 - - 0.00
SetInstanceStringField 727.0 ns 10.48 ns 9.81 ns 7.12 0.11 0.0153 256 B 10.67
GetStaticIntField 104.5 ns 0.76 ns 0.67 ns 1.02 0.01 0.0014 24 B 1.00
SetStaticIntField 106.0 ns 1.93 ns 1.81 ns 1.04 0.02 0.0014 24 B 1.00
GetStaticStringField 107.3 ns 2.05 ns 1.92 ns 1.05 0.02 - - 0.00
SetStaticStringField 723.9 ns 4.47 ns 3.96 ns 7.09 0.07 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 120.3 ns 0.95 ns 0.85 ns 1.18 0.01 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 7763 2.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 329.4 ns 5.96 ns 5.58 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 330.4 ns 5.29 ns 4.69 ns 1.00 0.02 - - NA
InvokeStaticWithFeedback 662.5 ns 8.31 ns 7.78 ns 2.01 0.04 0.0181 312 B NA
InvokeInstanceEmpty 339.2 ns 4.55 ns 4.26 ns 1.03 0.02 - - NA
InvokeInstanceWithFeedback 644.3 ns 9.29 ns 8.69 ns 1.96 0.04 0.0181 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 7763 2.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.575 μs 0.0213 μs 0.0189 μs 1.00 0.02 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 7763 2.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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,270.5 ns 24.18 ns 23.74 ns 0.0057 104 B
PredicateRoundTrip False False True 1,232.0 ns 24.21 ns 23.78 ns 0.0057 104 B
PredicateRoundTrip False True False 1,573.4 ns 16.21 ns 14.37 ns 0.0114 200 B
PredicateRoundTrip False True True 5,173.7 ns 65.14 ns 60.93 ns 0.0381 760 B
PredicateRoundTrip True False False 478.8 ns 9.56 ns 8.94 ns 0.0010 24 B
PredicateRoundTrip True False True 481.8 ns 6.64 ns 5.89 ns 0.0010 24 B
PredicateRoundTrip True True False 771.3 ns 11.52 ns 10.77 ns 0.0067 120 B
PredicateRoundTrip True True True 4,271.9 ns 71.14 ns 66.55 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 7763 2.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 636.07 ns 8.561 ns 7.589 ns 0.0038 80 B
PredicateSustained False False True 639.98 ns 9.227 ns 8.631 ns 0.0038 80 B
PredicateSustained False True False 909.06 ns 17.645 ns 17.330 ns 0.0100 176 B
PredicateSustained False True True 4,459.63 ns 66.117 ns 61.846 ns 0.0400 736 B
PredicateSustained True False False 33.03 ns 0.433 ns 0.383 ns - -
PredicateSustained True False True 35.01 ns 0.478 ns 0.447 ns - -
PredicateSustained True True False 243.99 ns 2.707 ns 2.400 ns 0.0056 96 B
PredicateSustained True True True 3,644.61 ns 61.627 ns 54.631 ns 0.0300 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 3.67GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 469.2 ns 6.40 ns 5.99 ns 1.00 0.02 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 10 5,413.6 ns 62.50 ns 55.41 ns 11.54 0.18 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,108.9 ns 7.64 ns 6.77 ns 2.36 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,059.2 ns 6.17 ns 5.47 ns 2.26 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 7,366.3 ns 51.60 ns 43.09 ns 15.70 0.21 0.2060 - - 3488 B 11.18
InvokeIntParam 1000 483.0 ns 7.43 ns 6.95 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 395,484.8 ns 3,799.37 ns 3,553.94 ns 819.01 13.44 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,805.7 ns 19.56 ns 18.30 ns 3.74 0.06 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,786.3 ns 12.43 ns 11.02 ns 3.70 0.06 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 583,809.0 ns 5,294.40 ns 4,952.38 ns 1,209.01 19.54 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 479.0 ns 4.92 ns 4.60 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 49,419,402.4 ns 502,939.86 ns 470,450.26 ns 103,171.14 1,347.62 1100.0000 1000.0000 300.0000 16001374 B 51,286.46
InvokeIntArrayFixed 100000 50,630.9 ns 134.70 ns 119.41 ns 105.70 1.01 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 51,130.5 ns 336.71 ns 314.96 ns 106.74 1.18 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 76,747,353.1 ns 1,479,675.22 ns 1,384,089.12 ns 160,222.73 3,166.53 2000.0000 1857.1429 857.1429 27893921 B 89,403.59

core-ubuntu-22.04_net10.0_oracle_25


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 10.0.11 (10.0.11, 10.0.1126.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 980.0 ns 8.65 ns 7.67 ns 1.00 0.0210 360 B 1.00
NewWithSignature 987.2 ns 13.92 ns 13.02 ns 1.01 0.0210 360 B 1.00
DeclaredNewEmpty 979.5 ns 9.33 ns 8.27 ns 1.00 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 3.67GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.64 ns 1.386 ns 1.297 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 88.44 ns 1.120 ns 1.048 ns 1.07 0.02 0.0014 24 B 1.00
GetInstanceStringField 84.72 ns 1.399 ns 1.309 ns 1.03 0.02 - - 0.00
SetInstanceStringField 540.41 ns 4.921 ns 4.362 ns 6.54 0.11 0.0153 256 B 10.67
GetStaticIntField 93.20 ns 1.096 ns 1.026 ns 1.13 0.02 0.0014 24 B 1.00
SetStaticIntField 87.44 ns 1.764 ns 1.650 ns 1.06 0.03 0.0014 24 B 1.00
GetStaticStringField 80.71 ns 1.299 ns 1.215 ns 0.98 0.02 - - 0.00
SetStaticStringField 512.97 ns 8.176 ns 7.648 ns 6.21 0.13 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 91.73 ns 1.608 ns 1.504 ns 1.11 0.02 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 3.67GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 224.9 ns 1.41 ns 1.18 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 237.0 ns 3.69 ns 3.45 ns 1.05 0.02 - - NA
InvokeStaticWithFeedback 456.4 ns 7.49 ns 7.01 ns 2.03 0.03 0.0186 312 B NA
InvokeInstanceEmpty 233.6 ns 3.96 ns 3.70 ns 1.04 0.02 - - NA
InvokeInstanceWithFeedback 495.6 ns 7.37 ns 6.89 ns 2.20 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 3.67GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.219 μs 0.0206 μs 0.0193 μs 1.00 0.02 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 3.67GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.8 ns 5.10 ns 4.26 ns 0.0057 104 B
PredicateRoundTrip False False True 934.8 ns 8.74 ns 6.82 ns 0.0057 104 B
PredicateRoundTrip False True False 1,191.1 ns 14.88 ns 13.92 ns 0.0114 200 B
PredicateRoundTrip False True True 3,936.6 ns 40.95 ns 38.30 ns 0.0381 760 B
PredicateRoundTrip True False False 340.4 ns 4.37 ns 4.09 ns 0.0014 24 B
PredicateRoundTrip True False True 345.7 ns 5.43 ns 4.82 ns 0.0014 24 B
PredicateRoundTrip True True False 617.3 ns 6.12 ns 5.43 ns 0.0067 120 B
PredicateRoundTrip True True True 3,308.9 ns 25.13 ns 23.51 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 3.67GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 499.06 ns 9.717 ns 9.090 ns 0.0045 80 B
PredicateSustained False False True 475.17 ns 6.346 ns 5.626 ns 0.0045 80 B
PredicateSustained False True False 655.43 ns 10.418 ns 9.745 ns 0.0100 176 B
PredicateSustained False True True 3,352.10 ns 49.791 ns 46.574 ns 0.0400 736 B
PredicateSustained True False False 29.95 ns 0.189 ns 0.158 ns - -
PredicateSustained True False True 27.29 ns 0.267 ns 0.237 ns - -
PredicateSustained True True False 187.05 ns 1.285 ns 1.073 ns 0.0056 96 B
PredicateSustained True True True 2,710.03 ns 14.663 ns 12.999 ns 0.0350 656 B

core-ubuntu-22.04_net10.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 714.4 ns 10.44 ns 9.76 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 8,132.7 ns 101.48 ns 89.96 ns 11.39 0.19 0.1068 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,516.5 ns 18.10 ns 16.04 ns 2.12 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,500.2 ns 6.45 ns 5.38 ns 2.10 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 10,213.9 ns 113.83 ns 106.48 ns 14.30 0.24 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 710.8 ns 7.78 ns 6.90 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 632,014.0 ns 7,807.08 ns 7,302.75 ns 889.20 12.95 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 2,267.6 ns 28.68 ns 25.43 ns 3.19 0.05 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,300.0 ns 19.85 ns 18.57 ns 3.24 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 806,083.1 ns 7,773.27 ns 7,271.12 ns 1,134.10 14.48 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 694.9 ns 10.62 ns 9.94 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 76,811,428.6 ns 1,458,009.21 ns 1,363,822.72 ns 110,552.35 2,436.23 1000.0000 857.1429 285.7143 16001381 B 51,286.48
InvokeIntArrayFixed 100000 74,845.2 ns 391.31 ns 346.89 ns 107.72 1.56 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 74,218.8 ns 483.59 ns 452.35 ns 106.82 1.60 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 97,034,125.5 ns 1,294,106.76 ns 1,210,508.27 ns 139,658.26 2,559.76 1833.3333 1666.6667 833.3333 27895223 B 89,407.77

core-ubuntu-22.04_net10.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.386 μs 0.0190 μs 0.0177 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.404 μs 0.0118 μs 0.0105 μs 1.01 0.01 0.0210 360 B 1.00
DeclaredNewEmpty 1.378 μs 0.0167 μs 0.0156 μs 0.99 0.02 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 7763 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 112.9 ns 1.47 ns 1.30 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 121.7 ns 2.09 ns 1.95 ns 1.08 0.02 0.0014 24 B 1.00
GetInstanceStringField 113.9 ns 2.03 ns 1.90 ns 1.01 0.02 - - 0.00
SetInstanceStringField 794.0 ns 4.46 ns 4.17 ns 7.03 0.09 0.0153 256 B 10.67
GetStaticIntField 121.2 ns 1.92 ns 1.79 ns 1.07 0.02 0.0014 24 B 1.00
SetStaticIntField 126.5 ns 1.39 ns 1.23 ns 1.12 0.02 0.0014 24 B 1.00
GetStaticStringField 117.9 ns 2.26 ns 2.32 ns 1.04 0.02 - - 0.00
SetStaticStringField 828.5 ns 6.36 ns 5.95 ns 7.34 0.10 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 115.5 ns 1.46 ns 1.37 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 7763 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 403.4 ns 3.12 ns 2.44 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 399.2 ns 6.47 ns 6.06 ns 0.99 0.02 - - NA
InvokeStaticWithFeedback 667.0 ns 9.37 ns 8.77 ns 1.65 0.02 0.0181 312 B NA
InvokeInstanceEmpty 440.1 ns 8.45 ns 9.04 ns 1.09 0.02 - - NA
InvokeInstanceWithFeedback 721.7 ns 10.16 ns 9.01 ns 1.79 0.02 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 7763 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.728 μs 0.0264 μs 0.0247 μs 1.00 0.02 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 7763 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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,429.9 ns 20.62 ns 18.28 ns 0.0057 104 B
PredicateRoundTrip False False True 1,372.7 ns 26.88 ns 26.40 ns 0.0057 104 B
PredicateRoundTrip False True False 1,690.4 ns 19.32 ns 17.13 ns 0.0114 200 B
PredicateRoundTrip False True True 5,628.2 ns 49.31 ns 43.71 ns 0.0381 760 B
PredicateRoundTrip True False False 528.1 ns 10.56 ns 10.37 ns 0.0010 24 B
PredicateRoundTrip True False True 531.1 ns 9.49 ns 8.88 ns 0.0010 24 B
PredicateRoundTrip True True False 851.2 ns 8.97 ns 8.39 ns 0.0067 120 B
PredicateRoundTrip True True True 4,649.9 ns 87.47 ns 85.90 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 7763 2.86GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 704.32 ns 8.891 ns 7.882 ns 0.0038 80 B
PredicateSustained False False True 726.87 ns 14.476 ns 16.090 ns 0.0043 80 B
PredicateSustained False True False 1,033.57 ns 7.685 ns 6.417 ns 0.0100 176 B
PredicateSustained False True True 4,863.40 ns 39.268 ns 30.658 ns 0.0400 736 B
PredicateSustained True False False 33.70 ns 0.661 ns 0.649 ns - -
PredicateSustained True False True 35.03 ns 0.276 ns 0.230 ns - -
PredicateSustained True True False 255.33 ns 3.181 ns 2.976 ns 0.0056 96 B
PredicateSustained True True True 3,992.67 ns 19.255 ns 15.033 ns 0.0300 656 B

core-ubuntu-22.04_net10.0_temurin_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.81GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 671.1 ns 10.69 ns 10.00 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 7,383.5 ns 91.79 ns 81.37 ns 11.00 0.20 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,425.4 ns 21.69 ns 19.23 ns 2.12 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,403.8 ns 20.53 ns 19.21 ns 2.09 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,731.9 ns 90.51 ns 80.24 ns 14.50 0.24 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 654.0 ns 10.95 ns 10.24 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 559,780.7 ns 8,240.98 ns 7,708.62 ns 856.16 17.28 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 2,136.8 ns 24.33 ns 20.32 ns 3.27 0.06 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,204.8 ns 22.56 ns 21.10 ns 3.37 0.06 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 763,987.5 ns 6,816.59 ns 6,042.73 ns 1,168.48 19.82 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 660.3 ns 10.82 ns 10.12 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 68,069,697.7 ns 768,343.33 ns 718,708.83 ns 103,109.63 1,853.39 1000.0000 857.1429 285.7143 16002025 B 51,288.54
InvokeIntArrayFixed 100000 71,343.6 ns 463.35 ns 410.74 ns 108.07 1.71 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 71,570.9 ns 435.93 ns 386.44 ns 108.41 1.70 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 94,733,134.0 ns 1,765,518.74 ns 2,033,174.01 ns 143,498.49 3,679.47 2000.0000 1833.3333 1000.0000 27894313 B 89,404.85

core-ubuntu-22.04_net10.0_temurin_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.81GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.293 μs 0.0199 μs 0.0176 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.298 μs 0.0132 μs 0.0117 μs 1.00 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.299 μs 0.0204 μs 0.0191 μs 1.01 0.02 0.0210 360 B 1.00

core-ubuntu-22.04_net10.0_temurin_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.81GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 101.0 ns 1.52 ns 1.42 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 122.0 ns 2.34 ns 2.30 ns 1.21 0.03 0.0014 24 B 1.00
GetInstanceStringField 104.5 ns 2.10 ns 2.16 ns 1.04 0.03 - - 0.00
SetInstanceStringField 755.5 ns 7.56 ns 6.70 ns 7.49 0.12 0.0153 256 B 10.67
GetStaticIntField 107.0 ns 2.15 ns 2.01 ns 1.06 0.02 0.0014 24 B 1.00
SetStaticIntField 122.4 ns 2.44 ns 2.28 ns 1.21 0.03 0.0014 24 B 1.00
GetStaticStringField 107.0 ns 1.28 ns 1.00 ns 1.06 0.02 - - 0.00
SetStaticStringField 745.3 ns 5.70 ns 5.33 ns 7.38 0.11 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 118.8 ns 2.24 ns 2.20 ns 1.18 0.03 0.0014 24 B 1.00

core-ubuntu-22.04_net10.0_temurin_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.81GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 338.8 ns 6.82 ns 6.70 ns 1.00 0.03 - - NA
InvokeStaticEmptyWithSignature 318.1 ns 5.14 ns 4.81 ns 0.94 0.02 - - NA
InvokeStaticWithFeedback 641.9 ns 12.12 ns 12.44 ns 1.90 0.05 0.0181 312 B NA
InvokeInstanceEmpty 334.5 ns 4.59 ns 4.07 ns 0.99 0.02 - - NA
InvokeInstanceWithFeedback 689.5 ns 8.96 ns 7.94 ns 2.04 0.04 0.0181 312 B NA

core-ubuntu-22.04_net10.0_temurin_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.81GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.644 μs 0.0179 μs 0.0168 μs 1.00 0.0401 680 B 1.00

core-ubuntu-22.04_net10.0_temurin_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.81GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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,260.6 ns 16.81 ns 14.91 ns 0.0057 104 B
PredicateRoundTrip False False True 1,273.4 ns 24.73 ns 20.65 ns 0.0057 104 B
PredicateRoundTrip False True False 1,579.1 ns 22.95 ns 20.34 ns 0.0114 200 B
PredicateRoundTrip False True True 5,141.0 ns 77.88 ns 69.04 ns 0.0381 760 B
PredicateRoundTrip True False False 503.2 ns 10.10 ns 10.81 ns 0.0010 24 B
PredicateRoundTrip True False True 498.9 ns 9.98 ns 11.50 ns 0.0010 24 B
PredicateRoundTrip True True False 799.8 ns 6.33 ns 5.29 ns 0.0067 120 B
PredicateRoundTrip True True True 4,327.3 ns 72.62 ns 67.93 ns 0.0381 680 B

core-ubuntu-22.04_net10.0_temurin_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.81GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 648.15 ns 11.510 ns 10.766 ns 0.0038 80 B
PredicateSustained False False True 638.42 ns 11.607 ns 9.693 ns 0.0038 80 B
PredicateSustained False True False 941.33 ns 15.152 ns 13.432 ns 0.0100 176 B
PredicateSustained False True True 4,501.67 ns 43.701 ns 38.740 ns 0.0400 736 B
PredicateSustained True False False 32.71 ns 0.628 ns 0.617 ns - -
PredicateSustained True False True 32.67 ns 0.630 ns 0.590 ns - -
PredicateSustained True True False 250.15 ns 2.607 ns 2.439 ns 0.0056 96 B
PredicateSustained True True True 3,708.24 ns 49.703 ns 44.061 ns 0.0300 656 B

core-ubuntu-22.04_net10.0_temurin_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 446.8 ns 7.10 ns 6.64 ns 1.00 0.02 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 10 5,689.7 ns 66.20 ns 61.92 ns 12.74 0.23 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,057.3 ns 7.73 ns 6.85 ns 2.37 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,056.6 ns 3.66 ns 2.86 ns 2.37 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 7,119.4 ns 98.96 ns 92.57 ns 15.94 0.30 0.2060 - - 3488 B 11.18
InvokeIntParam 1000 470.9 ns 8.32 ns 7.78 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 408,698.2 ns 3,402.67 ns 3,016.38 ns 868.13 15.09 9.2773 2.4414 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,772.8 ns 5.69 ns 5.05 ns 3.77 0.06 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,780.5 ns 16.17 ns 13.50 ns 3.78 0.07 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 549,231.5 ns 7,561.65 ns 7,073.17 ns 1,166.64 23.53 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 464.6 ns 7.87 ns 7.36 ns 1.00 0.02 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 100000 48,057,350.2 ns 720,369.34 ns 638,588.66 ns 103,460.00 2,058.82 1000.0000 909.0909 272.7273 16002281 B 51,289.36
InvokeIntArrayFixed 100000 50,520.3 ns 212.26 ns 198.55 ns 108.76 1.70 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 50,527.7 ns 199.32 ns 166.44 ns 108.78 1.69 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 72,298,882.6 ns 1,437,445.46 ns 2,592,010.87 ns 155,648.25 6,001.63 2000.0000 1857.1429 857.1429 27894865 B 89,406.62

core-ubuntu-22.04_net10.0_temurin_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 982.3 ns 12.16 ns 10.78 ns 1.00 0.0210 360 B 1.00
NewWithSignature 966.7 ns 8.19 ns 6.84 ns 0.98 0.0210 360 B 1.00
DeclaredNewEmpty 947.1 ns 5.02 ns 4.45 ns 0.96 0.0210 360 B 1.00

core-ubuntu-22.04_net10.0_temurin_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.15 ns 1.345 ns 1.258 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 87.11 ns 0.941 ns 0.880 ns 1.05 0.02 0.0014 24 B 1.00
GetInstanceStringField 85.50 ns 1.680 ns 1.650 ns 1.03 0.02 - - 0.00
SetInstanceStringField 529.36 ns 8.192 ns 7.663 ns 6.37 0.13 0.0153 256 B 10.67
GetStaticIntField 85.72 ns 0.329 ns 0.291 ns 1.03 0.02 0.0014 24 B 1.00
SetStaticIntField 89.61 ns 1.142 ns 1.068 ns 1.08 0.02 0.0014 24 B 1.00
GetStaticStringField 81.30 ns 1.265 ns 1.183 ns 0.98 0.02 - - 0.00
SetStaticStringField 516.16 ns 3.892 ns 3.640 ns 6.21 0.10 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 87.68 ns 1.143 ns 1.070 ns 1.05 0.02 0.0014 24 B 1.00

core-ubuntu-22.04_net10.0_temurin_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 227.3 ns 2.76 ns 2.59 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 229.9 ns 3.83 ns 3.59 ns 1.01 0.02 - - NA
InvokeStaticWithFeedback 455.0 ns 3.50 ns 3.10 ns 2.00 0.03 0.0186 312 B NA
InvokeInstanceEmpty 226.5 ns 4.48 ns 4.19 ns 1.00 0.02 - - NA
InvokeInstanceWithFeedback 471.3 ns 9.28 ns 9.11 ns 2.07 0.05 0.0186 312 B NA

core-ubuntu-22.04_net10.0_temurin_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.258 μs 0.0150 μs 0.0140 μs 1.00 0.02 0.0401 680 B 1.00

core-ubuntu-22.04_net10.0_temurin_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 895.7 ns 12.03 ns 11.25 ns 0.0057 104 B
PredicateRoundTrip False False True 907.7 ns 11.79 ns 9.84 ns 0.0057 104 B
PredicateRoundTrip False True False 1,179.2 ns 13.77 ns 11.50 ns 0.0114 200 B
PredicateRoundTrip False True True 3,801.3 ns 55.23 ns 48.96 ns 0.0381 760 B
PredicateRoundTrip True False False 341.5 ns 4.00 ns 3.74 ns 0.0014 24 B
PredicateRoundTrip True False True 341.8 ns 2.68 ns 2.09 ns 0.0014 24 B
PredicateRoundTrip True True False 585.1 ns 5.84 ns 4.88 ns 0.0067 120 B
PredicateRoundTrip True True True 3,233.4 ns 26.10 ns 24.41 ns 0.0381 680 B

core-ubuntu-22.04_net10.0_temurin_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.68GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 471.10 ns 8.667 ns 8.107 ns 0.0045 80 B
PredicateSustained False False True 487.37 ns 4.996 ns 4.172 ns 0.0040 80 B
PredicateSustained False True False 659.47 ns 12.644 ns 11.827 ns 0.0100 176 B
PredicateSustained False True True 3,329.19 ns 57.277 ns 50.774 ns 0.0400 736 B
PredicateSustained True False False 27.30 ns 0.495 ns 0.463 ns - -
PredicateSustained True False True 27.16 ns 0.393 ns 0.368 ns - -
PredicateSustained True True False 184.06 ns 1.514 ns 1.417 ns 0.0056 96 B
PredicateSustained True True True 2,770.32 ns 34.808 ns 32.559 ns 0.0350 656 B

core-ubuntu-22.04_net10.0_temurin_25


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 10.0.11 (10.0.11, 10.0.1126.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.4 ns 13.62 ns 13.38 ns 1.00 0.03 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 7,260.0 ns 108.22 ns 101.23 ns 10.30 0.24 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,445.8 ns 15.79 ns 14.00 ns 2.05 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,459.8 ns 25.25 ns 23.62 ns 2.07 0.05 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,755.7 ns 61.62 ns 57.64 ns 13.84 0.27 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 687.1 ns 10.55 ns 9.35 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 557,727.5 ns 9,140.80 ns 8,550.31 ns 811.87 16.07 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 2,146.5 ns 19.32 ns 18.08 ns 3.12 0.05 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,174.1 ns 17.25 ns 14.40 ns 3.16 0.05 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 759,131.5 ns 9,919.55 ns 9,278.75 ns 1,105.05 19.51 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 702.6 ns 13.84 ns 12.95 ns 1.00 0.03 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 64,898,540.6 ns 471,393.57 ns 417,878.12 ns 92,398.20 1,726.71 1000.0000 857.1429 285.7143 16000624 B 51,284.05
InvokeIntArrayFixed 100000 71,389.9 ns 393.59 ns 368.16 ns 101.64 1.86 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 71,455.1 ns 174.22 ns 145.48 ns 101.73 1.80 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 95,098,483.1 ns 1,890,714.20 ns 2,023,043.01 ns 135,394.85 3,681.48 1833.3333 1666.6667 833.3333 27893657 B 89,402.75

core-ubuntu-22.04_net10.0_temurin_25


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 10.0.11 (10.0.11, 10.0.1126.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.293 μs 0.0199 μs 0.0186 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.281 μs 0.0225 μs 0.0210 μs 0.99 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.338 μs 0.0184 μs 0.0173 μs 1.04 0.02 0.0210 360 B 1.00

core-ubuntu-22.04_net10.0_temurin_25


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 10.0.11 (10.0.11, 10.0.1126.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.2 ns 1.86 ns 1.74 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 111.2 ns 1.79 ns 1.67 ns 1.06 0.02 0.0014 24 B 1.00
GetInstanceStringField 102.7 ns 2.02 ns 1.99 ns 0.98 0.02 - - 0.00
SetInstanceStringField 741.3 ns 8.10 ns 7.58 ns 7.05 0.13 0.0153 256 B 10.67
GetStaticIntField 111.1 ns 1.75 ns 1.64 ns 1.06 0.02 0.0014 24 B 1.00
SetStaticIntField 119.4 ns 2.08 ns 1.95 ns 1.14 0.03 0.0014 24 B 1.00
GetStaticStringField 104.0 ns 1.84 ns 1.72 ns 0.99 0.02 - - 0.00
SetStaticStringField 699.4 ns 4.36 ns 3.87 ns 6.65 0.11 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 118.4 ns 1.37 ns 1.14 ns 1.13 0.02 0.0014 24 B 1.00

core-ubuntu-22.04_net10.0_temurin_25


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 10.0.11 (10.0.11, 10.0.1126.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 329.5 ns 6.09 ns 5.70 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 337.3 ns 6.50 ns 6.96 ns 1.02 0.03 - - NA
InvokeStaticWithFeedback 674.9 ns 13.08 ns 12.23 ns 2.05 0.05 0.0181 312 B NA
InvokeInstanceEmpty 348.3 ns 5.23 ns 4.64 ns 1.06 0.02 - - NA
InvokeInstanceWithFeedback 704.2 ns 12.01 ns 11.24 ns 2.14 0.05 0.0181 312 B NA

core-ubuntu-22.04_net10.0_temurin_25


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 10.0.11 (10.0.11, 10.0.1126.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.641 μs 0.0278 μs 0.0260 μs 1.00 0.02 0.0401 680 B 1.00

core-ubuntu-22.04_net10.0_temurin_25


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 10.0.11 (10.0.11, 10.0.1126.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,265.0 ns 22.68 ns 23.29 ns 0.0057 104 B
PredicateRoundTrip False False True 1,306.6 ns 24.13 ns 22.57 ns 0.0057 104 B
PredicateRoundTrip False True False 1,627.9 ns 20.94 ns 18.56 ns 0.0114 200 B
PredicateRoundTrip False True True 5,164.3 ns 51.64 ns 43.12 ns 0.0381 760 B
PredicateRoundTrip True False False 518.3 ns 9.78 ns 9.15 ns 0.0010 24 B
PredicateRoundTrip True False True 519.1 ns 8.12 ns 7.20 ns 0.0010 24 B
PredicateRoundTrip True True False 812.9 ns 10.16 ns 9.50 ns 0.0067 120 B
PredicateRoundTrip True True True 4,416.2 ns 39.35 ns 32.86 ns 0.0381 680 B

core-ubuntu-22.04_net10.0_temurin_25


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 10.0.11 (10.0.11, 10.0.1126.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 643.01 ns 12.691 ns 13.033 ns 0.0038 80 B
PredicateSustained False False True 632.59 ns 10.653 ns 9.965 ns 0.0038 80 B
PredicateSustained False True False 927.04 ns 13.585 ns 12.708 ns 0.0100 176 B
PredicateSustained False True True 4,686.49 ns 73.783 ns 69.017 ns 0.0400 736 B
PredicateSustained True False False 33.59 ns 0.502 ns 0.469 ns - -
PredicateSustained True False True 33.89 ns 0.516 ns 0.482 ns - -
PredicateSustained True True False 256.36 ns 3.477 ns 3.082 ns 0.0056 96 B
PredicateSustained True True True 3,788.41 ns 45.398 ns 42.465 ns 0.0300 656 B

core-ubuntu-22.04_net10.0_zulu_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.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-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 651.2 ns 11.52 ns 10.78 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 7,734.4 ns 151.85 ns 149.14 ns 11.88 0.29 0.1068 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,418.5 ns 12.74 ns 10.64 ns 2.18 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,419.8 ns 21.40 ns 20.01 ns 2.18 0.05 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,378.1 ns 98.45 ns 87.28 ns 14.41 0.26 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 642.4 ns 8.30 ns 7.36 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 579,301.2 ns 8,715.88 ns 8,152.84 ns 901.91 15.83 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 2,175.8 ns 23.41 ns 21.90 ns 3.39 0.05 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,147.5 ns 12.23 ns 10.84 ns 3.34 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 745,632.6 ns 11,130.07 ns 10,411.07 ns 1,160.87 20.27 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 697.1 ns 13.68 ns 12.80 ns 1.00 0.03 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 69,916,214.4 ns 1,327,913.51 ns 1,242,131.12 ns 100,321.26 2,498.70 1000.0000 857.1429 285.7143 16000688 B 51,284.26
InvokeIntArrayFixed 100000 71,243.2 ns 282.37 ns 250.31 ns 102.23 1.87 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 71,096.7 ns 231.06 ns 192.94 ns 102.02 1.86 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 91,537,412.6 ns 1,033,190.23 ns 862,760.63 ns 131,345.05 2,649.90 1833.3333 1666.6667 833.3333 27893724 B 89,402.96

core-ubuntu-22.04_net10.0_zulu_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.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-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.283 μs 0.0155 μs 0.0137 μs 1.00 0.01 0.0210 360 B 1.00
NewWithSignature 1.299 μs 0.0124 μs 0.0104 μs 1.01 0.01 0.0210 360 B 1.00
DeclaredNewEmpty 1.332 μs 0.0181 μs 0.0169 μs 1.04 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 7763 2.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-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 109.9 ns 1.37 ns 1.28 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 126.4 ns 2.56 ns 2.74 ns 1.15 0.03 0.0014 24 B 1.00
GetInstanceStringField 116.8 ns 2.37 ns 2.73 ns 1.06 0.03 - - 0.00
SetInstanceStringField 777.5 ns 8.26 ns 7.73 ns 7.08 0.10 0.0153 256 B 10.67
GetStaticIntField 119.9 ns 2.08 ns 1.95 ns 1.09 0.02 0.0014 24 B 1.00
SetStaticIntField 129.1 ns 1.73 ns 1.54 ns 1.17 0.02 0.0014 24 B 1.00
GetStaticStringField 115.3 ns 1.68 ns 1.57 ns 1.05 0.02 - - 0.00
SetStaticStringField 792.3 ns 6.62 ns 5.87 ns 7.21 0.10 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 124.6 ns 0.86 ns 0.76 ns 1.13 0.01 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 7763 2.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-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 406.4 ns 6.84 ns 6.40 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 380.4 ns 7.10 ns 6.64 ns 0.94 0.02 - - NA
InvokeStaticWithFeedback 639.5 ns 5.62 ns 4.69 ns 1.57 0.03 0.0181 312 B NA
InvokeInstanceEmpty 404.2 ns 3.74 ns 3.31 ns 0.99 0.02 - - NA
InvokeInstanceWithFeedback 673.0 ns 12.82 ns 11.99 ns 1.66 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 7763 2.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-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.672 μs 0.0066 μs 0.0055 μ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 7763 2.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-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,338.8 ns 22.91 ns 21.43 ns 0.0057 104 B
PredicateRoundTrip False False True 1,296.1 ns 23.89 ns 22.35 ns 0.0057 104 B
PredicateRoundTrip False True False 1,659.9 ns 25.91 ns 24.23 ns 0.0114 200 B
PredicateRoundTrip False True True 5,282.3 ns 33.19 ns 29.42 ns 0.0381 760 B
PredicateRoundTrip True False False 565.5 ns 11.25 ns 11.05 ns 0.0010 24 B
PredicateRoundTrip True False True 502.0 ns 9.94 ns 11.83 ns 0.0010 24 B
PredicateRoundTrip True True False 796.6 ns 7.45 ns 6.97 ns 0.0067 120 B
PredicateRoundTrip True True True 4,389.4 ns 37.78 ns 29.50 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 7763 2.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-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 728.32 ns 12.183 ns 11.396 ns 0.0043 80 B
PredicateSustained False False True 728.77 ns 12.845 ns 11.386 ns 0.0043 80 B
PredicateSustained False True False 995.42 ns 19.127 ns 19.642 ns 0.0100 176 B
PredicateSustained False True True 4,691.88 ns 42.770 ns 40.008 ns 0.0400 736 B
PredicateSustained True False False 34.81 ns 0.555 ns 0.519 ns - -
PredicateSustained True False True 33.42 ns 0.467 ns 0.414 ns - -
PredicateSustained True True False 252.94 ns 2.447 ns 2.289 ns 0.0056 96 B
PredicateSustained True True True 3,844.88 ns 41.999 ns 39.286 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 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 629.5 ns 6.09 ns 5.40 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 7,324.0 ns 105.54 ns 93.56 ns 11.64 0.17 0.1068 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,429.9 ns 15.43 ns 13.68 ns 2.27 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,403.0 ns 27.53 ns 27.04 ns 2.23 0.05 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,822.0 ns 89.22 ns 79.09 ns 15.61 0.18 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 615.6 ns 5.88 ns 5.50 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 542,294.2 ns 8,567.91 ns 8,014.43 ns 880.98 14.72 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 2,287.7 ns 17.55 ns 16.42 ns 3.72 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,261.8 ns 14.36 ns 12.73 ns 3.67 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 765,272.9 ns 11,139.51 ns 10,419.90 ns 1,243.21 19.59 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 634.9 ns 5.01 ns 4.18 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 67,294,203.5 ns 1,341,996.53 ns 1,255,304.39 ns 106,001.83 2,028.51 1000.0000 875.0000 250.0000 16001578 B 51,287.11
InvokeIntArrayFixed 100000 63,759.9 ns 177.66 ns 157.49 ns 100.43 0.68 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 63,787.3 ns 229.66 ns 203.59 ns 100.48 0.71 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 95,819,687.7 ns 1,798,428.84 ns 1,682,251.45 ns 150,935.17 2,737.39 1833.3333 1666.6667 833.3333 27893371 B 89,401.83

core-ubuntu-22.04_net10.0_zulu_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 10.0.11 (10.0.11, 10.0.1126.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.330 μs 0.0176 μs 0.0165 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.308 μs 0.0174 μs 0.0162 μs 0.98 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.296 μs 0.0187 μs 0.0175 μs 0.97 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 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 112.9 ns 1.61 ns 1.51 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 120.1 ns 2.44 ns 2.28 ns 1.06 0.02 0.0014 24 B 1.00
GetInstanceStringField 115.8 ns 1.38 ns 1.29 ns 1.03 0.02 - - 0.00
SetInstanceStringField 718.6 ns 9.57 ns 8.95 ns 6.36 0.11 0.0153 256 B 10.67
GetStaticIntField 119.3 ns 2.34 ns 2.19 ns 1.06 0.02 0.0014 24 B 1.00
SetStaticIntField 126.7 ns 2.48 ns 2.66 ns 1.12 0.03 0.0014 24 B 1.00
GetStaticStringField 110.5 ns 1.70 ns 1.50 ns 0.98 0.02 - - 0.00
SetStaticStringField 693.8 ns 6.10 ns 5.70 ns 6.14 0.09 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 115.5 ns 1.11 ns 0.92 ns 1.02 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 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 301.5 ns 3.69 ns 3.27 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 309.2 ns 5.89 ns 5.51 ns 1.03 0.02 - - NA
InvokeStaticWithFeedback 623.2 ns 6.57 ns 6.14 ns 2.07 0.03 0.0181 312 B NA
InvokeInstanceEmpty 306.6 ns 3.27 ns 3.06 ns 1.02 0.01 - - NA
InvokeInstanceWithFeedback 619.5 ns 7.52 ns 7.04 ns 2.05 0.03 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 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
InvokeMultiParam 1.595 μs 0.0264 μs 0.0247 μs 1.00 0.02 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 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,250.5 ns 14.24 ns 13.32 ns 0.0057 104 B
PredicateRoundTrip False False True 1,264.2 ns 15.37 ns 14.38 ns 0.0057 104 B
PredicateRoundTrip False True False 1,582.2 ns 15.24 ns 13.51 ns 0.0114 200 B
PredicateRoundTrip False True True 5,186.5 ns 67.93 ns 63.54 ns 0.0381 760 B
PredicateRoundTrip True False False 466.8 ns 9.09 ns 8.50 ns 0.0014 24 B
PredicateRoundTrip True False True 444.7 ns 6.74 ns 6.31 ns 0.0014 24 B
PredicateRoundTrip True True False 749.6 ns 9.06 ns 8.47 ns 0.0067 120 B
PredicateRoundTrip True True True 4,232.1 ns 44.99 ns 39.88 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 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 637.10 ns 11.520 ns 11.315 ns 0.0038 80 B
PredicateSustained False False True 638.73 ns 10.992 ns 10.282 ns 0.0038 80 B
PredicateSustained False True False 919.68 ns 11.349 ns 10.061 ns 0.0100 176 B
PredicateSustained False True True 4,512.77 ns 81.356 ns 87.050 ns 0.0400 736 B
PredicateSustained True False False 34.97 ns 0.300 ns 0.250 ns - -
PredicateSustained True False True 33.85 ns 0.418 ns 0.391 ns - -
PredicateSustained True True False 239.74 ns 1.555 ns 1.379 ns 0.0056 96 B
PredicateSustained True True True 3,618.24 ns 51.276 ns 47.963 ns 0.0300 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.95GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 668.0 ns 4.96 ns 4.39 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 7,584.4 ns 138.92 ns 129.94 ns 11.35 0.20 0.1068 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,443.3 ns 21.91 ns 20.49 ns 2.16 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,439.5 ns 20.92 ns 19.57 ns 2.16 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 10,164.4 ns 97.61 ns 86.53 ns 15.22 0.16 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 684.7 ns 6.88 ns 6.10 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 554,462.4 ns 9,436.32 ns 8,826.74 ns 809.90 14.32 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 2,164.4 ns 25.86 ns 24.19 ns 3.16 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 2,132.9 ns 25.11 ns 23.49 ns 3.12 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 758,954.7 ns 5,949.36 ns 5,565.04 ns 1,108.60 12.41 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 671.2 ns 11.74 ns 10.98 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 66,624,625.7 ns 1,007,421.09 ns 942,342.31 ns 99,279.30 2,066.82 1000.0000 875.0000 250.0000 16001383 B 51,286.48
InvokeIntArrayFixed 100000 71,991.9 ns 376.97 ns 352.62 ns 107.28 1.76 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 71,483.8 ns 532.54 ns 498.14 ns 106.52 1.82 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 91,231,545.1 ns 1,760,209.32 ns 2,288,769.50 ns 135,946.79 3,964.38 2000.0000 1833.3333 1000.0000 27897993 B 89,416.64

core-ubuntu-22.04_net10.0_zulu_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 2.95GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.330 μs 0.0184 μs 0.0172 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.330 μs 0.0256 μs 0.0262 μs 1.00 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.329 μs 0.0198 μs 0.0185 μs 1.00 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.95GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.91 ns 1.79 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 123.3 ns 2.39 ns 2.24 ns 1.21 0.03 0.0014 24 B 1.00
GetInstanceStringField 102.4 ns 0.51 ns 0.40 ns 1.01 0.02 - - 0.00
SetInstanceStringField 738.9 ns 5.65 ns 5.28 ns 7.25 0.13 0.0153 256 B 10.67
GetStaticIntField 114.0 ns 2.18 ns 2.04 ns 1.12 0.03 0.0014 24 B 1.00
SetStaticIntField 116.4 ns 1.02 ns 0.85 ns 1.14 0.02 0.0014 24 B 1.00
GetStaticStringField 120.0 ns 2.44 ns 3.18 ns 1.18 0.04 - - 0.00
SetStaticStringField 724.8 ns 6.02 ns 5.03 ns 7.11 0.13 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 119.1 ns 1.38 ns 1.08 ns 1.17 0.02 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.95GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.7 ns 3.53 ns 3.13 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 323.8 ns 4.11 ns 3.65 ns 1.01 0.01 - - NA
InvokeStaticWithFeedback 653.5 ns 11.35 ns 11.14 ns 2.04 0.04 0.0181 312 B NA
InvokeInstanceEmpty 336.6 ns 6.29 ns 5.89 ns 1.05 0.02 - - NA
InvokeInstanceWithFeedback 696.0 ns 10.99 ns 10.28 ns 2.17 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.95GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.678 μs 0.0157 μs 0.0147 μ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.95GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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,269.6 ns 25.18 ns 24.73 ns 0.0057 104 B
PredicateRoundTrip False False True 1,268.0 ns 13.80 ns 11.52 ns 0.0057 104 B
PredicateRoundTrip False True False 1,598.2 ns 21.58 ns 20.19 ns 0.0114 200 B
PredicateRoundTrip False True True 5,219.9 ns 76.68 ns 71.73 ns 0.0381 760 B
PredicateRoundTrip True False False 493.4 ns 9.79 ns 10.05 ns 0.0010 24 B
PredicateRoundTrip True False True 507.4 ns 6.37 ns 5.96 ns 0.0010 24 B
PredicateRoundTrip True True False 814.5 ns 8.32 ns 7.38 ns 0.0067 120 B
PredicateRoundTrip True True True 4,364.6 ns 46.05 ns 43.08 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.95GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 640.62 ns 11.875 ns 10.527 ns 0.0038 80 B
PredicateSustained False False True 649.02 ns 11.622 ns 10.303 ns 0.0038 80 B
PredicateSustained False True False 931.44 ns 8.646 ns 8.087 ns 0.0100 176 B
PredicateSustained False True True 4,576.71 ns 72.462 ns 67.781 ns 0.0400 736 B
PredicateSustained True False False 34.21 ns 0.389 ns 0.325 ns - -
PredicateSustained True False True 33.73 ns 0.516 ns 0.482 ns - -
PredicateSustained True True False 241.44 ns 1.787 ns 1.672 ns 0.0056 96 B
PredicateSustained True True True 3,759.30 ns 34.088 ns 28.465 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)
AMD EPYC 9V74 3.67GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 476.3 ns 7.21 ns 6.74 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 5,374.5 ns 34.14 ns 26.65 ns 11.29 0.16 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,068.5 ns 6.78 ns 5.67 ns 2.24 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,070.8 ns 8.77 ns 7.78 ns 2.25 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 7,413.9 ns 106.00 ns 93.97 ns 15.57 0.29 0.2060 - - 3488 B 11.18
InvokeIntParam 1000 486.7 ns 4.04 ns 3.37 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 394,740.8 ns 6,155.98 ns 5,758.31 ns 811.12 12.67 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,818.1 ns 11.82 ns 11.06 ns 3.74 0.03 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,781.4 ns 8.45 ns 6.60 ns 3.66 0.03 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 581,085.7 ns 10,348.53 ns 11,917.38 ns 1,194.02 25.20 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 487.5 ns 8.89 ns 9.51 ns 1.00 0.03 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 48,960,584.3 ns 652,432.48 ns 610,285.75 ns 100,476.44 2,244.73 1100.0000 1000.0000 300.0000 16001486 B 51,286.81
InvokeIntArrayFixed 100000 50,668.5 ns 143.80 ns 127.48 ns 103.98 1.97 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 50,779.0 ns 156.13 ns 130.38 ns 104.21 1.98 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 74,613,079.3 ns 1,459,358.99 ns 1,997,587.23 ns 153,120.25 4,947.18 2000.0000 1857.1429 857.1429 27893778 B 89,403.13

core-ubuntu-22.04_net10.0_zulu_25


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 10.0.11 (10.0.11, 10.0.1126.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 968.0 ns 12.55 ns 11.74 ns 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1,012.2 ns 19.44 ns 19.96 ns 1.05 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 976.2 ns 15.55 ns 14.54 ns 1.01 0.02 0.0210 360 B 1.00

core-ubuntu-22.04_net10.0_zulu_25


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 10.0.11 (10.0.11, 10.0.1126.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 84.00 ns 1.322 ns 1.236 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 88.58 ns 1.720 ns 1.609 ns 1.05 0.02 0.0014 24 B 1.00
GetInstanceStringField 88.43 ns 1.477 ns 1.382 ns 1.05 0.02 - - 0.00
SetInstanceStringField 525.82 ns 5.619 ns 4.981 ns 6.26 0.11 0.0153 256 B 10.67
GetStaticIntField 85.99 ns 1.128 ns 1.055 ns 1.02 0.02 0.0014 24 B 1.00
SetStaticIntField 86.21 ns 1.386 ns 1.296 ns 1.03 0.02 0.0014 24 B 1.00
GetStaticStringField 79.20 ns 1.449 ns 1.355 ns 0.94 0.02 - - 0.00
SetStaticStringField 537.40 ns 5.797 ns 4.841 ns 6.40 0.11 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 85.97 ns 1.472 ns 1.377 ns 1.02 0.02 0.0014 24 B 1.00

core-ubuntu-22.04_net10.0_zulu_25


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 10.0.11 (10.0.11, 10.0.1126.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 4.40 ns 4.12 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 232.0 ns 4.34 ns 4.06 ns 0.99 0.02 - - NA
InvokeStaticWithFeedback 465.4 ns 5.46 ns 4.84 ns 1.99 0.04 0.0186 312 B NA
InvokeInstanceEmpty 226.6 ns 3.76 ns 3.52 ns 0.97 0.02 - - NA
InvokeInstanceWithFeedback 485.9 ns 7.33 ns 6.85 ns 2.08 0.05 0.0181 312 B NA

core-ubuntu-22.04_net10.0_zulu_25


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 10.0.11 (10.0.11, 10.0.1126.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.272 μs 0.0138 μs 0.0116 μs 1.00 0.0401 680 B 1.00

core-ubuntu-22.04_net10.0_zulu_25


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 10.0.11 (10.0.11, 10.0.1126.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 930.4 ns 11.68 ns 10.92 ns 0.0057 104 B
PredicateRoundTrip False False True 940.5 ns 15.59 ns 14.58 ns 0.0057 104 B
PredicateRoundTrip False True False 1,157.8 ns 8.90 ns 8.32 ns 0.0114 200 B
PredicateRoundTrip False True True 3,869.2 ns 47.17 ns 41.81 ns 0.0381 760 B
PredicateRoundTrip True False False 368.5 ns 5.57 ns 5.21 ns 0.0014 24 B
PredicateRoundTrip True False True 363.3 ns 7.26 ns 7.77 ns 0.0014 24 B
PredicateRoundTrip True True False 605.0 ns 6.00 ns 5.32 ns 0.0067 120 B
PredicateRoundTrip True True True 3,339.4 ns 28.49 ns 26.65 ns 0.0381 680 B

core-ubuntu-22.04_net10.0_zulu_25


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 10.0.11 (10.0.11, 10.0.1126.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 474.13 ns 8.220 ns 7.286 ns 0.0045 80 B
PredicateSustained False False True 611.65 ns 8.042 ns 7.522 ns 0.0044 80 B
PredicateSustained False True False 760.59 ns 14.542 ns 14.933 ns 0.0100 176 B
PredicateSustained False True True 3,423.27 ns 38.159 ns 33.827 ns 0.0400 736 B
PredicateSustained True False False 27.36 ns 0.358 ns 0.335 ns - -
PredicateSustained True False True 27.78 ns 0.263 ns 0.246 ns - -
PredicateSustained True True False 183.38 ns 2.021 ns 1.890 ns 0.0056 96 B
PredicateSustained True True True 2,735.79 ns 23.394 ns 21.883 ns 0.0350 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.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-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 594.6 ns 6.49 ns 6.07 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,367.8 ns 45.60 ns 40.42 ns 10.71 0.13 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,199.3 ns 7.45 ns 6.97 ns 2.02 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,255.9 ns 8.52 ns 7.97 ns 2.11 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,206.8 ns 92.32 ns 81.84 ns 13.80 0.19 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 549.3 ns 5.22 ns 4.63 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 489,663.2 ns 2,873.09 ns 2,399.16 ns 891.45 8.36 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,918.2 ns 16.34 ns 15.29 ns 3.49 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,940.7 ns 20.89 ns 19.54 ns 3.53 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 634,810.4 ns 3,688.74 ns 3,269.97 ns 1,155.69 10.99 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 528.7 ns 6.96 ns 6.51 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 62,828,639.8 ns 548,503.06 ns 458,024.90 ns 118,851.12 1,640.10 1000.0000 875.0000 250.0000 16000971 B 46,514.45
InvokeIntArrayFixed 100000 51,897.6 ns 102.60 ns 90.95 ns 98.17 1.18 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 51,917.9 ns 141.18 ns 132.06 ns 98.21 1.19 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 81,029,541.3 ns 788,623.36 ns 737,678.78 ns 153,281.24 2,266.94 2000.0000 1857.1429 857.1429 27894703 B 81,089.25

core-ubuntu-22.04_net8.0_corretto_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.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-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.134 μs 0.0185 μs 0.0173 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.115 μs 0.0130 μs 0.0121 μs 0.98 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.121 μs 0.0152 μs 0.0142 μ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.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-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 108.7 ns 1.60 ns 1.50 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 123.3 ns 1.49 ns 1.39 ns 1.13 0.02 0.0014 24 B 1.00
GetInstanceStringField 109.2 ns 1.43 ns 1.34 ns 1.00 0.02 - - 0.00
SetInstanceStringField 637.5 ns 5.38 ns 5.03 ns 5.87 0.09 0.0172 288 B 12.00
GetStaticIntField 116.4 ns 1.53 ns 1.44 ns 1.07 0.02 0.0014 24 B 1.00
SetStaticIntField 131.0 ns 2.05 ns 1.92 ns 1.21 0.02 0.0014 24 B 1.00
GetStaticStringField 106.2 ns 1.40 ns 1.31 ns 0.98 0.02 - - 0.00
SetStaticStringField 658.6 ns 8.22 ns 7.69 ns 6.06 0.11 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 131.1 ns 1.68 ns 1.57 ns 1.21 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.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-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 3.79 ns 3.54 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 281.9 ns 4.90 ns 4.58 ns 0.92 0.02 - - NA
InvokeStaticWithFeedback 519.9 ns 9.19 ns 8.60 ns 1.70 0.03 0.0200 344 B NA
InvokeInstanceEmpty 316.3 ns 4.56 ns 4.27 ns 1.03 0.02 - - NA
InvokeInstanceWithFeedback 540.1 ns 9.84 ns 9.21 ns 1.77 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.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-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.369 μs 0.0140 μs 0.0124 μ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.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-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,046.5 ns 15.55 ns 14.55 ns 0.0057 104 B
PredicateRoundTrip False False True 1,035.1 ns 16.91 ns 15.82 ns 0.0057 104 B
PredicateRoundTrip False True False 1,270.2 ns 13.47 ns 12.60 ns 0.0114 200 B
PredicateRoundTrip False True True 4,320.0 ns 59.44 ns 55.60 ns 0.0458 792 B
PredicateRoundTrip True False False 370.5 ns 3.73 ns 3.31 ns 0.0014 24 B
PredicateRoundTrip True False True 367.2 ns 2.97 ns 2.32 ns 0.0014 24 B
PredicateRoundTrip True True False 589.0 ns 6.76 ns 6.32 ns 0.0067 120 B
PredicateRoundTrip True True True 3,751.4 ns 25.34 ns 23.70 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.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-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 535.42 ns 4.988 ns 4.666 ns 0.0040 80 B
PredicateSustained False False True 530.45 ns 5.135 ns 4.288 ns 0.0040 80 B
PredicateSustained False True False 704.11 ns 6.000 ns 5.010 ns 0.0100 176 B
PredicateSustained False True True 3,809.51 ns 22.773 ns 19.016 ns 0.0400 768 B
PredicateSustained True False False 35.27 ns 0.223 ns 0.209 ns - -
PredicateSustained True False True 35.39 ns 0.327 ns 0.306 ns - -
PredicateSustained True True False 188.14 ns 1.932 ns 1.807 ns 0.0056 96 B
PredicateSustained True True True 3,144.97 ns 34.479 ns 32.251 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.78GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 696.5 ns 9.79 ns 9.15 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 8,037.4 ns 129.45 ns 121.09 ns 11.54 0.22 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,558.4 ns 23.52 ns 22.00 ns 2.24 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,546.1 ns 13.46 ns 11.93 ns 2.22 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 10,400.4 ns 140.53 ns 131.45 ns 14.94 0.26 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 688.4 ns 6.25 ns 5.85 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 605,881.2 ns 6,400.98 ns 5,345.11 ns 880.21 10.41 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,380.3 ns 19.52 ns 16.30 ns 3.46 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,405.4 ns 21.80 ns 19.32 ns 3.49 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 836,149.3 ns 11,165.91 ns 10,444.60 ns 1,214.74 17.77 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 693.5 ns 11.01 ns 10.30 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 72,764,519.4 ns 1,132,564.59 ns 1,003,989.01 ns 104,946.94 2,050.91 1000.0000 857.1429 285.7143 16001558 B 46,516.16
InvokeIntArrayFixed 100000 63,343.2 ns 211.47 ns 187.46 ns 91.36 1.33 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 63,456.7 ns 219.94 ns 194.97 ns 91.52 1.34 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 102,872,574.1 ns 1,859,735.56 ns 2,351,970.22 ns 148,371.24 3,940.66 1800.0000 1600.0000 800.0000 27894928 B 81,089.91

core-ubuntu-22.04_net8.0_corretto_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.78GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.426 μs 0.0131 μs 0.0116 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.480 μs 0.0197 μs 0.0174 μs 1.04 0.0210 360 B 1.00
DeclaredNewEmpty 1.432 μs 0.0190 μs 0.0178 μs 1.00 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.78GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.0 ns 1.33 ns 1.18 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 162.1 ns 2.37 ns 2.21 ns 1.20 0.02 0.0014 24 B 1.00
GetInstanceStringField 138.8 ns 1.81 ns 1.70 ns 1.03 0.01 - - 0.00
SetInstanceStringField 835.9 ns 15.66 ns 14.65 ns 6.19 0.12 0.0172 288 B 12.00
GetStaticIntField 145.5 ns 1.73 ns 1.53 ns 1.08 0.01 0.0014 24 B 1.00
SetStaticIntField 160.5 ns 1.73 ns 1.54 ns 1.19 0.01 0.0014 24 B 1.00
GetStaticStringField 140.1 ns 2.77 ns 2.59 ns 1.04 0.02 - - 0.00
SetStaticStringField 809.8 ns 12.50 ns 11.69 ns 6.00 0.10 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 167.3 ns 1.89 ns 1.68 ns 1.24 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.78GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 2.18 ns 1.82 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 348.3 ns 5.49 ns 5.13 ns 1.01 0.02 - - NA
InvokeStaticWithFeedback 681.1 ns 7.96 ns 7.44 ns 1.98 0.02 0.0200 344 B NA
InvokeInstanceEmpty 350.1 ns 6.61 ns 6.79 ns 1.02 0.02 - - NA
InvokeInstanceWithFeedback 675.2 ns 8.41 ns 7.86 ns 1.96 0.02 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.78GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.739 μs 0.0235 μs 0.0220 μs 1.00 0.02 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.78GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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,338.9 ns 20.55 ns 19.22 ns 0.0057 104 B
PredicateRoundTrip False False True 1,358.9 ns 22.84 ns 21.36 ns 0.0057 104 B
PredicateRoundTrip False True False 1,612.0 ns 16.19 ns 13.52 ns 0.0114 200 B
PredicateRoundTrip False True True 5,530.9 ns 39.36 ns 34.89 ns 0.0458 792 B
PredicateRoundTrip True False False 485.9 ns 8.58 ns 8.03 ns 0.0010 24 B
PredicateRoundTrip True False True 491.8 ns 7.33 ns 6.50 ns 0.0010 24 B
PredicateRoundTrip True True False 791.1 ns 9.05 ns 8.47 ns 0.0067 120 B
PredicateRoundTrip True True True 4,618.4 ns 64.66 ns 60.48 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.78GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 709.43 ns 13.804 ns 16.433 ns 0.0038 80 B
PredicateSustained False False True 685.00 ns 13.044 ns 14.499 ns 0.0038 80 B
PredicateSustained False True False 933.41 ns 13.868 ns 12.293 ns 0.0100 176 B
PredicateSustained False True True 4,842.43 ns 54.757 ns 51.219 ns 0.0400 768 B
PredicateSustained True False False 44.38 ns 0.409 ns 0.382 ns - -
PredicateSustained True False True 44.87 ns 0.726 ns 0.607 ns - -
PredicateSustained True True False 248.03 ns 1.829 ns 1.428 ns 0.0056 96 B
PredicateSustained True True True 4,030.57 ns 70.686 ns 66.120 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.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-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.0 ns 8.00 ns 10.68 ns 1.00 0.04 0.0205 - - 344 B 1.00
InvokeStringArrayFixed 10 4,610.8 ns 89.80 ns 125.89 ns 11.28 0.42 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 887.4 ns 17.43 ns 17.90 ns 2.17 0.07 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 875.0 ns 15.34 ns 14.35 ns 2.14 0.06 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 5,899.0 ns 104.82 ns 112.15 ns 14.43 0.45 0.2060 - - 3520 B 10.23
InvokeIntParam 1000 396.7 ns 7.18 ns 7.06 ns 1.00 0.02 0.0205 - - 344 B 1.00
InvokeStringArrayFixed 1000 348,787.3 ns 4,844.39 ns 4,045.28 ns 879.42 18.14 9.2773 2.9297 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,364.0 ns 25.89 ns 31.80 ns 3.44 0.10 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,342.1 ns 22.74 ns 22.34 ns 3.38 0.08 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 486,986.1 ns 9,689.75 ns 9,063.80 ns 1,227.87 30.70 15.6250 7.3242 - 265888 B 772.93
InvokeIntParam 100000 393.8 ns 5.63 ns 5.27 ns 1.00 0.02 0.0205 - - 344 B 1.00
InvokeStringArrayFixed 100000 39,039,343.1 ns 570,093.63 ns 533,265.93 ns 99,139.38 1,835.53 1076.9231 923.0769 307.6923 16000734 B 46,513.76
InvokeIntArrayFixed 100000 36,873.0 ns 548.84 ns 486.53 ns 93.64 1.70 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 36,862.7 ns 311.41 ns 260.04 ns 93.61 1.37 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 57,602,183.9 ns 809,966.33 ns 718,014.05 ns 146,279.23 2,587.46 1888.8889 1777.7778 777.7778 27894284 B 81,088.03

core-ubuntu-22.04_net8.0_corretto_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V45 4.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-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 802.2 ns 15.77 ns 16.20 ns 1.00 0.03 0.0210 360 B 1.00
NewWithSignature 810.5 ns 10.79 ns 9.56 ns 1.01 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 797.1 ns 6.30 ns 5.26 ns 0.99 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.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-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.49 ns 0.615 ns 0.513 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 77.57 ns 0.774 ns 0.646 ns 1.20 0.01 0.0014 24 B 1.00
GetInstanceStringField 65.51 ns 0.485 ns 0.453 ns 1.02 0.01 - - 0.00
SetInstanceStringField 473.94 ns 5.305 ns 4.963 ns 7.35 0.09 0.0172 288 B 12.00
GetStaticIntField 70.31 ns 0.753 ns 0.667 ns 1.09 0.01 0.0014 24 B 1.00
SetStaticIntField 87.46 ns 0.670 ns 0.627 ns 1.36 0.01 0.0014 24 B 1.00
GetStaticStringField 68.23 ns 0.810 ns 0.758 ns 1.06 0.01 - - 0.00
SetStaticStringField 470.18 ns 5.173 ns 4.839 ns 7.29 0.09 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 88.83 ns 0.911 ns 0.852 ns 1.38 0.02 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.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-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 171.1 ns 2.55 ns 2.13 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 157.6 ns 2.79 ns 2.48 ns 0.92 0.02 - - NA
InvokeStaticWithFeedback 386.0 ns 5.87 ns 5.20 ns 2.26 0.04 0.0205 344 B NA
InvokeInstanceEmpty 175.7 ns 1.65 ns 1.54 ns 1.03 0.02 - - NA
InvokeInstanceWithFeedback 387.5 ns 4.37 ns 3.87 ns 2.27 0.03 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.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-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 972.2 ns 10.25 ns 9.09 ns 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.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-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 718.9 ns 6.97 ns 6.52 ns 0.0057 104 B
PredicateRoundTrip False False True 743.1 ns 8.29 ns 7.35 ns 0.0057 104 B
PredicateRoundTrip False True False 876.8 ns 13.29 ns 12.43 ns 0.0114 200 B
PredicateRoundTrip False True True 3,039.1 ns 19.55 ns 17.33 ns 0.0458 792 B
PredicateRoundTrip True False False 241.6 ns 1.26 ns 1.12 ns 0.0014 24 B
PredicateRoundTrip True False True 248.9 ns 3.67 ns 3.25 ns 0.0014 24 B
PredicateRoundTrip True True False 406.4 ns 3.55 ns 3.15 ns 0.0072 120 B
PredicateRoundTrip True True True 2,623.2 ns 39.95 ns 35.41 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.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-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 361.80 ns 5.224 ns 4.886 ns 0.0047 80 B
PredicateSustained False False True 371.70 ns 3.024 ns 2.681 ns 0.0043 80 B
PredicateSustained False True False 487.63 ns 5.964 ns 5.287 ns 0.0100 176 B
PredicateSustained False True True 2,648.92 ns 33.047 ns 29.296 ns 0.0450 768 B
PredicateSustained True False False 34.37 ns 0.687 ns 0.764 ns - -
PredicateSustained True False True 34.58 ns 0.255 ns 0.226 ns - -
PredicateSustained True True False 149.68 ns 2.977 ns 4.075 ns 0.0056 96 B
PredicateSustained True True True 2,216.81 ns 23.552 ns 22.030 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 3.22GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.1 ns 13.66 ns 12.78 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 7,675.5 ns 53.26 ns 49.82 ns 10.36 0.19 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,592.9 ns 31.90 ns 29.84 ns 2.15 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,656.0 ns 24.06 ns 22.51 ns 2.24 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 10,694.4 ns 85.60 ns 80.07 ns 14.43 0.27 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 734.6 ns 11.27 ns 10.54 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 594,801.0 ns 9,645.92 ns 9,022.80 ns 809.89 16.41 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,305.5 ns 20.79 ns 19.45 ns 3.14 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,314.0 ns 16.27 ns 14.42 ns 3.15 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 847,583.4 ns 8,053.43 ns 7,533.18 ns 1,154.08 18.93 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 747.2 ns 13.59 ns 12.71 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 71,882,486.7 ns 1,176,682.44 ns 1,100,669.49 ns 96,234.72 2,130.68 1000.0000 857.1429 285.7143 16001354 B 46,515.56
InvokeIntArrayFixed 100000 73,486.4 ns 750.78 ns 665.54 ns 98.38 1.83 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 72,319.6 ns 516.58 ns 457.93 ns 96.82 1.70 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 101,644,052.4 ns 929,486.92 ns 869,442.64 ns 136,078.86 2,505.28 1800.0000 1600.0000 800.0000 27893922 B 81,086.98

core-ubuntu-22.04_net8.0_corretto_25


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.22GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.453 μs 0.0145 μs 0.0136 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.450 μs 0.0199 μs 0.0176 μs 1.00 0.0210 360 B 1.00
DeclaredNewEmpty 1.449 μs 0.0155 μs 0.0130 μs 1.00 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 3.22GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 117.7 ns 1.01 ns 0.90 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 144.8 ns 2.34 ns 2.19 ns 1.23 0.02 0.0014 24 B 1.00
GetInstanceStringField 121.0 ns 2.41 ns 2.26 ns 1.03 0.02 - - 0.00
SetInstanceStringField 792.6 ns 7.47 ns 6.99 ns 6.73 0.08 0.0172 288 B 12.00
GetStaticIntField 134.4 ns 2.10 ns 1.97 ns 1.14 0.02 0.0014 24 B 1.00
SetStaticIntField 151.6 ns 1.53 ns 1.36 ns 1.29 0.01 0.0014 24 B 1.00
GetStaticStringField 118.3 ns 2.21 ns 2.07 ns 1.00 0.02 - - 0.00
SetStaticStringField 790.1 ns 10.05 ns 9.40 ns 6.71 0.09 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 155.7 ns 2.98 ns 3.19 ns 1.32 0.03 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 3.22GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.3 ns 5.74 ns 5.09 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 332.1 ns 3.57 ns 2.79 ns 0.95 0.02 - - NA
InvokeStaticWithFeedback 717.5 ns 13.54 ns 14.49 ns 2.04 0.05 0.0200 344 B NA
InvokeInstanceEmpty 378.5 ns 4.28 ns 3.79 ns 1.08 0.02 - - NA
InvokeInstanceWithFeedback 723.7 ns 4.96 ns 3.88 ns 2.06 0.03 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 3.22GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.799 μs 0.0247 μs 0.0232 μs 1.00 0.02 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 3.22GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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,299.8 ns 21.28 ns 19.91 ns 0.0057 104 B
PredicateRoundTrip False False True 1,291.6 ns 19.43 ns 18.18 ns 0.0057 104 B
PredicateRoundTrip False True False 1,611.0 ns 12.38 ns 10.98 ns 0.0114 200 B
PredicateRoundTrip False True True 5,579.5 ns 52.44 ns 46.48 ns 0.0458 792 B
PredicateRoundTrip True False False 535.8 ns 10.63 ns 13.05 ns 0.0010 24 B
PredicateRoundTrip True False True 526.4 ns 9.15 ns 10.54 ns 0.0010 24 B
PredicateRoundTrip True True False 787.4 ns 8.00 ns 7.10 ns 0.0067 120 B
PredicateRoundTrip True True True 4,655.5 ns 61.77 ns 57.78 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 3.22GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 691.72 ns 12.929 ns 13.834 ns 0.0043 80 B
PredicateSustained False False True 684.40 ns 13.454 ns 15.494 ns 0.0038 80 B
PredicateSustained False True False 939.95 ns 18.407 ns 17.218 ns 0.0100 176 B
PredicateSustained False True True 4,886.07 ns 76.908 ns 71.939 ns 0.0400 768 B
PredicateSustained True False False 44.61 ns 0.599 ns 0.531 ns - -
PredicateSustained True False True 43.28 ns 0.806 ns 0.754 ns - -
PredicateSustained True True False 240.10 ns 1.908 ns 1.691 ns 0.0056 96 B
PredicateSustained True True True 4,052.84 ns 50.670 ns 44.917 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 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 518.5 ns 9.98 ns 9.80 ns 1.00 0.03 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,248.1 ns 49.90 ns 44.23 ns 12.06 0.23 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,226.6 ns 12.36 ns 11.56 ns 2.37 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,201.3 ns 12.68 ns 11.24 ns 2.32 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,131.1 ns 70.46 ns 58.84 ns 15.69 0.30 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 517.9 ns 9.88 ns 9.25 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 473,208.5 ns 7,724.01 ns 7,225.04 ns 913.91 20.64 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,712.4 ns 12.50 ns 11.69 ns 3.31 0.06 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,700.8 ns 13.24 ns 11.74 ns 3.28 0.06 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 637,174.9 ns 7,675.56 ns 7,179.72 ns 1,230.58 24.93 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 526.1 ns 5.27 ns 4.93 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 57,713,412.3 ns 649,388.27 ns 607,438.19 ns 109,710.24 1,498.42 1111.1111 1000.0000 333.3333 16002128 B 46,517.81
InvokeIntArrayFixed 100000 26,731.3 ns 120.92 ns 100.98 ns 50.81 0.50 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 26,763.7 ns 164.20 ns 145.56 ns 50.88 0.53 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 81,858,276.5 ns 867,022.78 ns 811,013.65 ns 155,608.39 2,056.80 2000.0000 1857.1429 857.1429 27894839 B 81,089.65

core-ubuntu-22.04_net8.0_graalvm_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 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.190 μs 0.0182 μs 0.0170 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.105 μs 0.0141 μs 0.0132 μs 0.93 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.069 μs 0.0127 μs 0.0119 μs 0.90 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 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 108.4 ns 1.47 ns 1.37 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 121.0 ns 1.62 ns 1.52 ns 1.12 0.02 0.0014 24 B 1.00
GetInstanceStringField 104.0 ns 1.49 ns 1.39 ns 0.96 0.02 - - 0.00
SetInstanceStringField 713.8 ns 9.76 ns 9.13 ns 6.58 0.11 0.0172 288 B 12.00
GetStaticIntField 109.7 ns 1.05 ns 0.93 ns 1.01 0.01 0.0014 24 B 1.00
SetStaticIntField 130.1 ns 1.68 ns 1.58 ns 1.20 0.02 0.0014 24 B 1.00
GetStaticStringField 100.9 ns 1.54 ns 1.44 ns 0.93 0.02 - - 0.00
SetStaticStringField 642.3 ns 5.12 ns 4.53 ns 5.92 0.08 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 137.5 ns 2.10 ns 1.96 ns 1.27 0.02 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 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 263.0 ns 5.17 ns 5.53 ns 1.00 0.03 - - NA
InvokeStaticEmptyWithSignature 251.1 ns 5.05 ns 4.96 ns 0.96 0.03 - - NA
InvokeStaticWithFeedback 506.9 ns 9.69 ns 11.16 ns 1.93 0.06 0.0200 344 B NA
InvokeInstanceEmpty 265.7 ns 2.26 ns 2.00 ns 1.01 0.02 - - NA
InvokeInstanceWithFeedback 528.9 ns 10.46 ns 9.78 ns 2.01 0.05 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 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.352 μs 0.0151 μs 0.0126 μs 1.00 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 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,010.5 ns 13.86 ns 12.96 ns 0.0057 104 B
PredicateRoundTrip False False True 1,035.0 ns 13.38 ns 12.51 ns 0.0057 104 B
PredicateRoundTrip False True False 1,251.2 ns 12.36 ns 10.95 ns 0.0114 200 B
PredicateRoundTrip False True True 4,217.7 ns 38.29 ns 35.81 ns 0.0458 792 B
PredicateRoundTrip True False False 397.3 ns 4.43 ns 4.14 ns 0.0014 24 B
PredicateRoundTrip True False True 365.9 ns 4.21 ns 3.94 ns 0.0014 24 B
PredicateRoundTrip True True False 594.6 ns 5.87 ns 4.90 ns 0.0067 120 B
PredicateRoundTrip True True True 3,556.0 ns 37.49 ns 35.07 ns 0.0420 712 B

core-ubuntu-22.04_net8.0_graalvm_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 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 556.70 ns 11.055 ns 10.858 ns 0.0044 80 B
PredicateSustained False False True 536.74 ns 7.371 ns 6.895 ns 0.0040 80 B
PredicateSustained False True False 704.16 ns 8.009 ns 7.100 ns 0.0100 176 B
PredicateSustained False True True 3,707.09 ns 55.485 ns 51.901 ns 0.0400 768 B
PredicateSustained True False False 34.90 ns 0.536 ns 0.501 ns - -
PredicateSustained True False True 34.83 ns 0.343 ns 0.304 ns - -
PredicateSustained True True False 190.58 ns 2.292 ns 2.032 ns 0.0056 96 B
PredicateSustained True True True 3,064.70 ns 25.111 ns 23.489 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 9V74 3.02GHz, 1 CPU, 4 logical and 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 669.3 ns 11.32 ns 10.04 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 7,908.3 ns 126.48 ns 118.31 ns 11.82 0.24 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,526.6 ns 17.16 ns 15.21 ns 2.28 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,535.4 ns 26.03 ns 24.35 ns 2.29 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 10,103.4 ns 161.36 ns 150.94 ns 15.10 0.31 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 645.9 ns 7.54 ns 6.69 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 625,113.9 ns 11,711.28 ns 10,954.74 ns 967.96 19.07 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,169.3 ns 34.23 ns 32.02 ns 3.36 0.06 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,118.6 ns 19.88 ns 18.60 ns 3.28 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 793,707.7 ns 8,426.07 ns 7,881.75 ns 1,229.02 17.06 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 654.9 ns 12.12 ns 11.34 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 71,546,341.7 ns 1,421,883.40 ns 1,260,462.60 ns 109,277.67 2,609.12 1000.0000 857.1429 285.7143 16000877 B 46,514.18
InvokeIntArrayFixed 100000 32,151.9 ns 246.78 ns 230.84 ns 49.11 0.89 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 32,399.0 ns 222.01 ns 196.81 ns 49.49 0.88 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 98,644,475.1 ns 1,666,588.13 ns 1,558,927.57 ns 150,666.52 3,417.57 1666.6667 1500.0000 666.6667 27894120 B 81,087.56

core-ubuntu-22.04_net8.0_graalvm_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 3.02GHz, 1 CPU, 4 logical and 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.338 μs 0.0227 μs 0.0212 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.362 μs 0.0196 μs 0.0173 μs 1.02 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.364 μs 0.0164 μs 0.0137 μs 1.02 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 9V74 3.02GHz, 1 CPU, 4 logical and 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 131.0 ns 2.31 ns 2.16 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 148.7 ns 2.33 ns 2.18 ns 1.14 0.02 0.0014 24 B 1.00
GetInstanceStringField 130.0 ns 2.61 ns 2.90 ns 0.99 0.03 - - 0.00
SetInstanceStringField 766.6 ns 11.79 ns 11.03 ns 5.85 0.12 0.0172 288 B 12.00
GetStaticIntField 132.5 ns 1.95 ns 1.83 ns 1.01 0.02 0.0014 24 B 1.00
SetStaticIntField 143.0 ns 2.01 ns 1.68 ns 1.09 0.02 0.0014 24 B 1.00
GetStaticStringField 124.6 ns 1.60 ns 1.50 ns 0.95 0.02 - - 0.00
SetStaticStringField 750.8 ns 11.36 ns 10.62 ns 5.73 0.12 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 167.1 ns 2.76 ns 2.58 ns 1.28 0.03 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 9V74 3.02GHz, 1 CPU, 4 logical and 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 323.0 ns 4.55 ns 4.25 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 303.9 ns 4.79 ns 4.48 ns 0.94 0.02 - - NA
InvokeStaticWithFeedback 618.0 ns 11.46 ns 10.72 ns 1.91 0.04 0.0200 344 B NA
InvokeInstanceEmpty 333.6 ns 5.89 ns 5.78 ns 1.03 0.02 - - NA
InvokeInstanceWithFeedback 632.7 ns 10.06 ns 9.41 ns 1.96 0.04 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 9V74 3.02GHz, 1 CPU, 4 logical and 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.698 μs 0.0175 μs 0.0163 μ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 9V74 3.02GHz, 1 CPU, 4 logical and 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,257.8 ns 20.11 ns 18.81 ns 0.0057 104 B
PredicateRoundTrip False False True 1,186.4 ns 14.62 ns 13.68 ns 0.0057 104 B
PredicateRoundTrip False True False 1,521.3 ns 21.16 ns 18.76 ns 0.0114 200 B
PredicateRoundTrip False True True 5,046.5 ns 100.56 ns 103.27 ns 0.0458 792 B
PredicateRoundTrip True False False 463.6 ns 8.26 ns 7.73 ns 0.0014 24 B
PredicateRoundTrip True False True 445.0 ns 3.26 ns 3.05 ns 0.0014 24 B
PredicateRoundTrip True True False 720.0 ns 10.72 ns 9.50 ns 0.0067 120 B
PredicateRoundTrip True True True 4,256.3 ns 80.94 ns 75.72 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 9V74 3.02GHz, 1 CPU, 4 logical and 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 616.86 ns 10.716 ns 10.024 ns 0.0038 80 B
PredicateSustained False False True 664.75 ns 12.165 ns 11.379 ns 0.0038 80 B
PredicateSustained False True False 840.47 ns 11.584 ns 10.835 ns 0.0100 176 B
PredicateSustained False True True 4,480.77 ns 74.954 ns 70.112 ns 0.0400 768 B
PredicateSustained True False False 43.57 ns 0.572 ns 0.507 ns - -
PredicateSustained True False True 43.68 ns 0.644 ns 0.602 ns - -
PredicateSustained True True False 226.55 ns 2.640 ns 2.469 ns 0.0056 96 B
PredicateSustained True True True 3,735.34 ns 73.679 ns 81.894 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)
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 531.7 ns 6.20 ns 5.80 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 5,856.0 ns 65.50 ns 61.27 ns 11.02 0.16 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,175.2 ns 9.55 ns 8.46 ns 2.21 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,183.9 ns 13.99 ns 13.09 ns 2.23 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 7,793.5 ns 93.98 ns 87.91 ns 14.66 0.22 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 511.5 ns 9.81 ns 10.07 ns 1.00 0.03 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 458,202.4 ns 3,949.72 ns 3,694.57 ns 896.07 18.28 9.2773 2.9297 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,692.4 ns 13.66 ns 12.78 ns 3.31 0.07 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,696.2 ns 10.10 ns 9.44 ns 3.32 0.07 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 633,227.2 ns 6,362.51 ns 5,640.20 ns 1,238.36 25.66 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 576.6 ns 6.93 ns 6.48 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 55,114,784.2 ns 598,895.66 ns 530,905.41 ns 95,596.17 1,365.79 1111.1111 1000.0000 333.3333 16002968 B 46,520.26
InvokeIntArrayFixed 100000 27,428.1 ns 140.15 ns 124.24 ns 47.57 0.56 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 27,640.0 ns 107.15 ns 89.47 ns 47.94 0.54 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 80,113,306.6 ns 1,104,321.18 ns 1,032,982.72 ns 138,955.92 2,297.54 2000.0000 1857.1429 857.1429 27895386 B 81,091.24

core-ubuntu-22.04_net8.0_graalvm_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.064 μs 0.0159 μs 0.0149 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.065 μs 0.0122 μs 0.0114 μs 1.00 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.063 μs 0.0147 μs 0.0138 μs 1.00 0.02 0.0210 360 B 1.00

core-ubuntu-22.04_net8.0_graalvm_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 103.45 ns 1.198 ns 1.120 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 120.42 ns 1.932 ns 1.807 ns 1.16 0.02 0.0014 24 B 1.00
GetInstanceStringField 103.11 ns 0.537 ns 0.448 ns 1.00 0.01 - - 0.00
SetInstanceStringField 593.02 ns 5.999 ns 5.318 ns 5.73 0.08 0.0172 288 B 12.00
GetStaticIntField 109.46 ns 1.330 ns 1.244 ns 1.06 0.02 0.0014 24 B 1.00
SetStaticIntField 118.43 ns 2.175 ns 2.035 ns 1.14 0.02 0.0014 24 B 1.00
GetStaticStringField 98.66 ns 1.029 ns 0.963 ns 0.95 0.01 - - 0.00
SetStaticStringField 588.21 ns 4.745 ns 4.206 ns 5.69 0.07 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 134.57 ns 2.422 ns 2.265 ns 1.30 0.03 0.0014 24 B 1.00

core-ubuntu-22.04_net8.0_graalvm_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 268.5 ns 5.19 ns 4.85 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 242.2 ns 4.66 ns 4.58 ns 0.90 0.02 - - NA
InvokeStaticWithFeedback 511.0 ns 6.42 ns 6.01 ns 1.90 0.04 0.0200 344 B NA
InvokeInstanceEmpty 274.1 ns 3.04 ns 2.70 ns 1.02 0.02 - - NA
InvokeInstanceWithFeedback 512.7 ns 5.62 ns 4.98 ns 1.91 0.04 0.0200 344 B NA

core-ubuntu-22.04_net8.0_graalvm_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 Gen0 Allocated Alloc Ratio
InvokeMultiParam 1.295 μs 0.0142 μs 0.0133 μs 1.00 0.0420 712 B 1.00

core-ubuntu-22.04_net8.0_graalvm_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,040.4 ns 13.51 ns 12.64 ns 0.0057 104 B
PredicateRoundTrip False False True 1,009.1 ns 9.17 ns 8.58 ns 0.0057 104 B
PredicateRoundTrip False True False 1,233.9 ns 20.20 ns 18.89 ns 0.0114 200 B
PredicateRoundTrip False True True 4,149.8 ns 63.05 ns 58.98 ns 0.0458 792 B
PredicateRoundTrip True False False 366.2 ns 3.53 ns 2.95 ns 0.0014 24 B
PredicateRoundTrip True False True 364.1 ns 7.30 ns 6.83 ns 0.0014 24 B
PredicateRoundTrip True True False 624.4 ns 7.94 ns 7.04 ns 0.0067 120 B
PredicateRoundTrip True True True 3,491.6 ns 40.09 ns 37.50 ns 0.0420 712 B

core-ubuntu-22.04_net8.0_graalvm_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 541.96 ns 9.287 ns 8.232 ns 0.0044 80 B
PredicateSustained False False True 564.46 ns 10.258 ns 9.596 ns 0.0040 80 B
PredicateSustained False True False 687.59 ns 10.203 ns 9.544 ns 0.0100 176 B
PredicateSustained False True True 3,606.78 ns 24.131 ns 20.150 ns 0.0400 768 B
PredicateSustained True False False 36.28 ns 0.288 ns 0.255 ns - -
PredicateSustained True False True 35.88 ns 0.690 ns 0.645 ns - -
PredicateSustained True True False 186.93 ns 2.296 ns 2.148 ns 0.0056 96 B
PredicateSustained True True True 2,994.13 ns 26.001 ns 24.321 ns 0.0400 688 B

core-ubuntu-22.04_net8.0_microsoft_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 688.4 ns 7.43 ns 6.58 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 8,186.9 ns 144.83 ns 135.48 ns 11.89 0.22 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,562.1 ns 18.87 ns 17.65 ns 2.27 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,565.2 ns 21.36 ns 19.98 ns 2.27 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 10,262.5 ns 155.82 ns 138.13 ns 14.91 0.24 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 662.6 ns 9.63 ns 9.01 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 622,191.1 ns 8,822.46 ns 8,252.53 ns 939.23 17.22 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,396.7 ns 22.03 ns 20.61 ns 3.62 0.06 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,411.8 ns 28.57 ns 25.33 ns 3.64 0.06 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 830,992.4 ns 10,238.66 ns 9,076.31 ns 1,254.42 21.09 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 670.4 ns 4.54 ns 3.55 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 75,834,813.4 ns 1,442,197.75 ns 1,416,431.03 ns 113,129.10 2,130.31 1000.0000 857.1429 285.7143 16001495 B 46,515.97
InvokeIntArrayFixed 100000 63,725.3 ns 334.42 ns 312.81 ns 95.06 0.66 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 63,845.8 ns 190.39 ns 158.99 ns 95.24 0.54 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 105,320,864.1 ns 2,003,867.26 ns 1,968,065.59 ns 157,115.90 2,959.87 1800.0000 1600.0000 800.0000 27894006 B 81,087.23

core-ubuntu-22.04_net8.0_microsoft_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.428 μs 0.0222 μs 0.0208 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.467 μs 0.0184 μs 0.0163 μs 1.03 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.451 μs 0.0228 μs 0.0213 μs 1.02 0.02 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 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 139.8 ns 2.06 ns 1.93 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 168.8 ns 2.70 ns 2.53 ns 1.21 0.02 0.0014 24 B 1.00
GetInstanceStringField 140.4 ns 2.79 ns 2.74 ns 1.00 0.02 - - 0.00
SetInstanceStringField 812.8 ns 4.21 ns 3.51 ns 5.81 0.08 0.0172 288 B 12.00
GetStaticIntField 145.3 ns 2.85 ns 2.66 ns 1.04 0.02 0.0014 24 B 1.00
SetStaticIntField 189.5 ns 1.55 ns 1.37 ns 1.36 0.02 0.0014 24 B 1.00
GetStaticStringField 132.9 ns 2.04 ns 1.91 ns 0.95 0.02 - - 0.00
SetStaticStringField 844.3 ns 10.40 ns 9.73 ns 6.04 0.10 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 176.8 ns 3.05 ns 2.86 ns 1.26 0.03 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 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.1 ns 2.86 ns 2.23 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 355.2 ns 3.57 ns 3.16 ns 0.89 0.01 - - NA
InvokeStaticWithFeedback 670.8 ns 13.23 ns 12.38 ns 1.69 0.03 0.0200 344 B NA
InvokeInstanceEmpty 420.5 ns 7.38 ns 6.90 ns 1.06 0.02 - - NA
InvokeInstanceWithFeedback 694.9 ns 13.94 ns 17.12 ns 1.75 0.04 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 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.728 μs 0.0119 μs 0.0106 μs 1.00 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 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,360.7 ns 20.06 ns 17.78 ns 0.0057 104 B
PredicateRoundTrip False False True 1,385.9 ns 21.26 ns 19.88 ns 0.0057 104 B
PredicateRoundTrip False True False 1,681.8 ns 27.63 ns 25.84 ns 0.0114 200 B
PredicateRoundTrip False True True 5,756.5 ns 64.02 ns 56.75 ns 0.0458 792 B
PredicateRoundTrip True False False 487.6 ns 9.63 ns 9.00 ns 0.0010 24 B
PredicateRoundTrip True False True 473.6 ns 3.16 ns 2.80 ns 0.0010 24 B
PredicateRoundTrip True True False 791.5 ns 9.65 ns 9.03 ns 0.0067 120 B
PredicateRoundTrip True True True 4,640.1 ns 27.93 ns 24.76 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 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 726.56 ns 14.040 ns 15.605 ns 0.0043 80 B
PredicateSustained False False True 701.62 ns 10.220 ns 9.560 ns 0.0038 80 B
PredicateSustained False True False 918.55 ns 15.108 ns 13.393 ns 0.0100 176 B
PredicateSustained False True True 4,889.44 ns 70.293 ns 65.752 ns 0.0400 768 B
PredicateSustained True False False 48.55 ns 0.334 ns 0.279 ns - -
PredicateSustained True False True 46.94 ns 0.690 ns 0.645 ns - -
PredicateSustained True True False 242.87 ns 3.033 ns 2.837 ns 0.0056 96 B
PredicateSustained True True True 4,037.59 ns 55.893 ns 52.283 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 7763 3.15GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 755.3 ns 8.54 ns 7.99 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 8,020.3 ns 55.58 ns 46.42 ns 10.62 0.12 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,610.9 ns 21.93 ns 20.51 ns 2.13 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,601.9 ns 12.14 ns 11.36 ns 2.12 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 10,547.1 ns 109.80 ns 97.33 ns 13.97 0.19 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 716.4 ns 11.23 ns 10.50 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 607,923.4 ns 4,330.20 ns 3,838.61 ns 848.70 13.07 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,338.6 ns 19.19 ns 16.03 ns 3.26 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,330.8 ns 27.32 ns 25.56 ns 3.25 0.06 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 837,800.4 ns 10,509.57 ns 9,830.66 ns 1,169.63 21.21 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 738.3 ns 8.31 ns 7.78 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 72,391,880.4 ns 640,245.35 ns 567,560.82 ns 98,061.08 1,244.21 1000.0000 857.1429 285.7143 16001627 B 46,516.36
InvokeIntArrayFixed 100000 73,001.8 ns 707.95 ns 662.22 ns 98.89 1.33 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 72,678.0 ns 410.03 ns 383.54 ns 98.45 1.12 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 101,851,593.9 ns 1,737,597.17 ns 1,625,349.47 ns 137,966.82 2,552.82 1800.0000 1600.0000 800.0000 27894059 B 81,087.38

core-ubuntu-22.04_net8.0_microsoft_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.15GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.520 μs 0.0300 μs 0.0295 μs 1.00 0.03 0.0210 360 B 1.00
NewWithSignature 1.499 μs 0.0116 μs 0.0103 μs 0.99 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.486 μs 0.0163 μs 0.0153 μs 0.98 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 7763 3.15GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 124.2 ns 2.46 ns 2.41 ns 1.00 0.03 0.0014 24 B 1.00
SetInstanceIntField 139.9 ns 1.26 ns 1.05 ns 1.13 0.02 0.0014 24 B 1.00
GetInstanceStringField 118.1 ns 1.35 ns 1.20 ns 0.95 0.02 - - 0.00
SetInstanceStringField 897.6 ns 10.91 ns 10.21 ns 7.23 0.16 0.0172 288 B 12.00
GetStaticIntField 127.2 ns 1.59 ns 1.41 ns 1.02 0.02 0.0014 24 B 1.00
SetStaticIntField 145.7 ns 2.58 ns 2.41 ns 1.17 0.03 0.0014 24 B 1.00
GetStaticStringField 122.2 ns 2.44 ns 2.51 ns 0.98 0.03 - - 0.00
SetStaticStringField 864.6 ns 5.03 ns 4.20 ns 6.97 0.13 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 155.2 ns 3.07 ns 3.15 ns 1.25 0.03 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 7763 3.15GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 359.6 ns 7.12 ns 7.92 ns 1.00 0.03 - - NA
InvokeStaticEmptyWithSignature 309.6 ns 3.89 ns 3.25 ns 0.86 0.02 - - NA
InvokeStaticWithFeedback 684.2 ns 8.02 ns 7.11 ns 1.90 0.04 0.0200 344 B NA
InvokeInstanceEmpty 358.1 ns 7.17 ns 7.04 ns 1.00 0.03 - - NA
InvokeInstanceWithFeedback 718.3 ns 3.75 ns 3.13 ns 2.00 0.04 0.0200 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 7763 3.15GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.799 μs 0.0170 μs 0.0159 μs 1.00 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 7763 3.15GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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,350.6 ns 22.82 ns 21.34 ns 0.0057 104 B
PredicateRoundTrip False False True 1,342.9 ns 24.11 ns 22.55 ns 0.0057 104 B
PredicateRoundTrip False True False 1,631.7 ns 30.80 ns 28.81 ns 0.0114 200 B
PredicateRoundTrip False True True 5,626.7 ns 90.18 ns 84.36 ns 0.0458 792 B
PredicateRoundTrip True False False 509.9 ns 9.93 ns 11.82 ns 0.0010 24 B
PredicateRoundTrip True False True 507.4 ns 10.12 ns 12.05 ns 0.0010 24 B
PredicateRoundTrip True True False 779.3 ns 12.71 ns 11.89 ns 0.0067 120 B
PredicateRoundTrip True True True 4,735.4 ns 52.74 ns 46.75 ns 0.0381 712 B

core-ubuntu-22.04_net8.0_microsoft_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.15GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 693.66 ns 13.234 ns 12.379 ns 0.0038 80 B
PredicateSustained False False True 711.61 ns 13.631 ns 16.226 ns 0.0043 80 B
PredicateSustained False True False 956.05 ns 18.476 ns 17.283 ns 0.0100 176 B
PredicateSustained False True True 4,812.45 ns 37.556 ns 31.361 ns 0.0400 768 B
PredicateSustained True False False 42.07 ns 0.790 ns 0.812 ns - -
PredicateSustained True False True 44.22 ns 0.756 ns 0.707 ns - -
PredicateSustained True True False 240.04 ns 1.976 ns 1.849 ns 0.0056 96 B
PredicateSustained True True True 4,087.38 ns 48.284 ns 40.319 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 9V74 2.71GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 648.8 ns 10.18 ns 9.52 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 7,937.0 ns 150.86 ns 167.68 ns 12.24 0.31 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,495.4 ns 22.09 ns 20.67 ns 2.31 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,501.8 ns 11.11 ns 9.28 ns 2.32 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 10,103.4 ns 68.24 ns 60.50 ns 15.58 0.24 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 644.1 ns 10.17 ns 9.02 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 582,786.3 ns 5,520.98 ns 4,894.20 ns 904.93 14.14 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,326.1 ns 28.14 ns 24.95 ns 3.61 0.06 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,341.2 ns 19.03 ns 17.80 ns 3.64 0.06 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 795,831.2 ns 7,940.40 ns 7,427.46 ns 1,235.74 19.92 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 673.7 ns 7.82 ns 6.93 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 70,904,971.9 ns 563,675.33 ns 527,262.25 ns 105,252.51 1,284.42 1000.0000 857.1429 285.7143 16000822 B 46,514.02
InvokeIntArrayFixed 100000 62,862.7 ns 384.93 ns 341.23 ns 93.31 1.04 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 62,794.2 ns 146.63 ns 122.44 ns 93.21 0.94 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 99,566,727.0 ns 1,832,351.43 ns 1,530,096.44 ns 147,798.49 2,628.77 1800.0000 1600.0000 800.0000 27893542 B 81,085.88

core-ubuntu-22.04_net8.0_microsoft_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 9V74 2.71GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.362 μs 0.0217 μs 0.0203 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.370 μs 0.0230 μs 0.0215 μs 1.01 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.376 μs 0.0168 μs 0.0149 μs 1.01 0.02 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 9V74 2.71GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 146.4 ns 2.34 ns 2.19 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 160.1 ns 2.82 ns 2.64 ns 1.09 0.02 0.0014 24 B 1.00
GetInstanceStringField 132.1 ns 2.18 ns 2.04 ns 0.90 0.02 - - 0.00
SetInstanceStringField 800.4 ns 12.22 ns 11.43 ns 5.47 0.11 0.0172 288 B 12.00
GetStaticIntField 140.9 ns 1.65 ns 1.46 ns 0.96 0.02 0.0014 24 B 1.00
SetStaticIntField 154.0 ns 1.63 ns 1.44 ns 1.05 0.02 0.0014 24 B 1.00
GetStaticStringField 128.6 ns 2.62 ns 2.57 ns 0.88 0.02 - - 0.00
SetStaticStringField 803.0 ns 10.80 ns 10.10 ns 5.49 0.10 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 167.2 ns 2.27 ns 2.13 ns 1.14 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 9V74 2.71GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 346.4 ns 5.73 ns 5.36 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 335.0 ns 5.34 ns 4.99 ns 0.97 0.02 - - NA
InvokeStaticWithFeedback 654.8 ns 8.97 ns 8.39 ns 1.89 0.04 0.0200 344 B NA
InvokeInstanceEmpty 343.1 ns 4.15 ns 3.88 ns 0.99 0.02 - - NA
InvokeInstanceWithFeedback 666.7 ns 9.76 ns 9.13 ns 1.93 0.04 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 9V74 2.71GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.767 μs 0.0268 μs 0.0251 μ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 9V74 2.71GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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,320.5 ns 21.01 ns 19.65 ns 0.0057 104 B
PredicateRoundTrip False False True 1,281.4 ns 16.88 ns 14.09 ns 0.0057 104 B
PredicateRoundTrip False True False 1,571.6 ns 24.80 ns 23.20 ns 0.0114 200 B
PredicateRoundTrip False True True 5,196.6 ns 52.11 ns 48.75 ns 0.0458 792 B
PredicateRoundTrip True False False 466.9 ns 7.10 ns 6.64 ns 0.0010 24 B
PredicateRoundTrip True False True 477.2 ns 7.50 ns 7.02 ns 0.0010 24 B
PredicateRoundTrip True True False 776.1 ns 6.06 ns 5.06 ns 0.0067 120 B
PredicateRoundTrip True True True 4,405.9 ns 46.82 ns 39.10 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 9V74 2.71GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 645.74 ns 9.825 ns 8.710 ns 0.0038 80 B
PredicateSustained False False True 672.33 ns 12.810 ns 14.239 ns 0.0038 80 B
PredicateSustained False True False 921.17 ns 16.652 ns 15.576 ns 0.0100 176 B
PredicateSustained False True True 4,640.84 ns 89.690 ns 99.690 ns 0.0400 768 B
PredicateSustained True False False 46.42 ns 0.586 ns 0.548 ns - -
PredicateSustained True False True 45.97 ns 0.715 ns 0.634 ns - -
PredicateSustained True True False 239.69 ns 2.717 ns 2.541 ns 0.0056 96 B
PredicateSustained True True True 3,798.69 ns 40.670 ns 36.053 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 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 677.8 ns 8.93 ns 8.36 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 7,893.1 ns 141.89 ns 132.73 ns 11.65 0.23 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,500.4 ns 5.03 ns 3.92 ns 2.21 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,538.7 ns 18.82 ns 17.60 ns 2.27 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 10,475.4 ns 121.23 ns 113.40 ns 15.46 0.24 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 704.9 ns 13.77 ns 12.88 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 595,331.7 ns 9,496.23 ns 8,882.78 ns 844.81 19.19 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,392.8 ns 24.00 ns 22.45 ns 3.40 0.07 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,405.9 ns 10.73 ns 10.04 ns 3.41 0.06 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 832,370.3 ns 14,218.13 ns 13,299.65 ns 1,181.19 27.62 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 687.9 ns 10.51 ns 9.83 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 70,894,469.9 ns 902,636.52 ns 800,163.77 ns 103,074.07 1,813.38 1000.0000 857.1429 285.7143 16001198 B 46,515.11
InvokeIntArrayFixed 100000 63,337.3 ns 366.92 ns 343.22 ns 92.09 1.36 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 63,054.0 ns 291.58 ns 243.49 ns 91.67 1.31 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 102,343,664.2 ns 2,039,274.96 ns 2,002,840.68 ns 148,798.32 3,493.22 1800.0000 1600.0000 800.0000 27895872 B 81,092.65

core-ubuntu-22.04_net8.0_microsoft_25


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.393 μs 0.0234 μs 0.0219 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.405 μs 0.0165 μs 0.0155 μs 1.01 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.419 μs 0.0147 μs 0.0137 μs 1.02 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 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 146.6 ns 1.95 ns 1.82 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 152.4 ns 2.32 ns 2.17 ns 1.04 0.02 0.0014 24 B 1.00
GetInstanceStringField 133.8 ns 2.19 ns 2.05 ns 0.91 0.02 - - 0.00
SetInstanceStringField 781.9 ns 12.00 ns 10.63 ns 5.33 0.09 0.0172 288 B 12.00
GetStaticIntField 137.4 ns 1.16 ns 1.09 ns 0.94 0.01 0.0014 24 B 1.00
SetStaticIntField 153.4 ns 1.98 ns 1.85 ns 1.05 0.02 0.0014 24 B 1.00
GetStaticStringField 126.2 ns 1.78 ns 1.66 ns 0.86 0.02 - - 0.00
SetStaticStringField 783.3 ns 9.85 ns 9.22 ns 5.34 0.09 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 166.5 ns 2.37 ns 2.21 ns 1.14 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 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 338.5 ns 4.60 ns 4.31 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 323.8 ns 4.51 ns 3.99 ns 0.96 0.02 - - NA
InvokeStaticWithFeedback 654.3 ns 7.03 ns 6.24 ns 1.93 0.03 0.0200 344 B NA
InvokeInstanceEmpty 347.7 ns 5.91 ns 5.53 ns 1.03 0.02 - - NA
InvokeInstanceWithFeedback 677.6 ns 8.92 ns 8.35 ns 2.00 0.03 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 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
InvokeMultiParam 1.718 μs 0.0219 μs 0.0194 μs 1.00 0.02 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 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,341.1 ns 22.14 ns 20.71 ns 0.0057 104 B
PredicateRoundTrip False False True 1,318.1 ns 22.17 ns 20.73 ns 0.0057 104 B
PredicateRoundTrip False True False 1,603.9 ns 17.28 ns 15.32 ns 0.0114 200 B
PredicateRoundTrip False True True 5,356.6 ns 50.39 ns 47.14 ns 0.0458 792 B
PredicateRoundTrip True False False 483.1 ns 9.19 ns 9.44 ns 0.0010 24 B
PredicateRoundTrip True False True 477.8 ns 6.82 ns 6.04 ns 0.0010 24 B
PredicateRoundTrip True True False 769.3 ns 8.84 ns 8.27 ns 0.0067 120 B
PredicateRoundTrip True True True 4,587.6 ns 71.68 ns 67.05 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 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 668.42 ns 12.890 ns 13.237 ns 0.0038 80 B
PredicateSustained False False True 668.94 ns 10.702 ns 10.011 ns 0.0038 80 B
PredicateSustained False True False 880.99 ns 15.156 ns 14.177 ns 0.0100 176 B
PredicateSustained False True True 4,735.58 ns 60.202 ns 56.313 ns 0.0400 768 B
PredicateSustained True False False 46.36 ns 0.659 ns 0.616 ns - -
PredicateSustained True False True 46.51 ns 0.716 ns 0.670 ns - -
PredicateSustained True True False 239.63 ns 2.503 ns 2.341 ns 0.0056 96 B
PredicateSustained True True True 3,933.79 ns 64.121 ns 59.979 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 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 733.1 ns 9.48 ns 8.87 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 8,442.5 ns 94.77 ns 88.65 ns 11.52 0.18 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,607.6 ns 15.44 ns 13.69 ns 2.19 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,623.0 ns 22.45 ns 18.75 ns 2.21 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 10,882.4 ns 90.89 ns 75.90 ns 14.85 0.20 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 725.7 ns 7.24 ns 6.42 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 643,617.3 ns 11,021.84 ns 10,309.83 ns 887.01 15.69 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,435.9 ns 32.52 ns 30.42 ns 3.36 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,400.6 ns 14.07 ns 11.75 ns 3.31 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 843,173.0 ns 5,928.33 ns 5,255.31 ns 1,162.03 12.11 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 716.2 ns 10.23 ns 9.57 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 75,179,169.6 ns 816,820.16 ns 724,089.80 ns 104,984.59 1,670.88 1000.0000 857.1429 285.7143 16002139 B 46,517.85
InvokeIntArrayFixed 100000 73,270.8 ns 835.33 ns 781.37 ns 102.32 1.69 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 72,242.2 ns 469.31 ns 438.99 ns 100.88 1.43 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 103,542,395.4 ns 1,939,045.58 ns 1,813,784.44 ns 144,592.66 3,082.26 2000.0000 1800.0000 1000.0000 27896368 B 81,094.09

core-ubuntu-22.04_net8.0_oracle_17


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 8.0.30 (8.0.30, 8.0.3026.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.535 μs 0.0203 μs 0.0190 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.482 μs 0.0150 μs 0.0140 μs 0.97 0.01 0.0210 360 B 1.00
DeclaredNewEmpty 1.478 μs 0.0191 μs 0.0179 μs 0.96 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 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.7 ns 2.20 ns 2.05 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 153.7 ns 2.96 ns 3.41 ns 1.24 0.03 0.0014 24 B 1.00
GetInstanceStringField 120.8 ns 1.71 ns 1.52 ns 0.98 0.02 - - 0.00
SetInstanceStringField 890.7 ns 4.66 ns 3.89 ns 7.20 0.12 0.0172 288 B 12.00
GetStaticIntField 127.2 ns 0.75 ns 0.58 ns 1.03 0.02 0.0014 24 B 1.00
SetStaticIntField 142.1 ns 2.85 ns 2.80 ns 1.15 0.03 0.0014 24 B 1.00
GetStaticStringField 118.3 ns 1.48 ns 1.39 ns 0.96 0.02 - - 0.00
SetStaticStringField 875.4 ns 7.73 ns 6.85 ns 7.08 0.13 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 157.1 ns 1.84 ns 1.63 ns 1.27 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 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.3 ns 6.39 ns 5.98 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 315.5 ns 5.47 ns 4.85 ns 0.90 0.02 - - NA
InvokeStaticWithFeedback 717.4 ns 7.41 ns 6.57 ns 2.04 0.04 0.0200 344 B NA
InvokeInstanceEmpty 351.9 ns 3.63 ns 3.21 ns 1.00 0.02 - - NA
InvokeInstanceWithFeedback 709.3 ns 12.62 ns 11.80 ns 2.02 0.05 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 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.776 μs 0.0273 μs 0.0256 μs 1.00 0.02 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 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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,334.4 ns 17.73 ns 16.58 ns 0.0057 104 B
PredicateRoundTrip False False True 1,409.3 ns 22.45 ns 21.00 ns 0.0057 104 B
PredicateRoundTrip False True False 1,608.9 ns 23.64 ns 22.11 ns 0.0114 200 B
PredicateRoundTrip False True True 5,722.8 ns 50.06 ns 44.38 ns 0.0458 792 B
PredicateRoundTrip True False False 511.2 ns 9.07 ns 8.48 ns 0.0010 24 B
PredicateRoundTrip True False True 518.6 ns 10.06 ns 14.10 ns 0.0010 24 B
PredicateRoundTrip True True False 778.9 ns 8.38 ns 7.43 ns 0.0067 120 B
PredicateRoundTrip True True True 4,806.3 ns 75.05 ns 66.53 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 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 829.77 ns 12.559 ns 11.748 ns 0.0043 80 B
PredicateSustained False False True 713.82 ns 12.650 ns 11.833 ns 0.0038 80 B
PredicateSustained False True False 1,003.67 ns 12.299 ns 10.271 ns 0.0100 176 B
PredicateSustained False True True 5,041.75 ns 74.001 ns 69.220 ns 0.0400 768 B
PredicateSustained True False False 41.98 ns 0.793 ns 0.742 ns - -
PredicateSustained True False True 42.26 ns 0.783 ns 0.733 ns - -
PredicateSustained True True False 243.45 ns 2.090 ns 1.955 ns 0.0056 96 B
PredicateSustained True True True 4,129.35 ns 29.761 ns 24.852 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 7763 3.20GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 748.4 ns 10.93 ns 10.22 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 7,794.3 ns 123.10 ns 115.15 ns 10.42 0.20 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,571.7 ns 12.44 ns 11.03 ns 2.10 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,575.9 ns 28.94 ns 27.07 ns 2.11 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 10,504.5 ns 118.43 ns 110.78 ns 14.04 0.23 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 720.0 ns 12.21 ns 11.42 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 593,770.7 ns 6,021.25 ns 5,337.68 ns 824.87 14.69 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,299.8 ns 24.21 ns 22.65 ns 3.19 0.06 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,267.2 ns 21.01 ns 18.63 ns 3.15 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 818,115.5 ns 8,802.82 ns 7,803.47 ns 1,136.54 20.54 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 705.3 ns 12.76 ns 11.94 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 71,815,508.4 ns 1,027,524.45 ns 961,147.01 ns 101,853.96 2,117.67 1000.0000 857.1429 285.7143 16002247 B 46,518.16
InvokeIntArrayFixed 100000 72,281.9 ns 454.10 ns 424.76 ns 102.52 1.77 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 71,526.5 ns 303.14 ns 253.14 ns 101.44 1.69 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 102,791,653.2 ns 1,859,714.79 ns 1,739,578.37 ns 145,786.58 3,365.36 1800.0000 1600.0000 800.0000 27895690 B 81,092.12

core-ubuntu-22.04_net8.0_oracle_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.20GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.440 μs 0.0188 μs 0.0176 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.441 μs 0.0181 μs 0.0169 μs 1.00 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.459 μs 0.0242 μs 0.0227 μs 1.01 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 7763 3.20GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 118.8 ns 1.19 ns 1.00 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 138.6 ns 2.42 ns 2.15 ns 1.17 0.02 0.0014 24 B 1.00
GetInstanceStringField 118.4 ns 1.71 ns 1.60 ns 1.00 0.02 - - 0.00
SetInstanceStringField 790.9 ns 7.54 ns 6.68 ns 6.66 0.08 0.0172 288 B 12.00
GetStaticIntField 126.3 ns 2.06 ns 1.93 ns 1.06 0.02 0.0014 24 B 1.00
SetStaticIntField 146.1 ns 2.77 ns 2.59 ns 1.23 0.02 0.0014 24 B 1.00
GetStaticStringField 116.5 ns 2.33 ns 2.29 ns 0.98 0.02 - - 0.00
SetStaticStringField 811.6 ns 10.05 ns 9.40 ns 6.83 0.09 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 151.7 ns 2.12 ns 1.88 ns 1.28 0.02 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 7763 3.20GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 362.0 ns 4.79 ns 4.25 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 321.8 ns 6.43 ns 6.87 ns 0.89 0.02 - - NA
InvokeStaticWithFeedback 705.4 ns 8.78 ns 7.78 ns 1.95 0.03 0.0200 344 B NA
InvokeInstanceEmpty 372.3 ns 7.01 ns 6.89 ns 1.03 0.02 - - NA
InvokeInstanceWithFeedback 738.1 ns 11.09 ns 10.37 ns 2.04 0.04 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 7763 3.20GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.809 μs 0.0167 μs 0.0148 μ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 7763 3.20GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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,297.4 ns 20.74 ns 19.40 ns 0.0057 104 B
PredicateRoundTrip False False True 1,278.8 ns 14.10 ns 13.18 ns 0.0057 104 B
PredicateRoundTrip False True False 1,566.0 ns 23.13 ns 20.50 ns 0.0114 200 B
PredicateRoundTrip False True True 5,507.8 ns 87.27 ns 81.63 ns 0.0458 792 B
PredicateRoundTrip True False False 524.8 ns 10.32 ns 11.88 ns 0.0010 24 B
PredicateRoundTrip True False True 495.0 ns 7.57 ns 7.08 ns 0.0010 24 B
PredicateRoundTrip True True False 778.9 ns 12.29 ns 10.90 ns 0.0067 120 B
PredicateRoundTrip True True True 4,615.9 ns 91.98 ns 94.46 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 7763 3.20GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 675.63 ns 9.420 ns 7.866 ns 0.0038 80 B
PredicateSustained False False True 682.26 ns 12.783 ns 13.127 ns 0.0038 80 B
PredicateSustained False True False 938.20 ns 13.748 ns 12.860 ns 0.0100 176 B
PredicateSustained False True True 4,777.43 ns 59.187 ns 52.468 ns 0.0400 768 B
PredicateSustained True False False 42.08 ns 0.697 ns 0.652 ns - -
PredicateSustained True False True 41.81 ns 0.547 ns 0.511 ns - -
PredicateSustained True True False 254.55 ns 2.059 ns 1.926 ns 0.0056 96 B
PredicateSustained True True True 3,952.03 ns 41.130 ns 34.345 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)
Intel Xeon 6973P-C 4.01GHz, 1 CPU, 4 logical and 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 Median Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
InvokeIntParam 10 410.1 ns 3.59 ns 3.00 ns 408.9 ns 1.00 0.01 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 10 5,278.5 ns 77.53 ns 68.72 ns 5,278.1 ns 12.87 0.19 0.0229 - - 2048 B 5.95
InvokeIntArrayFixed 10 877.7 ns 7.05 ns 5.88 ns 877.5 ns 2.14 0.02 0.0048 - - 448 B 1.30
InvokeVarArgsWholeArray 10 855.9 ns 4.22 ns 3.95 ns 855.1 ns 2.09 0.02 0.0048 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 6,722.3 ns 49.60 ns 46.39 ns 6,731.0 ns 16.39 0.16 0.0381 - - 3520 B 10.23
InvokeIntParam 1000 418.9 ns 2.53 ns 2.37 ns 418.4 ns 1.00 0.01 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 1000 433,943.2 ns 8,648.30 ns 16,454.29 ns 426,155.3 ns 1,035.94 39.28 1.4648 0.4883 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,509.5 ns 5.80 ns 4.53 ns 1,509.6 ns 3.60 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,560.1 ns 25.72 ns 26.41 ns 1,549.6 ns 3.72 0.06 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 564,421.5 ns 6,741.56 ns 5,976.22 ns 564,807.5 ns 1,347.43 15.62 2.9297 0.9766 - 265888 B 772.93
InvokeIntParam 100000 407.7 ns 3.38 ns 3.00 ns 407.8 ns 1.00 0.01 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 100000 46,092,376.0 ns 468,167.58 ns 415,018.36 ns 46,205,879.4 ns 113,051.71 1,271.55 272.7273 181.8182 181.8182 16000844 B 46,514.08
InvokeIntArrayFixed 100000 75,256.0 ns 463.23 ns 433.30 ns 75,104.2 ns 184.58 1.67 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 73,690.8 ns 516.22 ns 431.07 ns 73,770.5 ns 180.74 1.64 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 67,125,056.9 ns 1,306,262.81 ns 1,652,004.35 ns 67,420,872.4 ns 164,638.99 4,138.72 1000.0000 875.0000 875.0000 27894704 B 81,089.26

core-ubuntu-22.04_net8.0_oracle_25


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.01GHz, 1 CPU, 4 logical and 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 964.8 ns 12.01 ns 11.23 ns 1.00 0.02 0.0038 360 B 1.00
NewWithSignature 840.3 ns 5.54 ns 4.91 ns 0.87 0.01 0.0038 360 B 1.00
DeclaredNewEmpty 969.1 ns 11.50 ns 10.76 ns 1.00 0.02 0.0038 360 B 1.00

core-ubuntu-22.04_net8.0_oracle_25


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.01GHz, 1 CPU, 4 logical and 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 Median Ratio RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 74.89 ns 0.301 ns 0.281 ns 74.86 ns 1.00 0.01 0.0002 24 B 1.00
SetInstanceIntField 88.34 ns 0.436 ns 0.408 ns 88.36 ns 1.18 0.01 0.0002 24 B 1.00
GetInstanceStringField 74.39 ns 1.510 ns 3.469 ns 72.73 ns 0.99 0.05 - - 0.00
SetInstanceStringField 533.82 ns 1.833 ns 1.625 ns 534.42 ns 7.13 0.03 0.0029 288 B 12.00
GetStaticIntField 93.12 ns 0.423 ns 0.353 ns 93.08 ns 1.24 0.01 0.0002 24 B 1.00
SetStaticIntField 83.37 ns 0.841 ns 0.787 ns 83.39 ns 1.11 0.01 0.0002 24 B 1.00
GetStaticStringField 68.69 ns 0.493 ns 0.461 ns 68.59 ns 0.92 0.01 - - 0.00
SetStaticStringField 525.44 ns 4.310 ns 3.820 ns 525.46 ns 7.02 0.06 0.0029 288 B 12.00
GetInstanceIntFieldGeneric 92.20 ns 0.638 ns 0.597 ns 91.98 ns 1.23 0.01 0.0002 24 B 1.00

core-ubuntu-22.04_net8.0_oracle_25


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.01GHz, 1 CPU, 4 logical and 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 213.1 ns 4.27 ns 7.69 ns 1.00 0.05 - - NA
InvokeStaticEmptyWithSignature 184.8 ns 1.05 ns 0.98 ns 0.87 0.03 - - NA
InvokeStaticWithFeedback 406.3 ns 3.00 ns 2.66 ns 1.91 0.07 0.0038 344 B NA
InvokeInstanceEmpty 207.3 ns 0.92 ns 0.86 ns 0.97 0.03 - - NA
InvokeInstanceWithFeedback 409.5 ns 3.18 ns 2.98 ns 1.92 0.07 0.0038 344 B NA

core-ubuntu-22.04_net8.0_oracle_25


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.01GHz, 1 CPU, 4 logical and 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 980.8 ns 5.70 ns 5.33 ns 1.00 0.0076 712 B 1.00

core-ubuntu-22.04_net8.0_oracle_25


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.01GHz, 1 CPU, 4 logical and 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 697.1 ns 5.98 ns 5.60 ns 0.0010 104 B
PredicateRoundTrip False False True 702.9 ns 9.27 ns 8.21 ns 0.0010 104 B
PredicateRoundTrip False True False 859.4 ns 5.89 ns 5.22 ns 0.0019 200 B
PredicateRoundTrip False True True 3,117.9 ns 14.76 ns 13.08 ns 0.0076 792 B
PredicateRoundTrip True False False 266.9 ns 1.70 ns 1.59 ns - 24 B
PredicateRoundTrip True False True 288.3 ns 4.85 ns 4.30 ns - 24 B
PredicateRoundTrip True True False 452.2 ns 5.76 ns 5.11 ns 0.0014 120 B
PredicateRoundTrip True True True 2,720.3 ns 35.22 ns 29.41 ns 0.0076 712 B

core-ubuntu-22.04_net8.0_oracle_25


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.01GHz, 1 CPU, 4 logical and 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 427.78 ns 4.330 ns 3.616 ns 0.0008 80 B
PredicateSustained False False True 427.51 ns 3.559 ns 3.330 ns 0.0009 80 B
PredicateSustained False True False 580.72 ns 9.903 ns 8.778 ns 0.0011 176 B
PredicateSustained False True True 2,871.65 ns 22.416 ns 17.501 ns 0.0050 768 B
PredicateSustained True False False 38.04 ns 0.532 ns 0.498 ns - -
PredicateSustained True False True 37.45 ns 0.127 ns 0.118 ns - -
PredicateSustained True True False 171.20 ns 0.730 ns 0.647 ns 0.0009 96 B
PredicateSustained True True True 2,386.68 ns 22.000 ns 20.579 ns 0.0067 688 B

core-ubuntu-22.04_net8.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.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-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 565.1 ns 11.05 ns 12.72 ns 1.00 0.03 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 10 7,077.2 ns 126.66 ns 112.28 ns 12.53 0.33 0.0229 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,204.6 ns 22.30 ns 20.86 ns 2.13 0.06 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,180.8 ns 21.73 ns 23.25 ns 2.09 0.06 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,921.4 ns 103.39 ns 86.33 ns 15.79 0.37 0.0305 - - 3520 B 10.23
InvokeIntParam 1000 544.8 ns 10.51 ns 11.24 ns 1.00 0.03 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 1000 559,996.8 ns 11,179.50 ns 10,979.76 ns 1,028.23 28.11 0.9766 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,924.0 ns 38.15 ns 35.68 ns 3.53 0.09 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,004.4 ns 36.73 ns 34.36 ns 3.68 0.09 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 720,736.0 ns 14,246.77 ns 19,501.14 ns 1,323.37 43.71 2.9297 0.9766 - 265888 B 772.93
InvokeIntParam 100000 566.6 ns 11.28 ns 11.08 ns 1.00 0.03 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,007,530.5 ns 1,174,354.82 ns 1,098,492.23 ns 105,954.10 2,754.18 250.0000 125.0000 125.0000 16000669 B 46,513.57
InvokeIntArrayFixed 100000 74,073.1 ns 1,472.77 ns 1,305.57 ns 130.79 3.34 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 74,666.5 ns 699.39 ns 619.99 ns 131.84 2.72 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 80,877,737.6 ns 1,558,383.48 ns 1,913,835.03 ns 142,804.21 4,277.55 1000.0000 857.1429 857.1429 27895585 B 81,091.82

core-ubuntu-22.04_net8.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.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-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.277 μs 0.0213 μs 0.0189 μs 1.00 0.02 0.0038 360 B 1.00
NewWithSignature 1.135 μs 0.0211 μs 0.0197 μs 0.89 0.02 0.0038 360 B 1.00
DeclaredNewEmpty 1.264 μs 0.0165 μs 0.0146 μs 0.99 0.02 0.0038 360 B 1.00

core-ubuntu-22.04_net8.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.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-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 103.0 ns 1.02 ns 0.96 ns 1.00 0.01 0.0002 24 B 1.00
SetInstanceIntField 121.6 ns 2.45 ns 2.52 ns 1.18 0.03 0.0002 24 B 1.00
GetInstanceStringField 104.0 ns 1.94 ns 1.82 ns 1.01 0.02 - - 0.00
SetInstanceStringField 715.6 ns 7.94 ns 7.42 ns 6.95 0.09 0.0029 288 B 12.00
GetStaticIntField 111.8 ns 1.79 ns 1.68 ns 1.09 0.02 0.0002 24 B 1.00
SetStaticIntField 123.7 ns 2.02 ns 1.79 ns 1.20 0.02 0.0002 24 B 1.00
GetStaticStringField 108.6 ns 2.11 ns 3.96 ns 1.05 0.04 - - 0.00
SetStaticStringField 716.9 ns 10.30 ns 9.13 ns 6.96 0.11 0.0029 288 B 12.00
GetInstanceIntFieldGeneric 128.0 ns 1.86 ns 1.56 ns 1.24 0.02 0.0002 24 B 1.00

core-ubuntu-22.04_net8.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.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-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 323.1 ns 6.43 ns 7.40 ns 1.00 0.03 - - NA
InvokeStaticEmptyWithSignature 309.0 ns 4.34 ns 3.84 ns 0.96 0.02 - - NA
InvokeStaticWithFeedback 550.7 ns 10.86 ns 12.50 ns 1.71 0.05 0.0038 344 B NA
InvokeInstanceEmpty 327.3 ns 4.93 ns 4.37 ns 1.01 0.03 - - NA
InvokeInstanceWithFeedback 536.9 ns 3.74 ns 3.50 ns 1.66 0.04 0.0038 344 B NA

core-ubuntu-22.04_net8.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.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-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.350 μs 0.0115 μs 0.0102 μs 1.00 0.0076 712 B 1.00

core-ubuntu-22.04_net8.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.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-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 996.2 ns 16.97 ns 15.87 ns - 104 B
PredicateRoundTrip False False True 1,002.6 ns 13.11 ns 12.26 ns - 104 B
PredicateRoundTrip False True False 1,250.6 ns 24.62 ns 29.31 ns 0.0019 200 B
PredicateRoundTrip False True True 4,209.3 ns 57.58 ns 51.05 ns 0.0076 792 B
PredicateRoundTrip True False False 388.1 ns 7.81 ns 12.38 ns - 24 B
PredicateRoundTrip True False True 375.8 ns 6.25 ns 5.85 ns - 24 B
PredicateRoundTrip True True False 620.5 ns 12.27 ns 23.65 ns 0.0010 120 B
PredicateRoundTrip True True True 3,895.1 ns 76.97 ns 110.39 ns 0.0076 712 B

core-ubuntu-22.04_net8.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.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-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 618.20 ns 10.603 ns 9.918 ns - 80 B
PredicateSustained False False True 627.31 ns 12.347 ns 12.679 ns - 80 B
PredicateSustained False True False 818.58 ns 16.258 ns 27.163 ns 0.0017 176 B
PredicateSustained False True True 3,851.21 ns 42.464 ns 35.459 ns - 768 B
PredicateSustained True False False 52.12 ns 1.040 ns 1.822 ns - -
PredicateSustained True False True 53.93 ns 0.999 ns 1.367 ns - -
PredicateSustained True True False 214.15 ns 2.166 ns 1.809 ns 0.0009 96 B
PredicateSustained True True True 3,278.01 ns 63.850 ns 53.318 ns - 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 3.17GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 755.4 ns 13.63 ns 12.75 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 8,051.5 ns 76.74 ns 68.03 ns 10.66 0.19 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,592.2 ns 21.17 ns 19.80 ns 2.11 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,578.5 ns 11.04 ns 10.32 ns 2.09 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 10,688.7 ns 74.15 ns 69.36 ns 14.15 0.25 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 728.7 ns 8.48 ns 7.93 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 603,795.4 ns 5,105.71 ns 4,775.88 ns 828.70 10.73 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,365.6 ns 20.32 ns 19.01 ns 3.25 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,387.3 ns 17.25 ns 15.29 ns 3.28 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 811,710.1 ns 11,568.43 ns 10,821.12 ns 1,114.06 18.50 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 723.0 ns 7.24 ns 6.77 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 75,615,422.7 ns 1,139,029.66 ns 1,065,449.05 ns 104,596.87 1,712.71 1000.0000 857.1429 285.7143 16001789 B 46,516.83
InvokeIntArrayFixed 100000 74,076.7 ns 1,030.38 ns 963.81 ns 102.47 1.59 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 74,616.6 ns 521.63 ns 487.94 ns 103.22 1.14 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 102,160,468.9 ns 1,927,645.45 ns 1,803,120.75 ns 141,315.96 2,733.10 1800.0000 1600.0000 800.0000 27894792 B 81,089.51

core-ubuntu-22.04_net8.0_temurin_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.17GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.483 μs 0.0228 μs 0.0191 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.505 μs 0.0165 μs 0.0155 μs 1.02 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.506 μs 0.0179 μs 0.0159 μs 1.02 0.02 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 3.17GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 125.5 ns 2.39 ns 2.23 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 145.7 ns 2.89 ns 2.70 ns 1.16 0.03 0.0014 24 B 1.00
GetInstanceStringField 118.9 ns 2.06 ns 1.93 ns 0.95 0.02 - - 0.00
SetInstanceStringField 833.7 ns 5.32 ns 4.98 ns 6.65 0.12 0.0172 288 B 12.00
GetStaticIntField 128.7 ns 2.40 ns 2.25 ns 1.03 0.02 0.0014 24 B 1.00
SetStaticIntField 143.8 ns 2.05 ns 1.92 ns 1.15 0.02 0.0014 24 B 1.00
GetStaticStringField 115.0 ns 1.32 ns 1.23 ns 0.92 0.02 - - 0.00
SetStaticStringField 838.6 ns 9.71 ns 9.08 ns 6.69 0.13 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 161.3 ns 3.09 ns 2.89 ns 1.29 0.03 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 3.17GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 346.2 ns 4.95 ns 4.63 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 305.4 ns 4.53 ns 4.24 ns 0.88 0.02 - - NA
InvokeStaticWithFeedback 725.6 ns 14.23 ns 13.31 ns 2.10 0.05 0.0200 344 B NA
InvokeInstanceEmpty 366.3 ns 5.79 ns 5.42 ns 1.06 0.02 - - NA
InvokeInstanceWithFeedback 718.4 ns 13.25 ns 12.39 ns 2.08 0.04 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 3.17GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.848 μs 0.0174 μs 0.0162 μs 1.00 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 3.17GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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,313.9 ns 19.28 ns 17.09 ns 0.0057 104 B
PredicateRoundTrip False False True 1,344.1 ns 24.24 ns 22.68 ns 0.0057 104 B
PredicateRoundTrip False True False 1,581.9 ns 16.94 ns 15.85 ns 0.0114 200 B
PredicateRoundTrip False True True 5,573.5 ns 37.86 ns 35.41 ns 0.0458 792 B
PredicateRoundTrip True False False 495.1 ns 9.76 ns 9.58 ns 0.0010 24 B
PredicateRoundTrip True False True 485.4 ns 9.38 ns 10.04 ns 0.0010 24 B
PredicateRoundTrip True True False 771.6 ns 7.56 ns 6.70 ns 0.0067 120 B
PredicateRoundTrip True True True 4,663.6 ns 30.89 ns 27.39 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 3.17GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 698.17 ns 13.630 ns 15.696 ns 0.0038 80 B
PredicateSustained False False True 688.77 ns 9.118 ns 8.083 ns 0.0038 80 B
PredicateSustained False True False 948.45 ns 9.723 ns 9.094 ns 0.0100 176 B
PredicateSustained False True True 4,844.25 ns 43.793 ns 38.821 ns 0.0400 768 B
PredicateSustained True False False 42.90 ns 0.719 ns 0.672 ns - -
PredicateSustained True False True 42.76 ns 0.826 ns 0.811 ns - -
PredicateSustained True True False 246.02 ns 3.243 ns 3.033 ns 0.0056 96 B
PredicateSustained True True True 4,024.83 ns 29.190 ns 22.790 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)
INTEL XEON PLATINUM 8573C 3.01GHz, 1 CPU, 4 logical and 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.6 ns 10.14 ns 9.48 ns 1.00 0.02 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 10 6,484.3 ns 91.02 ns 85.14 ns 12.23 0.26 0.0229 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,073.0 ns 15.19 ns 13.47 ns 2.02 0.04 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,066.0 ns 13.53 ns 11.30 ns 2.01 0.04 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,143.9 ns 151.18 ns 196.57 ns 15.35 0.45 0.0305 - - 3520 B 10.23
InvokeIntParam 1000 512.5 ns 9.97 ns 8.84 ns 1.00 0.02 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 1000 510,171.4 ns 10,078.62 ns 13,795.74 ns 995.74 31.22 0.9766 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,842.8 ns 30.28 ns 28.33 ns 3.60 0.08 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,834.0 ns 36.48 ns 37.46 ns 3.58 0.09 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 667,477.6 ns 12,986.66 ns 14,434.64 ns 1,302.76 35.03 2.9297 0.9766 - 265888 B 772.93
InvokeIntParam 100000 532.8 ns 8.81 ns 7.35 ns 1.00 0.02 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 100000 55,680,809.5 ns 932,358.04 ns 826,511.12 ns 104,523.06 2,038.18 333.3333 222.2222 222.2222 16001600 B 46,516.28
InvokeIntArrayFixed 100000 73,472.0 ns 1,421.09 ns 2,525.99 ns 137.92 5.03 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 74,401.2 ns 1,465.83 ns 1,744.96 ns 139.66 3.70 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 78,117,369.6 ns 1,534,436.43 ns 1,995,200.95 ns 146,640.58 4,151.15 1000.0000 857.1429 857.1429 27896056 B 81,093.19

core-ubuntu-22.04_net8.0_temurin_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.01GHz, 1 CPU, 4 logical and 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.217 μs 0.0243 μs 0.0280 μs 1.00 0.03 0.0038 360 B 1.00
NewWithSignature 1.049 μs 0.0202 μs 0.0248 μs 0.86 0.03 0.0038 360 B 1.00
DeclaredNewEmpty 1.170 μs 0.0186 μs 0.0182 μs 0.96 0.03 0.0038 360 B 1.00

core-ubuntu-22.04_net8.0_temurin_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.01GHz, 1 CPU, 4 logical and 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 96.87 ns 1.664 ns 1.475 ns 1.00 0.02 0.0002 24 B 1.00
SetInstanceIntField 112.66 ns 1.382 ns 1.293 ns 1.16 0.02 0.0002 24 B 1.00
GetInstanceStringField 94.99 ns 1.694 ns 1.585 ns 0.98 0.02 - - 0.00
SetInstanceStringField 686.85 ns 13.249 ns 13.606 ns 7.09 0.17 0.0029 288 B 12.00
GetStaticIntField 103.50 ns 2.102 ns 2.158 ns 1.07 0.03 0.0002 24 B 1.00
SetStaticIntField 109.45 ns 2.056 ns 1.923 ns 1.13 0.03 0.0002 24 B 1.00
GetStaticStringField 94.57 ns 0.781 ns 0.692 ns 0.98 0.02 - - 0.00
SetStaticStringField 695.71 ns 12.623 ns 11.808 ns 7.18 0.16 0.0029 288 B 12.00
GetInstanceIntFieldGeneric 125.44 ns 2.363 ns 2.210 ns 1.30 0.03 0.0002 24 B 1.00

core-ubuntu-22.04_net8.0_temurin_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.01GHz, 1 CPU, 4 logical and 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 261.7 ns 4.65 ns 3.88 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 234.8 ns 3.50 ns 3.27 ns 0.90 0.02 - - NA
InvokeStaticWithFeedback 572.0 ns 11.25 ns 12.03 ns 2.19 0.05 0.0038 344 B NA
InvokeInstanceEmpty 261.0 ns 5.06 ns 5.19 ns 1.00 0.02 - - NA
InvokeInstanceWithFeedback 514.6 ns 9.53 ns 8.91 ns 1.97 0.04 0.0038 344 B NA

core-ubuntu-22.04_net8.0_temurin_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.01GHz, 1 CPU, 4 logical and 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.258 μs 0.0248 μs 0.0254 μs 1.00 0.03 0.0076 712 B 1.00

core-ubuntu-22.04_net8.0_temurin_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.01GHz, 1 CPU, 4 logical and 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 931.0 ns 17.68 ns 13.80 ns - 104 B
PredicateRoundTrip False False True 893.3 ns 15.51 ns 16.60 ns - 104 B
PredicateRoundTrip False True False 1,111.5 ns 21.45 ns 23.84 ns 0.0019 200 B
PredicateRoundTrip False True True 3,821.7 ns 40.72 ns 34.00 ns 0.0076 792 B
PredicateRoundTrip True False False 338.6 ns 5.91 ns 5.81 ns - 24 B
PredicateRoundTrip True False True 335.9 ns 5.39 ns 5.54 ns - 24 B
PredicateRoundTrip True True False 580.4 ns 11.31 ns 17.27 ns 0.0010 120 B
PredicateRoundTrip True True True 3,197.2 ns 62.84 ns 64.53 ns 0.0076 712 B

core-ubuntu-22.04_net8.0_temurin_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.01GHz, 1 CPU, 4 logical and 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 512.90 ns 9.773 ns 9.142 ns - 80 B
PredicateSustained False False True 527.49 ns 10.408 ns 15.578 ns - 80 B
PredicateSustained False True False 726.78 ns 13.996 ns 14.976 ns 0.0014 176 B
PredicateSustained False True True 3,313.34 ns 53.718 ns 50.248 ns - 768 B
PredicateSustained True False False 50.14 ns 0.864 ns 0.808 ns - -
PredicateSustained True False True 49.16 ns 0.979 ns 1.465 ns - -
PredicateSustained True True False 207.03 ns 3.289 ns 3.076 ns 0.0009 96 B
PredicateSustained True True True 2,845.86 ns 33.372 ns 29.583 ns 0.0050 688 B

core-ubuntu-22.04_net8.0_temurin_25


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.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-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 807.7 ns 15.85 ns 18.25 ns 1.00 0.03 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 7,626.8 ns 86.60 ns 81.00 ns 9.45 0.23 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,572.7 ns 27.98 ns 26.17 ns 1.95 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,562.5 ns 22.31 ns 19.78 ns 1.94 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 10,409.0 ns 99.50 ns 93.07 ns 12.89 0.31 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 714.7 ns 13.75 ns 12.86 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 586,009.1 ns 7,079.79 ns 6,622.44 ns 820.15 16.75 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,316.5 ns 26.38 ns 24.67 ns 3.24 0.07 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,296.2 ns 35.67 ns 33.37 ns 3.21 0.07 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 841,908.3 ns 9,676.56 ns 9,051.46 ns 1,178.29 23.74 15.6250 6.8359 - 265889 B 772.93
InvokeIntParam 100000 749.6 ns 8.90 ns 8.32 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 69,746,026.8 ns 1,042,160.36 ns 974,837.45 ns 93,058.77 1,606.27 1000.0000 857.1429 285.7143 16001854 B 46,517.02
InvokeIntArrayFixed 100000 71,069.7 ns 309.00 ns 258.03 ns 94.82 1.07 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 71,180.9 ns 430.03 ns 381.21 ns 94.97 1.13 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 100,524,030.6 ns 1,713,629.15 ns 1,602,929.77 ns 134,124.38 2,520.58 1800.0000 1600.0000 800.0000 27895275 B 81,090.92

core-ubuntu-22.04_net8.0_temurin_25


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.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-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.463 μs 0.0134 μs 0.0125 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.412 μs 0.0128 μs 0.0113 μs 0.96 0.0210 360 B 1.00
DeclaredNewEmpty 1.446 μs 0.0151 μs 0.0141 μs 0.99 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 7763 3.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-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 120.1 ns 2.24 ns 2.09 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 140.3 ns 2.84 ns 2.78 ns 1.17 0.03 0.0014 24 B 1.00
GetInstanceStringField 118.7 ns 2.17 ns 2.03 ns 0.99 0.02 - - 0.00
SetInstanceStringField 806.1 ns 7.63 ns 6.37 ns 6.71 0.13 0.0172 288 B 12.00
GetStaticIntField 133.1 ns 0.74 ns 0.62 ns 1.11 0.02 0.0014 24 B 1.00
SetStaticIntField 142.0 ns 2.14 ns 2.00 ns 1.18 0.03 0.0014 24 B 1.00
GetStaticStringField 122.3 ns 2.43 ns 2.39 ns 1.02 0.03 - - 0.00
SetStaticStringField 810.7 ns 6.80 ns 6.03 ns 6.75 0.12 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 159.4 ns 3.00 ns 2.81 ns 1.33 0.03 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 7763 3.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-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 346.7 ns 6.82 ns 7.29 ns 1.00 0.03 - - NA
InvokeStaticEmptyWithSignature 316.5 ns 5.34 ns 5.00 ns 0.91 0.02 - - NA
InvokeStaticWithFeedback 739.2 ns 8.58 ns 8.02 ns 2.13 0.05 0.0200 344 B NA
InvokeInstanceEmpty 355.6 ns 3.97 ns 3.52 ns 1.03 0.02 - - NA
InvokeInstanceWithFeedback 748.4 ns 10.77 ns 9.55 ns 2.16 0.05 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 7763 3.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-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.727 μs 0.0180 μs 0.0168 μs 1.00 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 7763 3.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-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,322.4 ns 25.39 ns 23.75 ns 0.0057 104 B
PredicateRoundTrip False False True 1,281.0 ns 13.79 ns 12.90 ns 0.0057 104 B
PredicateRoundTrip False True False 1,568.5 ns 14.31 ns 12.68 ns 0.0114 200 B
PredicateRoundTrip False True True 5,432.9 ns 105.93 ns 99.09 ns 0.0458 792 B
PredicateRoundTrip True False False 520.0 ns 10.44 ns 11.60 ns 0.0010 24 B
PredicateRoundTrip True False True 524.0 ns 9.64 ns 9.02 ns 0.0010 24 B
PredicateRoundTrip True True False 785.9 ns 9.76 ns 9.13 ns 0.0067 120 B
PredicateRoundTrip True True True 4,690.5 ns 75.94 ns 71.03 ns 0.0381 712 B

core-ubuntu-22.04_net8.0_temurin_25


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.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-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 668.98 ns 10.781 ns 10.084 ns 0.0038 80 B
PredicateSustained False False True 659.82 ns 12.547 ns 12.885 ns 0.0038 80 B
PredicateSustained False True False 940.16 ns 15.262 ns 14.276 ns 0.0100 176 B
PredicateSustained False True True 4,792.00 ns 62.059 ns 55.014 ns 0.0400 768 B
PredicateSustained True False False 45.96 ns 0.809 ns 0.757 ns - -
PredicateSustained True False True 43.70 ns 0.685 ns 0.641 ns - -
PredicateSustained True True False 249.44 ns 4.117 ns 3.851 ns 0.0056 96 B
PredicateSustained True True True 4,019.38 ns 49.766 ns 44.117 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 7763 3.07GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 728.6 ns 10.22 ns 9.06 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 8,282.1 ns 113.08 ns 105.77 ns 11.37 0.20 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,631.7 ns 16.33 ns 15.28 ns 2.24 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,625.9 ns 12.07 ns 10.70 ns 2.23 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 10,388.3 ns 78.73 ns 69.79 ns 14.26 0.20 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 749.2 ns 12.96 ns 11.49 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 622,167.6 ns 4,791.84 ns 4,001.40 ns 830.65 13.21 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,334.0 ns 25.03 ns 22.19 ns 3.12 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,369.7 ns 16.07 ns 15.03 ns 3.16 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 856,601.1 ns 9,808.61 ns 8,695.08 ns 1,143.64 20.15 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 733.8 ns 5.62 ns 4.99 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 74,933,400.5 ns 789,158.96 ns 738,179.78 ns 102,120.02 1,182.35 1000.0000 857.1429 285.7143 16002224 B 46,518.09
InvokeIntArrayFixed 100000 72,200.6 ns 232.19 ns 205.83 ns 98.40 0.70 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 72,502.6 ns 416.69 ns 389.78 ns 98.81 0.83 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 102,928,223.5 ns 1,107,388.78 ns 1,035,852.15 ns 140,271.65 1,647.96 1800.0000 1600.0000 800.0000 27895165 B 81,090.60

core-ubuntu-22.04_net8.0_zulu_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.07GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.491 μs 0.0210 μs 0.0196 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.501 μs 0.0250 μs 0.0234 μs 1.01 0.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.479 μs 0.0157 μs 0.0147 μ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 7763 3.07GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 124.9 ns 1.69 ns 1.49 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 152.4 ns 2.71 ns 2.54 ns 1.22 0.02 0.0014 24 B 1.00
GetInstanceStringField 124.8 ns 1.75 ns 1.63 ns 1.00 0.02 - - 0.00
SetInstanceStringField 876.3 ns 1.71 ns 1.34 ns 7.02 0.08 0.0172 288 B 12.00
GetStaticIntField 133.0 ns 1.81 ns 1.61 ns 1.07 0.02 0.0014 24 B 1.00
SetStaticIntField 157.8 ns 2.60 ns 2.43 ns 1.26 0.02 0.0014 24 B 1.00
GetStaticStringField 120.3 ns 1.51 ns 1.26 ns 0.96 0.01 - - 0.00
SetStaticStringField 888.4 ns 7.41 ns 6.57 ns 7.11 0.10 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 153.2 ns 2.02 ns 1.89 ns 1.23 0.02 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 7763 3.07GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 430.7 ns 7.41 ns 6.93 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 397.2 ns 5.15 ns 4.57 ns 0.92 0.02 - - NA
InvokeStaticWithFeedback 700.2 ns 10.51 ns 9.83 ns 1.63 0.03 0.0200 344 B NA
InvokeInstanceEmpty 432.7 ns 8.60 ns 8.45 ns 1.00 0.02 - - NA
InvokeInstanceWithFeedback 757.1 ns 12.21 ns 11.42 ns 1.76 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 7763 3.07GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.794 μs 0.0206 μs 0.0193 μ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 7763 3.07GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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,388.6 ns 26.56 ns 26.09 ns 0.0057 104 B
PredicateRoundTrip False False True 1,359.6 ns 14.61 ns 12.95 ns 0.0057 104 B
PredicateRoundTrip False True False 1,675.1 ns 6.62 ns 5.87 ns 0.0114 200 B
PredicateRoundTrip False True True 5,916.0 ns 84.72 ns 79.25 ns 0.0458 792 B
PredicateRoundTrip True False False 508.5 ns 5.61 ns 5.25 ns 0.0010 24 B
PredicateRoundTrip True False True 517.8 ns 8.06 ns 7.14 ns 0.0010 24 B
PredicateRoundTrip True True False 796.1 ns 12.57 ns 12.34 ns 0.0067 120 B
PredicateRoundTrip True True True 4,884.0 ns 63.43 ns 59.33 ns 0.0381 712 B

core-ubuntu-22.04_net8.0_zulu_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763 3.07GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 748.19 ns 10.288 ns 9.623 ns 0.0043 80 B
PredicateSustained False False True 735.74 ns 14.197 ns 15.780 ns 0.0043 80 B
PredicateSustained False True False 996.44 ns 15.194 ns 13.469 ns 0.0100 176 B
PredicateSustained False True True 5,139.34 ns 83.948 ns 78.525 ns 0.0400 768 B
PredicateSustained True False False 43.29 ns 0.697 ns 0.652 ns - -
PredicateSustained True False True 43.84 ns 0.681 ns 0.637 ns - -
PredicateSustained True True False 258.93 ns 2.681 ns 2.508 ns 0.0056 96 B
PredicateSustained True True True 4,187.06 ns 45.639 ns 38.110 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)
Intel Xeon 6973P-C 4.02GHz, 1 CPU, 4 logical and 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 406.7 ns 2.60 ns 2.31 ns 1.00 0.01 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 10 5,601.9 ns 30.41 ns 28.45 ns 13.77 0.10 0.0229 - - 2048 B 5.95
InvokeIntArrayFixed 10 917.0 ns 17.21 ns 18.41 ns 2.25 0.05 0.0048 - - 448 B 1.30
InvokeVarArgsWholeArray 10 877.2 ns 6.50 ns 5.77 ns 2.16 0.02 0.0048 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 6,993.9 ns 82.27 ns 72.93 ns 17.20 0.20 0.0381 - - 3520 B 10.23
InvokeIntParam 1000 413.8 ns 4.77 ns 3.98 ns 1.00 0.01 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 1000 435,278.9 ns 3,668.61 ns 3,252.13 ns 1,051.89 12.30 1.4648 0.4883 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,550.3 ns 23.36 ns 20.71 ns 3.75 0.06 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,557.9 ns 19.97 ns 16.67 ns 3.76 0.05 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 561,903.9 ns 10,884.16 ns 17,263.43 ns 1,357.89 42.98 2.9297 0.9766 - 265888 B 772.93
InvokeIntParam 100000 413.6 ns 5.34 ns 4.46 ns 1.00 0.01 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 100000 46,363,808.8 ns 878,192.73 ns 778,494.98 ns 112,121.24 2,159.97 272.7273 181.8182 181.8182 16001415 B 46,515.74
InvokeIntArrayFixed 100000 75,301.4 ns 1,358.97 ns 1,271.18 ns 182.10 3.53 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 70,954.1 ns 1,401.78 ns 1,242.64 ns 171.59 3.41 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 65,610,225.2 ns 1,301,001.55 ns 2,173,681.50 ns 158,664.70 5,443.40 1000.0000 875.0000 875.0000 27896197 B 81,093.60

core-ubuntu-22.04_net8.0_zulu_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.02GHz, 1 CPU, 4 logical and 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 992.2 ns 11.03 ns 8.61 ns 1.00 0.01 0.0038 360 B 1.00
NewWithSignature 864.7 ns 16.95 ns 16.65 ns 0.87 0.02 0.0038 360 B 1.00
DeclaredNewEmpty 998.0 ns 17.98 ns 16.82 ns 1.01 0.02 0.0038 360 B 1.00

core-ubuntu-22.04_net8.0_zulu_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.02GHz, 1 CPU, 4 logical and 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 74.99 ns 0.400 ns 0.374 ns 1.00 0.01 0.0002 24 B 1.00
SetInstanceIntField 88.45 ns 0.498 ns 0.466 ns 1.18 0.01 0.0002 24 B 1.00
GetInstanceStringField 70.89 ns 0.421 ns 0.394 ns 0.95 0.01 - - 0.00
SetInstanceStringField 540.01 ns 10.688 ns 9.997 ns 7.20 0.13 0.0029 288 B 12.00
GetStaticIntField 81.16 ns 0.814 ns 0.635 ns 1.08 0.01 0.0002 24 B 1.00
SetStaticIntField 87.06 ns 0.488 ns 0.381 ns 1.16 0.01 0.0002 24 B 1.00
GetStaticStringField 70.70 ns 0.565 ns 0.501 ns 0.94 0.01 - - 0.00
SetStaticStringField 522.16 ns 2.522 ns 2.106 ns 6.96 0.04 0.0029 288 B 12.00
GetInstanceIntFieldGeneric 89.28 ns 1.101 ns 0.976 ns 1.19 0.01 0.0002 24 B 1.00

core-ubuntu-22.04_net8.0_zulu_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.02GHz, 1 CPU, 4 logical and 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 203.6 ns 1.14 ns 1.01 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 182.6 ns 3.65 ns 3.24 ns 0.90 0.02 - - NA
InvokeStaticWithFeedback 417.1 ns 8.22 ns 8.80 ns 2.05 0.04 0.0038 344 B NA
InvokeInstanceEmpty 212.2 ns 2.06 ns 1.61 ns 1.04 0.01 - - NA
InvokeInstanceWithFeedback 419.2 ns 3.85 ns 3.22 ns 2.06 0.02 0.0038 344 B NA

core-ubuntu-22.04_net8.0_zulu_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.02GHz, 1 CPU, 4 logical and 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.015 μs 0.0180 μs 0.0159 μs 1.00 0.02 0.0076 712 B 1.00

core-ubuntu-22.04_net8.0_zulu_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.02GHz, 1 CPU, 4 logical and 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 719.0 ns 9.16 ns 8.57 ns 0.0010 104 B
PredicateRoundTrip False False True 713.9 ns 10.39 ns 8.68 ns 0.0010 104 B
PredicateRoundTrip False True False 883.8 ns 15.53 ns 13.77 ns 0.0019 200 B
PredicateRoundTrip False True True 3,294.5 ns 35.22 ns 29.41 ns 0.0076 792 B
PredicateRoundTrip True False False 275.8 ns 4.30 ns 3.81 ns - 24 B
PredicateRoundTrip True False True 273.6 ns 2.07 ns 1.94 ns - 24 B
PredicateRoundTrip True True False 450.7 ns 1.39 ns 1.23 ns 0.0014 120 B
PredicateRoundTrip True True True 2,784.5 ns 18.08 ns 16.91 ns 0.0076 712 B

core-ubuntu-22.04_net8.0_zulu_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
Intel Xeon 6973P-C 4.02GHz, 1 CPU, 4 logical and 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 439.77 ns 5.390 ns 5.042 ns 0.0008 80 B
PredicateSustained False False True 440.02 ns 8.644 ns 11.539 ns 0.0008 80 B
PredicateSustained False True False 604.87 ns 10.719 ns 18.202 ns 0.0011 176 B
PredicateSustained False True True 2,873.16 ns 38.526 ns 30.078 ns 0.0050 768 B
PredicateSustained True False False 39.51 ns 0.242 ns 0.202 ns - -
PredicateSustained True False True 39.82 ns 0.659 ns 0.585 ns - -
PredicateSustained True True False 164.80 ns 1.755 ns 1.642 ns 0.0009 96 B
PredicateSustained True True True 2,406.29 ns 24.943 ns 20.828 ns 0.0067 688 B

core-ubuntu-22.04_net8.0_zulu_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.41GHz, 1 CPU, 4 logical and 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 516.0 ns 7.28 ns 6.45 ns 1.00 0.02 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 10 6,281.6 ns 54.12 ns 42.25 ns 12.18 0.17 0.0229 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,075.7 ns 10.06 ns 8.92 ns 2.08 0.03 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,049.7 ns 9.13 ns 8.54 ns 2.03 0.03 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 7,934.1 ns 81.39 ns 76.13 ns 15.38 0.23 0.0305 - - 3520 B 10.23
InvokeIntParam 1000 512.9 ns 7.41 ns 6.18 ns 1.00 0.02 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 1000 491,062.6 ns 2,827.30 ns 2,506.32 ns 957.64 12.02 0.9766 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,820.6 ns 22.04 ns 18.40 ns 3.55 0.05 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,826.1 ns 17.58 ns 15.59 ns 3.56 0.05 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 642,835.5 ns 6,806.59 ns 5,683.81 ns 1,253.62 17.99 2.9297 0.9766 - 265888 B 772.93
InvokeIntParam 100000 511.5 ns 7.86 ns 6.97 ns 1.00 0.02 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 100000 54,422,709.4 ns 524,330.48 ns 437,839.70 ns 106,406.95 1,620.32 333.3333 222.2222 222.2222 16001144 B 46,514.95
InvokeIntArrayFixed 100000 73,219.2 ns 1,104.22 ns 922.08 ns 143.16 2.56 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 73,469.7 ns 1,150.74 ns 1,076.41 ns 143.65 2.77 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 75,300,114.9 ns 1,466,103.86 ns 1,629,570.56 ns 147,226.33 3,656.81 1000.0000 857.1429 857.1429 27896917 B 81,095.69

core-ubuntu-22.04_net8.0_zulu_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.41GHz, 1 CPU, 4 logical and 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.179 μs 0.0224 μs 0.0220 μs 1.00 0.03 0.0038 360 B 1.00
NewWithSignature 1.016 μs 0.0069 μs 0.0065 μs 0.86 0.02 0.0038 360 B 1.00
DeclaredNewEmpty 1.172 μs 0.0105 μs 0.0088 μs 0.99 0.02 0.0038 360 B 1.00

core-ubuntu-22.04_net8.0_zulu_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.41GHz, 1 CPU, 4 logical and 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 91.61 ns 1.431 ns 1.269 ns 1.00 0.02 0.0002 24 B 1.00
SetInstanceIntField 110.71 ns 0.791 ns 0.740 ns 1.21 0.02 0.0002 24 B 1.00
GetInstanceStringField 91.57 ns 0.782 ns 0.693 ns 1.00 0.02 - - 0.00
SetInstanceStringField 650.99 ns 8.177 ns 7.249 ns 7.11 0.12 0.0029 288 B 12.00
GetStaticIntField 94.90 ns 0.940 ns 0.833 ns 1.04 0.02 0.0002 24 B 1.00
SetStaticIntField 105.45 ns 0.780 ns 0.652 ns 1.15 0.02 0.0002 24 B 1.00
GetStaticStringField 88.18 ns 0.883 ns 0.826 ns 0.96 0.02 - - 0.00
SetStaticStringField 652.84 ns 5.371 ns 4.485 ns 7.13 0.11 0.0029 288 B 12.00
GetInstanceIntFieldGeneric 119.73 ns 1.470 ns 1.228 ns 1.31 0.02 0.0002 24 B 1.00

core-ubuntu-22.04_net8.0_zulu_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.41GHz, 1 CPU, 4 logical and 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 249.7 ns 4.56 ns 4.04 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 231.3 ns 2.98 ns 2.79 ns 0.93 0.02 - - NA
InvokeStaticWithFeedback 511.0 ns 6.50 ns 5.43 ns 2.05 0.04 0.0038 344 B NA
InvokeInstanceEmpty 252.5 ns 1.73 ns 1.62 ns 1.01 0.02 - - NA
InvokeInstanceWithFeedback 510.4 ns 3.88 ns 3.63 ns 2.04 0.03 0.0038 344 B NA

core-ubuntu-22.04_net8.0_zulu_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.41GHz, 1 CPU, 4 logical and 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.239 μs 0.0139 μs 0.0116 μs 1.00 0.0076 712 B 1.00

core-ubuntu-22.04_net8.0_zulu_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.41GHz, 1 CPU, 4 logical and 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 864.7 ns 8.01 ns 7.10 ns 0.0010 104 B
PredicateRoundTrip False False True 874.1 ns 7.10 ns 5.54 ns 0.0010 104 B
PredicateRoundTrip False True False 1,074.2 ns 14.59 ns 12.18 ns 0.0019 200 B
PredicateRoundTrip False True True 3,617.0 ns 32.62 ns 30.52 ns 0.0076 792 B
PredicateRoundTrip True False False 329.3 ns 6.43 ns 6.60 ns - 24 B
PredicateRoundTrip True False True 332.6 ns 3.14 ns 2.94 ns - 24 B
PredicateRoundTrip True True False 532.2 ns 3.91 ns 3.27 ns 0.0010 120 B
PredicateRoundTrip True True True 3,046.0 ns 26.44 ns 22.08 ns 0.0076 712 B

core-ubuntu-22.04_net8.0_zulu_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish)
INTEL XEON PLATINUM 8573C 3.41GHz, 1 CPU, 4 logical and 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 498.23 ns 4.307 ns 3.818 ns - 80 B
PredicateSustained False False True 498.83 ns 6.720 ns 5.957 ns - 80 B
PredicateSustained False True False 717.73 ns 13.685 ns 14.054 ns 0.0013 176 B
PredicateSustained False True True 3,235.78 ns 25.321 ns 23.686 ns 0.0050 768 B
PredicateSustained True False False 48.27 ns 0.706 ns 0.626 ns - -
PredicateSustained True False True 48.06 ns 0.441 ns 0.413 ns - -
PredicateSustained True True False 199.86 ns 1.219 ns 1.141 ns 0.0009 96 B
PredicateSustained True True True 2,721.06 ns 26.451 ns 24.742 ns 0.0050 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.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 760.0 ns 11.40 ns 10.66 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 7,877.5 ns 107.30 ns 100.37 ns 10.37 0.19 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,581.8 ns 17.92 ns 16.76 ns 2.08 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,600.5 ns 17.70 ns 16.56 ns 2.11 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 10,475.5 ns 50.28 ns 39.25 ns 13.79 0.19 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 720.3 ns 10.96 ns 9.72 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 604,575.9 ns 9,398.46 ns 8,791.32 ns 839.48 16.26 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,284.7 ns 19.48 ns 17.27 ns 3.17 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,274.2 ns 27.01 ns 25.27 ns 3.16 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 832,825.7 ns 10,229.18 ns 9,568.39 ns 1,156.42 20.05 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 745.5 ns 14.33 ns 15.33 ns 1.00 0.03 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 71,945,751.2 ns 915,037.45 ns 855,926.60 ns 96,551.13 2,216.97 1000.0000 857.1429 285.7143 16002368 B 46,518.51
InvokeIntArrayFixed 100000 73,364.0 ns 548.10 ns 512.69 ns 98.45 2.07 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 72,794.3 ns 587.11 ns 520.46 ns 97.69 2.05 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 112,338,587.4 ns 1,314,921.25 ns 1,229,978.15 ns 150,758.28 3,394.38 1800.0000 1600.0000 800.0000 27896126 B 81,093.39

core-ubuntu-22.04_net8.0_zulu_25


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 8.0.30 (8.0.30, 8.0.3026.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.484 μs 0.0182 μs 0.0170 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.457 μs 0.0163 μs 0.0152 μs 0.98 0.01 0.0210 360 B 1.00
DeclaredNewEmpty 1.432 μs 0.0152 μs 0.0135 μs 0.97 0.01 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.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 120.5 ns 0.70 ns 0.62 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 140.6 ns 2.01 ns 1.88 ns 1.17 0.02 0.0014 24 B 1.00
GetInstanceStringField 121.1 ns 2.45 ns 2.41 ns 1.01 0.02 - - 0.00
SetInstanceStringField 822.1 ns 6.23 ns 5.52 ns 6.82 0.06 0.0172 288 B 12.00
GetStaticIntField 123.9 ns 1.65 ns 1.47 ns 1.03 0.01 0.0014 24 B 1.00
SetStaticIntField 149.6 ns 2.37 ns 2.21 ns 1.24 0.02 0.0014 24 B 1.00
GetStaticStringField 114.4 ns 2.16 ns 2.02 ns 0.95 0.02 - - 0.00
SetStaticStringField 846.5 ns 5.90 ns 5.52 ns 7.03 0.06 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 159.0 ns 2.82 ns 2.64 ns 1.32 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.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 346.8 ns 6.57 ns 6.15 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 311.8 ns 5.57 ns 5.21 ns 0.90 0.02 - - NA
InvokeStaticWithFeedback 777.1 ns 14.83 ns 13.87 ns 2.24 0.05 0.0200 344 B NA
InvokeInstanceEmpty 359.4 ns 6.21 ns 5.81 ns 1.04 0.02 - - NA
InvokeInstanceWithFeedback 732.5 ns 8.23 ns 7.70 ns 2.11 0.04 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.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.840 μs 0.0207 μs 0.0173 μs 1.00 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.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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,305.4 ns 23.69 ns 22.16 ns 0.0057 104 B
PredicateRoundTrip False False True 1,299.5 ns 21.20 ns 19.83 ns 0.0057 104 B
PredicateRoundTrip False True False 1,578.0 ns 13.54 ns 12.67 ns 0.0114 200 B
PredicateRoundTrip False True True 5,475.4 ns 78.54 ns 73.46 ns 0.0458 792 B
PredicateRoundTrip True False False 521.0 ns 10.39 ns 11.96 ns 0.0010 24 B
PredicateRoundTrip True False True 502.3 ns 6.58 ns 5.83 ns 0.0010 24 B
PredicateRoundTrip True True False 784.5 ns 9.73 ns 9.10 ns 0.0067 120 B
PredicateRoundTrip True True True 4,565.2 ns 36.23 ns 32.12 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.24GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 670.56 ns 10.631 ns 9.944 ns 0.0038 80 B
PredicateSustained False False True 680.93 ns 13.609 ns 12.730 ns 0.0038 80 B
PredicateSustained False True False 938.93 ns 7.702 ns 6.013 ns 0.0100 176 B
PredicateSustained False True True 4,854.30 ns 87.339 ns 81.697 ns 0.0400 768 B
PredicateSustained True False False 43.32 ns 0.342 ns 0.285 ns - -
PredicateSustained True False True 43.55 ns 0.851 ns 0.911 ns - -
PredicateSustained True True False 249.11 ns 2.908 ns 2.720 ns 0.0056 96 B
PredicateSustained True True True 4,049.34 ns 63.298 ns 59.209 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 520.7 ns 0.75 ns 0.67 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,921.2 ns 8.84 ns 7.84 ns 13.29 0.02 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,123.1 ns 2.30 ns 2.04 ns 2.16 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,121.1 ns 3.47 ns 2.90 ns 2.15 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,982.7 ns 22.95 ns 21.46 ns 17.25 0.05 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 529.0 ns 0.90 ns 0.71 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 556,345.6 ns 1,277.41 ns 1,194.89 ns 1,051.65 2.57 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,859.3 ns 11.78 ns 11.02 ns 3.51 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,841.9 ns 4.47 ns 4.18 ns 3.48 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 737,268.5 ns 1,019.51 ns 851.34 ns 1,393.64 2.36 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 539.9 ns 0.40 ns 0.34 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,357,445.0 ns 311,560.32 ns 291,433.72 ns 106,229.28 526.64 333.3333 222.2222 222.2222 16001391 B 51,286.51
InvokeIntArrayFixed 100000 60,432.8 ns 482.31 ns 451.15 ns 111.92 0.81 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 59,898.2 ns 152.50 ns 135.18 ns 110.93 0.25 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 83,178,030.0 ns 549,150.43 ns 486,807.55 ns 154,050.49 876.06 1166.6667 1000.0000 1000.0000 27898336 B 89,417.74

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.059 μs 0.0011 μs 0.0009 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.049 μs 0.0005 μs 0.0004 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.064 μs 0.0009 μs 0.0007 μs 1.01 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 Gen0 Allocated Alloc Ratio
GetInstanceIntField 92.57 ns 0.023 ns 0.020 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 117.16 ns 0.029 ns 0.026 ns 1.27 0.0002 24 B 1.00
GetInstanceStringField 113.14 ns 0.102 ns 0.090 ns 1.22 - - 0.00
SetInstanceStringField 663.85 ns 0.913 ns 0.809 ns 7.17 0.0038 256 B 10.67
GetStaticIntField 122.90 ns 0.038 ns 0.034 ns 1.33 0.0002 24 B 1.00
SetStaticIntField 120.30 ns 0.020 ns 0.017 ns 1.30 0.0002 24 B 1.00
GetStaticStringField 107.58 ns 0.033 ns 0.031 ns 1.16 - - 0.00
SetStaticStringField 666.62 ns 1.500 ns 1.403 ns 7.20 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 108.77 ns 0.042 ns 0.037 ns 1.18 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 370.7 ns 0.29 ns 0.27 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 385.8 ns 0.40 ns 0.37 ns 1.04 - - NA
InvokeStaticWithFeedback 540.7 ns 1.13 ns 0.94 ns 1.46 0.0038 312 B NA
InvokeInstanceEmpty 377.0 ns 0.46 ns 0.43 ns 1.02 - - NA
InvokeInstanceWithFeedback 543.4 ns 0.59 ns 0.55 ns 1.47 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.273 μs 0.0030 μs 0.0028 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,054.5 ns 5.78 ns 5.41 ns - 104 B
PredicateRoundTrip False False True 1,079.9 ns 5.87 ns 5.49 ns - 104 B
PredicateRoundTrip False True False 1,312.6 ns 7.29 ns 6.81 ns 0.0019 200 B
PredicateRoundTrip False True True 4,899.3 ns 17.14 ns 16.03 ns 0.0076 760 B
PredicateRoundTrip True False False 466.9 ns 0.34 ns 0.29 ns - 24 B
PredicateRoundTrip True False True 454.3 ns 1.06 ns 0.99 ns - 24 B
PredicateRoundTrip True True False 709.1 ns 0.79 ns 0.70 ns 0.0010 120 B
PredicateRoundTrip True True True 4,005.6 ns 7.15 ns 6.34 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 611.80 ns 1.622 ns 1.517 ns 0.0011 80 B
PredicateSustained False False True 614.33 ns 0.981 ns 0.819 ns 0.0011 80 B
PredicateSustained False True False 817.84 ns 3.807 ns 3.561 ns 0.0017 176 B
PredicateSustained False True True 4,255.41 ns 23.271 ns 21.768 ns 0.0100 736 B
PredicateSustained True False False 50.49 ns 0.817 ns 0.764 ns - -
PredicateSustained True False True 50.50 ns 0.821 ns 0.768 ns - -
PredicateSustained True True False 273.64 ns 0.613 ns 0.574 ns 0.0013 96 B
PredicateSustained True True True 3,479.70 ns 14.802 ns 13.846 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 563.2 ns 0.44 ns 0.39 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,441.5 ns 27.07 ns 24.00 ns 13.21 0.04 0.0153 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,162.9 ns 1.13 ns 0.94 ns 2.06 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,233.9 ns 9.51 ns 8.90 ns 2.19 0.02 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,691.8 ns 30.74 ns 28.75 ns 17.21 0.05 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 540.8 ns 0.37 ns 0.32 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 552,795.7 ns 914.06 ns 763.28 ns 1,022.14 1.48 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,891.4 ns 8.03 ns 7.51 ns 3.50 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,906.5 ns 7.53 ns 7.05 ns 3.53 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 751,884.6 ns 1,623.81 ns 1,355.95 ns 1,390.26 2.55 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 560.9 ns 0.93 ns 0.82 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,641,347.3 ns 201,870.93 ns 188,830.19 ns 104,547.85 358.12 333.3333 222.2222 222.2222 16001182 B 51,285.84
InvokeIntArrayFixed 100000 61,568.9 ns 283.69 ns 265.36 ns 109.77 0.48 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,917.4 ns 624.66 ns 553.75 ns 108.61 0.97 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 83,129,086.0 ns 1,092,554.80 ns 1,021,976.43 ns 148,205.46 1,776.90 666.6667 500.0000 500.0000 27894008 B 89,403.87

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 Median Ratio Gen0 Allocated Alloc Ratio
NewEmpty 1.092 μs 0.0114 μs 0.0107 μs 1.083 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.093 μs 0.0102 μs 0.0096 μs 1.087 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.091 μs 0.0095 μs 0.0088 μs 1.087 μs 1.00 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 92.37 ns 0.091 ns 0.085 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 116.56 ns 0.050 ns 0.044 ns 1.26 0.0002 24 B 1.00
GetInstanceStringField 101.39 ns 0.015 ns 0.014 ns 1.10 - - 0.00
SetInstanceStringField 684.18 ns 1.123 ns 0.937 ns 7.41 0.0038 256 B 10.67
GetStaticIntField 107.89 ns 0.036 ns 0.032 ns 1.17 0.0004 24 B 1.00
SetStaticIntField 111.35 ns 0.026 ns 0.023 ns 1.21 0.0004 24 B 1.00
GetStaticStringField 97.08 ns 0.226 ns 0.212 ns 1.05 - - 0.00
SetStaticStringField 680.71 ns 0.986 ns 0.922 ns 7.37 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 106.32 ns 0.032 ns 0.029 ns 1.15 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.6 ns 0.25 ns 0.23 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 311.8 ns 0.54 ns 0.50 ns 1.02 - - NA
InvokeStaticWithFeedback 563.0 ns 0.66 ns 0.55 ns 1.85 0.0038 312 B NA
InvokeInstanceEmpty 310.8 ns 0.22 ns 0.20 ns 1.02 - - NA
InvokeInstanceWithFeedback 560.3 ns 0.23 ns 0.20 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.376 μs 0.0147 μs 0.0138 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,072.1 ns 7.90 ns 7.39 ns - 104 B
PredicateRoundTrip False False True 1,082.9 ns 8.40 ns 7.86 ns - 104 B
PredicateRoundTrip False True False 1,407.9 ns 13.34 ns 11.82 ns 0.0019 200 B
PredicateRoundTrip False True True 7,272.3 ns 86.98 ns 77.11 ns - 760 B
PredicateRoundTrip True False False 456.8 ns 2.66 ns 2.49 ns - 24 B
PredicateRoundTrip True False True 459.6 ns 0.48 ns 0.42 ns - 24 B
PredicateRoundTrip True True False 693.8 ns 3.37 ns 2.63 ns 0.0010 120 B
PredicateRoundTrip True True True 4,698.8 ns 32.92 ns 30.79 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 609.78 ns 0.503 ns 0.393 ns 0.0011 80 B
PredicateSustained False False True 604.94 ns 1.614 ns 1.509 ns 0.0011 80 B
PredicateSustained False True False 821.07 ns 0.745 ns 0.622 ns 0.0014 176 B
PredicateSustained False True True 4,418.63 ns 28.430 ns 26.594 ns 0.0100 736 B
PredicateSustained True False False 43.27 ns 0.540 ns 0.505 ns - -
PredicateSustained True False True 42.75 ns 0.635 ns 0.594 ns - -
PredicateSustained True True False 259.01 ns 0.358 ns 0.335 ns 0.0013 96 B
PredicateSustained True True True 4,832.76 ns 71.151 ns 66.554 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 535.0 ns 0.35 ns 0.30 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,189.4 ns 21.39 ns 20.01 ns 13.44 0.04 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,128.7 ns 1.86 ns 1.74 ns 2.11 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,135.5 ns 2.23 ns 1.98 ns 2.12 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,017.2 ns 40.55 ns 37.93 ns 16.86 0.07 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 536.3 ns 0.53 ns 0.44 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 556,781.1 ns 1,248.13 ns 1,167.50 ns 1,038.16 2.26 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,852.8 ns 7.95 ns 7.44 ns 3.45 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,914.6 ns 5.95 ns 5.27 ns 3.57 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 732,847.3 ns 1,447.83 ns 1,209.00 ns 1,366.45 2.43 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 533.1 ns 0.35 ns 0.31 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,308,150.2 ns 145,063.15 ns 128,594.70 ns 109,380.90 241.15 333.3333 222.2222 222.2222 16001333 B 51,286.32
InvokeIntArrayFixed 100000 60,688.2 ns 716.53 ns 670.24 ns 113.85 1.22 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,562.8 ns 426.51 ns 398.96 ns 113.61 0.73 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 84,701,415.0 ns 683,337.95 ns 639,194.74 ns 158,892.32 1,164.66 1166.6667 1000.0000 1000.0000 27898336 B 89,417.74

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.050 μs 0.0110 μs 0.0103 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.048 μs 0.0109 μs 0.0102 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.031 μs 0.0015 μs 0.0013 μs 0.98 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 96.50 ns 0.031 ns 0.028 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 114.44 ns 0.073 ns 0.064 ns 1.19 0.0004 24 B 1.00
GetInstanceStringField 110.88 ns 0.017 ns 0.016 ns 1.15 - - 0.00
SetInstanceStringField 667.61 ns 0.941 ns 0.881 ns 6.92 0.0038 256 B 10.67
GetStaticIntField 118.03 ns 0.095 ns 0.088 ns 1.22 0.0002 24 B 1.00
SetStaticIntField 114.40 ns 0.035 ns 0.031 ns 1.19 0.0004 24 B 1.00
GetStaticStringField 102.25 ns 0.009 ns 0.008 ns 1.06 - - 0.00
SetStaticStringField 663.99 ns 1.061 ns 0.941 ns 6.88 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 109.21 ns 0.028 ns 0.024 ns 1.13 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 305.8 ns 0.29 ns 0.27 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 311.3 ns 0.16 ns 0.14 ns 1.02 - - NA
InvokeStaticWithFeedback 523.6 ns 0.19 ns 0.16 ns 1.71 0.0038 312 B NA
InvokeInstanceEmpty 310.2 ns 0.12 ns 0.11 ns 1.01 - - NA
InvokeInstanceWithFeedback 543.1 ns 0.57 ns 0.51 ns 1.78 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.355 μs 0.0053 μs 0.0044 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,036.2 ns 9.47 ns 8.86 ns - 104 B
PredicateRoundTrip False False True 1,038.5 ns 8.68 ns 8.12 ns - 104 B
PredicateRoundTrip False True False 1,274.1 ns 8.30 ns 7.36 ns 0.0019 200 B
PredicateRoundTrip False True True 6,330.4 ns 47.96 ns 42.51 ns 0.0076 760 B
PredicateRoundTrip True False False 439.5 ns 0.73 ns 0.69 ns - 24 B
PredicateRoundTrip True False True 450.3 ns 0.37 ns 0.33 ns - 24 B
PredicateRoundTrip True True False 673.6 ns 0.79 ns 0.62 ns 0.0010 120 B
PredicateRoundTrip True True True 4,438.1 ns 36.04 ns 33.72 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 594.00 ns 0.483 ns 0.452 ns 0.0011 80 B
PredicateSustained False False True 599.18 ns 0.354 ns 0.314 ns 0.0011 80 B
PredicateSustained False True False 800.18 ns 1.043 ns 0.814 ns 0.0014 176 B
PredicateSustained False True True 5,593.36 ns 48.121 ns 42.658 ns 0.0100 736 B
PredicateSustained True False False 45.81 ns 0.871 ns 0.932 ns - -
PredicateSustained True False True 45.24 ns 0.660 ns 0.515 ns - -
PredicateSustained True True False 256.76 ns 0.379 ns 0.354 ns 0.0013 96 B
PredicateSustained True True True 3,363.24 ns 20.160 ns 18.858 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 553.7 ns 0.35 ns 0.31 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,459.6 ns 19.89 ns 17.63 ns 13.47 0.03 0.0153 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,155.9 ns 1.40 ns 1.24 ns 2.09 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,139.4 ns 1.37 ns 1.21 ns 2.06 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,478.8 ns 28.69 ns 25.43 ns 17.12 0.05 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 552.1 ns 0.37 ns 0.33 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 560,917.9 ns 1,116.12 ns 1,044.02 ns 1,015.93 1.92 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,873.9 ns 3.01 ns 2.51 ns 3.39 0.00 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,892.4 ns 5.57 ns 4.65 ns 3.43 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 742,757.0 ns 1,646.23 ns 1,374.68 ns 1,345.27 2.52 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 552.2 ns 1.15 ns 1.02 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 59,212,948.3 ns 190,801.88 ns 178,476.19 ns 107,230.75 366.26 333.3333 222.2222 222.2222 16000703 B 51,284.30
InvokeIntArrayFixed 100000 60,095.1 ns 156.49 ns 138.72 ns 108.83 0.31 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,289.8 ns 230.23 ns 204.09 ns 109.18 0.41 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 82,820,035.0 ns 786,060.96 ns 696,822.57 ns 149,981.63 1,247.81 1166.6667 1000.0000 1000.0000 27897003 B 89,413.47

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.064 μs 0.0072 μs 0.0060 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.080 μs 0.0091 μs 0.0085 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.078 μs 0.0130 μs 0.0121 μ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 96.89 ns 0.026 ns 0.023 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 121.03 ns 0.037 ns 0.033 ns 1.25 0.0002 24 B 1.00
GetInstanceStringField 113.93 ns 0.024 ns 0.019 ns 1.18 - - 0.00
SetInstanceStringField 679.38 ns 0.954 ns 0.892 ns 7.01 0.0038 256 B 10.67
GetStaticIntField 113.19 ns 0.021 ns 0.016 ns 1.17 0.0004 24 B 1.00
SetStaticIntField 115.82 ns 0.029 ns 0.025 ns 1.20 0.0002 24 B 1.00
GetStaticStringField 100.28 ns 0.047 ns 0.044 ns 1.03 - - 0.00
SetStaticStringField 671.80 ns 0.960 ns 0.898 ns 6.93 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 115.64 ns 0.041 ns 0.037 ns 1.19 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 318.0 ns 0.25 ns 0.22 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 313.2 ns 0.27 ns 0.24 ns 0.98 - - NA
InvokeStaticWithFeedback 539.4 ns 0.50 ns 0.45 ns 1.70 0.0038 312 B NA
InvokeInstanceEmpty 314.1 ns 0.28 ns 0.27 ns 0.99 - - NA
InvokeInstanceWithFeedback 567.8 ns 0.49 ns 0.45 ns 1.79 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 2.829 μs 0.0261 μs 0.0218 μs 1.00 0.0076 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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,056.5 ns 10.82 ns 10.12 ns - 104 B
PredicateRoundTrip False False True 1,045.0 ns 9.91 ns 9.27 ns - 104 B
PredicateRoundTrip False True False 1,332.5 ns 18.14 ns 16.97 ns 0.0019 200 B
PredicateRoundTrip False True True 5,770.1 ns 115.00 ns 96.03 ns 0.0076 760 B
PredicateRoundTrip True False False 461.7 ns 5.00 ns 4.17 ns - 24 B
PredicateRoundTrip True False True 453.8 ns 0.40 ns 0.32 ns - 24 B
PredicateRoundTrip True True False 712.4 ns 8.04 ns 7.12 ns 0.0010 120 B
PredicateRoundTrip True True True 5,684.8 ns 86.52 ns 76.70 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 606.11 ns 1.475 ns 1.152 ns 0.0011 80 B
PredicateSustained False False True 602.40 ns 1.629 ns 1.272 ns 0.0011 80 B
PredicateSustained False True False 807.40 ns 5.276 ns 4.935 ns 0.0014 176 B
PredicateSustained False True True 4,568.63 ns 70.132 ns 58.563 ns 0.0100 736 B
PredicateSustained True False False 42.08 ns 0.775 ns 0.725 ns - -
PredicateSustained True False True 41.91 ns 0.706 ns 0.661 ns - -
PredicateSustained True True False 259.96 ns 0.339 ns 0.317 ns 0.0013 96 B
PredicateSustained True True True 3,863.57 ns 57.993 ns 71.221 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 543.8 ns 0.25 ns 0.22 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,216.9 ns 17.00 ns 15.07 ns 13.27 0.03 0.0153 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,263.9 ns 17.81 ns 16.66 ns 2.32 0.03 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,126.9 ns 0.97 ns 0.86 ns 2.07 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,161.5 ns 61.20 ns 57.25 ns 16.85 0.10 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 539.6 ns 0.25 ns 0.21 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 534,979.6 ns 890.16 ns 832.66 ns 991.44 1.54 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,671.8 ns 5.03 ns 4.71 ns 3.10 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,741.8 ns 5.34 ns 4.74 ns 3.23 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 720,827.2 ns 1,479.78 ns 1,235.68 ns 1,335.85 2.26 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 539.9 ns 0.23 ns 0.19 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 56,392,026.8 ns 282,573.78 ns 264,319.69 ns 104,452.47 475.55 333.3333 222.2222 222.2222 16001729 B 51,287.59
InvokeIntArrayFixed 100000 44,589.5 ns 213.67 ns 189.41 ns 82.59 0.34 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 44,582.2 ns 186.65 ns 165.46 ns 82.58 0.30 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 86,531,001.2 ns 997,890.83 ns 933,427.70 ns 160,277.57 1,675.52 1142.8571 1000.0000 857.1429 27897478 B 89,414.99

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 RatioSD Gen0 Allocated Alloc Ratio
NewEmpty 1.066 μs 0.0146 μs 0.0137 μs 1.055 μs 1.00 0.02 0.0038 360 B 1.00
NewWithSignature 1.071 μs 0.0126 μs 0.0118 μs 1.062 μs 1.00 0.02 0.0038 360 B 1.00
DeclaredNewEmpty 1.051 μs 0.0118 μs 0.0111 μs 1.043 μs 0.99 0.02 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 95.17 ns 0.030 ns 0.026 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 111.31 ns 0.037 ns 0.033 ns 1.17 0.0004 24 B 1.00
GetInstanceStringField 100.74 ns 0.013 ns 0.011 ns 1.06 - - 0.00
SetInstanceStringField 659.24 ns 1.079 ns 1.009 ns 6.93 0.0038 256 B 10.67
GetStaticIntField 111.19 ns 0.101 ns 0.095 ns 1.17 0.0004 24 B 1.00
SetStaticIntField 108.80 ns 0.046 ns 0.039 ns 1.14 0.0004 24 B 1.00
GetStaticStringField 98.97 ns 0.021 ns 0.019 ns 1.04 - - 0.00
SetStaticStringField 654.15 ns 0.777 ns 0.727 ns 6.87 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 101.42 ns 0.037 ns 0.033 ns 1.07 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 288.8 ns 0.23 ns 0.22 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 294.1 ns 0.15 ns 0.11 ns 1.02 - - NA
InvokeStaticWithFeedback 548.3 ns 0.35 ns 0.27 ns 1.90 0.0038 312 B NA
InvokeInstanceEmpty 300.8 ns 0.14 ns 0.13 ns 1.04 - - NA
InvokeInstanceWithFeedback 556.9 ns 0.52 ns 0.46 ns 1.93 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.250 μs 0.0015 μs 0.0014 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,039.3 ns 8.55 ns 8.00 ns - 104 B
PredicateRoundTrip False False True 1,048.4 ns 7.24 ns 6.77 ns - 104 B
PredicateRoundTrip False True False 1,397.7 ns 11.12 ns 9.86 ns 0.0019 200 B
PredicateRoundTrip False True True 5,311.6 ns 24.50 ns 20.46 ns 0.0076 760 B
PredicateRoundTrip True False False 462.3 ns 0.20 ns 0.16 ns - 24 B
PredicateRoundTrip True False True 456.7 ns 0.47 ns 0.41 ns - 24 B
PredicateRoundTrip True True False 684.4 ns 0.39 ns 0.30 ns 0.0010 120 B
PredicateRoundTrip True True True 5,305.8 ns 62.87 ns 58.81 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 597.41 ns 1.523 ns 1.272 ns 0.0011 80 B
PredicateSustained False False True 601.44 ns 0.880 ns 0.823 ns 0.0011 80 B
PredicateSustained False True False 809.17 ns 2.451 ns 2.173 ns 0.0014 176 B
PredicateSustained False True True 4,843.28 ns 63.922 ns 59.793 ns 0.0100 736 B
PredicateSustained True False False 43.31 ns 0.028 ns 0.026 ns - -
PredicateSustained True False True 43.16 ns 0.016 ns 0.014 ns - -
PredicateSustained True True False 257.99 ns 0.432 ns 0.383 ns 0.0013 96 B
PredicateSustained True True True 4,064.31 ns 45.502 ns 40.336 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 531.0 ns 0.25 ns 0.20 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,928.9 ns 17.14 ns 16.03 ns 13.05 0.03 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,112.0 ns 3.02 ns 2.82 ns 2.09 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,125.5 ns 1.86 ns 1.65 ns 2.12 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,740.9 ns 28.94 ns 27.07 ns 16.46 0.05 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 534.2 ns 0.34 ns 0.31 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 550,632.5 ns 1,248.24 ns 1,167.61 ns 1,030.77 2.19 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,684.7 ns 5.30 ns 4.70 ns 3.15 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,692.9 ns 3.81 ns 3.38 ns 3.17 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 721,662.5 ns 927.89 ns 774.83 ns 1,350.93 1.58 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 540.6 ns 0.60 ns 0.50 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,161,997.5 ns 151,022.76 ns 141,266.78 ns 105,732.42 270.35 333.3333 222.2222 222.2222 16000617 B 51,284.03
InvokeIntArrayFixed 100000 44,885.1 ns 366.42 ns 342.75 ns 83.02 0.62 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 44,827.4 ns 213.48 ns 189.25 ns 82.92 0.35 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 80,295,077.5 ns 1,325,618.22 ns 1,239,984.10 ns 148,521.63 2,225.54 1000.0000 833.3333 833.3333 27896573 B 89,412.09

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.058 μs 0.0094 μs 0.0088 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.042 μs 0.0088 μs 0.0082 μs 0.98 0.0038 360 B 1.00
DeclaredNewEmpty 1.030 μs 0.0006 μs 0.0005 μs 0.97 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 96.11 ns 0.026 ns 0.023 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 120.69 ns 0.064 ns 0.056 ns 1.26 0.0002 24 B 1.00
GetInstanceStringField 104.19 ns 0.012 ns 0.011 ns 1.08 - - 0.00
SetInstanceStringField 664.24 ns 0.899 ns 0.841 ns 6.91 0.0038 256 B 10.67
GetStaticIntField 112.56 ns 0.035 ns 0.031 ns 1.17 0.0004 24 B 1.00
SetStaticIntField 111.65 ns 0.023 ns 0.020 ns 1.16 0.0004 24 B 1.00
GetStaticStringField 102.40 ns 0.013 ns 0.011 ns 1.07 - - 0.00
SetStaticStringField 669.83 ns 0.865 ns 0.810 ns 6.97 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 109.86 ns 0.039 ns 0.035 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 301.8 ns 0.13 ns 0.11 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 303.1 ns 0.99 ns 0.93 ns 1.00 - - NA
InvokeStaticWithFeedback 533.6 ns 0.38 ns 0.32 ns 1.77 0.0038 312 B NA
InvokeInstanceEmpty 312.0 ns 0.55 ns 0.51 ns 1.03 - - NA
InvokeInstanceWithFeedback 552.8 ns 0.30 ns 0.25 ns 1.83 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.286 μs 0.0019 μs 0.0017 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,027.7 ns 5.93 ns 5.26 ns - 104 B
PredicateRoundTrip False False True 1,024.7 ns 5.43 ns 5.08 ns - 104 B
PredicateRoundTrip False True False 1,267.2 ns 7.53 ns 7.05 ns 0.0019 200 B
PredicateRoundTrip False True True 5,098.2 ns 39.26 ns 36.72 ns 0.0076 760 B
PredicateRoundTrip True False False 457.3 ns 0.41 ns 0.37 ns - 24 B
PredicateRoundTrip True False True 440.7 ns 0.67 ns 0.63 ns - 24 B
PredicateRoundTrip True True False 684.2 ns 0.60 ns 0.47 ns 0.0010 120 B
PredicateRoundTrip True True True 5,126.5 ns 40.61 ns 37.98 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 589.15 ns 0.241 ns 0.213 ns 0.0011 80 B
PredicateSustained False False True 591.26 ns 0.197 ns 0.164 ns 0.0011 80 B
PredicateSustained False True False 799.04 ns 6.004 ns 5.616 ns 0.0014 176 B
PredicateSustained False True True 4,170.62 ns 37.252 ns 34.845 ns 0.0100 736 B
PredicateSustained True False False 44.73 ns 0.870 ns 1.002 ns - -
PredicateSustained True False True 44.55 ns 0.857 ns 0.986 ns - -
PredicateSustained True True False 255.56 ns 0.438 ns 0.409 ns 0.0013 96 B
PredicateSustained True True True 3,485.49 ns 37.381 ns 34.966 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 536.4 ns 0.37 ns 0.33 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,164.2 ns 17.73 ns 16.58 ns 13.36 0.03 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,231.6 ns 8.23 ns 7.70 ns 2.30 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,152.9 ns 2.03 ns 1.69 ns 2.15 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,320.0 ns 37.62 ns 35.19 ns 17.38 0.06 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 552.6 ns 0.40 ns 0.36 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 549,144.2 ns 964.08 ns 854.63 ns 993.70 1.62 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,674.6 ns 7.86 ns 7.35 ns 3.03 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,694.5 ns 3.48 ns 2.72 ns 3.07 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 725,178.4 ns 1,141.02 ns 890.83 ns 1,312.24 1.75 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 536.9 ns 0.22 ns 0.20 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,724,787.4 ns 293,818.82 ns 274,838.31 ns 107,524.68 497.20 333.3333 222.2222 222.2222 16001036 B 51,285.37
InvokeIntArrayFixed 100000 44,298.2 ns 160.52 ns 125.33 ns 82.51 0.23 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 44,606.8 ns 319.58 ns 298.93 ns 83.09 0.54 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 81,976,977.5 ns 1,608,114.96 ns 1,579,383.92 ns 152,699.54 2,855.40 1166.6667 1000.0000 1000.0000 27898336 B 89,417.74

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.043 μs 0.0051 μs 0.0040 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.046 μs 0.0135 μs 0.0127 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.053 μs 0.0130 μs 0.0121 μs 1.01 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 99.45 ns 0.043 ns 0.036 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 120.70 ns 0.041 ns 0.037 ns 1.21 0.00 0.0002 24 B 1.00
GetInstanceStringField 107.23 ns 0.043 ns 0.040 ns 1.08 0.00 - - 0.00
SetInstanceStringField 676.96 ns 0.966 ns 0.856 ns 6.81 0.01 0.0038 256 B 10.67
GetStaticIntField 113.40 ns 0.025 ns 0.020 ns 1.14 0.00 0.0004 24 B 1.00
SetStaticIntField 112.47 ns 0.025 ns 0.022 ns 1.13 0.00 0.0004 24 B 1.00
GetStaticStringField 101.31 ns 0.010 ns 0.009 ns 1.02 0.00 - - 0.00
SetStaticStringField 665.26 ns 1.923 ns 1.798 ns 6.69 0.02 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 108.27 ns 0.041 ns 0.036 ns 1.09 0.00 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 302.3 ns 0.28 ns 0.24 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 305.0 ns 0.20 ns 0.19 ns 1.01 - - NA
InvokeStaticWithFeedback 548.8 ns 0.27 ns 0.24 ns 1.82 0.0038 312 B NA
InvokeInstanceEmpty 313.9 ns 0.10 ns 0.09 ns 1.04 - - NA
InvokeInstanceWithFeedback 547.0 ns 0.52 ns 0.46 ns 1.81 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 RatioSD Gen0 Allocated Alloc Ratio
InvokeMultiParam 2.647 μs 0.0389 μs 0.0364 μs 1.00 0.02 0.0076 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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,024.5 ns 0.67 ns 0.52 ns - 104 B
PredicateRoundTrip False False True 1,018.8 ns 0.71 ns 0.59 ns - 104 B
PredicateRoundTrip False True False 1,396.0 ns 13.33 ns 12.47 ns 0.0019 200 B
PredicateRoundTrip False True True 5,875.9 ns 58.60 ns 48.93 ns 0.0076 760 B
PredicateRoundTrip True False False 448.5 ns 0.52 ns 0.48 ns - 24 B
PredicateRoundTrip True False True 438.0 ns 0.49 ns 0.43 ns - 24 B
PredicateRoundTrip True True False 689.3 ns 3.00 ns 2.50 ns 0.0010 120 B
PredicateRoundTrip True True True 5,066.1 ns 55.92 ns 52.31 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 592.53 ns 0.650 ns 0.507 ns 0.0011 80 B
PredicateSustained False False True 600.10 ns 5.092 ns 4.763 ns 0.0011 80 B
PredicateSustained False True False 797.60 ns 2.619 ns 2.045 ns 0.0014 176 B
PredicateSustained False True True 4,420.12 ns 33.028 ns 25.786 ns 0.0100 736 B
PredicateSustained True False False 44.53 ns 0.390 ns 0.346 ns - -
PredicateSustained True False True 44.76 ns 0.398 ns 0.372 ns - -
PredicateSustained True True False 256.85 ns 0.538 ns 0.504 ns 0.0013 96 B
PredicateSustained True True True 4,913.73 ns 85.453 ns 91.434 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 528.5 ns 0.65 ns 0.55 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,790.4 ns 20.46 ns 19.13 ns 12.85 0.04 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,104.5 ns 2.12 ns 1.88 ns 2.09 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,135.8 ns 2.87 ns 2.69 ns 2.15 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,889.8 ns 13.97 ns 11.66 ns 16.82 0.03 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 521.5 ns 0.44 ns 0.39 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 541,970.7 ns 2,017.56 ns 1,887.23 ns 1,039.18 3.58 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,847.1 ns 5.05 ns 4.72 ns 3.54 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,848.0 ns 7.32 ns 6.85 ns 3.54 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 729,578.2 ns 1,232.12 ns 1,092.25 ns 1,398.91 2.26 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 528.8 ns 0.57 ns 0.51 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,471,890.1 ns 268,165.90 ns 250,842.55 ns 108,675.44 470.18 333.3333 222.2222 222.2222 16001107 B 51,285.60
InvokeIntArrayFixed 100000 59,944.8 ns 517.67 ns 484.23 ns 113.35 0.89 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,054.1 ns 548.44 ns 513.01 ns 113.56 0.95 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 83,823,713.5 ns 684,420.62 ns 606,721.05 ns 158,504.95 1,118.00 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.063 μs 0.0071 μs 0.0066 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.054 μs 0.0018 μs 0.0016 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.059 μs 0.0057 μs 0.0051 μs 1.00 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 97.38 ns 0.026 ns 0.023 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 114.78 ns 0.062 ns 0.055 ns 1.18 0.00 0.0004 24 B 1.00
GetInstanceStringField 105.53 ns 0.012 ns 0.011 ns 1.08 0.00 - - 0.00
SetInstanceStringField 650.97 ns 1.662 ns 1.555 ns 6.68 0.02 0.0038 256 B 10.67
GetStaticIntField 117.57 ns 0.061 ns 0.054 ns 1.21 0.00 0.0002 24 B 1.00
SetStaticIntField 118.10 ns 0.027 ns 0.023 ns 1.21 0.00 0.0002 24 B 1.00
GetStaticStringField 107.99 ns 0.017 ns 0.016 ns 1.11 0.00 - - 0.00
SetStaticStringField 645.92 ns 1.416 ns 1.325 ns 6.63 0.01 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 109.34 ns 0.056 ns 0.050 ns 1.12 0.00 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 372.3 ns 0.15 ns 0.14 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 368.0 ns 0.17 ns 0.16 ns 0.99 - - NA
InvokeStaticWithFeedback 543.6 ns 0.32 ns 0.28 ns 1.46 0.0038 312 B NA
InvokeInstanceEmpty 374.5 ns 0.17 ns 0.16 ns 1.01 - - NA
InvokeInstanceWithFeedback 532.6 ns 0.71 ns 0.63 ns 1.43 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.259 μs 0.0017 μs 0.0014 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,055.3 ns 5.46 ns 5.11 ns - 104 B
PredicateRoundTrip False False True 1,067.2 ns 6.12 ns 5.43 ns - 104 B
PredicateRoundTrip False True False 1,283.7 ns 8.97 ns 8.39 ns 0.0019 200 B
PredicateRoundTrip False True True 5,701.6 ns 36.97 ns 32.78 ns 0.0076 760 B
PredicateRoundTrip True False False 461.0 ns 0.74 ns 0.69 ns - 24 B
PredicateRoundTrip True False True 449.7 ns 0.61 ns 0.57 ns - 24 B
PredicateRoundTrip True True False 693.3 ns 0.33 ns 0.28 ns 0.0010 120 B
PredicateRoundTrip True True True 4,053.3 ns 10.35 ns 9.18 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 608.14 ns 0.279 ns 0.247 ns 0.0011 80 B
PredicateSustained False False True 613.57 ns 0.372 ns 0.310 ns 0.0011 80 B
PredicateSustained False True False 814.72 ns 4.583 ns 4.287 ns 0.0014 176 B
PredicateSustained False True True 4,129.88 ns 18.163 ns 16.989 ns 0.0100 736 B
PredicateSustained True False False 50.69 ns 0.020 ns 0.019 ns - -
PredicateSustained True False True 50.95 ns 0.018 ns 0.017 ns - -
PredicateSustained True True False 268.35 ns 0.663 ns 0.588 ns 0.0013 96 B
PredicateSustained True True True 3,468.15 ns 10.160 ns 9.504 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 527.9 ns 0.45 ns 0.40 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,781.6 ns 7.99 ns 6.67 ns 12.85 0.02 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,116.5 ns 0.62 ns 0.49 ns 2.12 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,140.4 ns 2.12 ns 1.65 ns 2.16 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,773.4 ns 16.63 ns 14.74 ns 16.62 0.03 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 548.8 ns 0.42 ns 0.37 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 537,974.6 ns 1,021.24 ns 955.26 ns 980.31 1.80 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,831.3 ns 6.71 ns 6.28 ns 3.34 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,853.0 ns 6.67 ns 5.21 ns 3.38 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 723,267.8 ns 1,569.83 ns 1,310.88 ns 1,317.95 2.46 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 534.0 ns 0.42 ns 0.37 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 56,685,290.7 ns 270,001.50 ns 252,559.58 ns 106,155.72 463.57 333.3333 222.2222 222.2222 16001765 B 51,287.71
InvokeIntArrayFixed 100000 60,076.8 ns 179.63 ns 150.00 ns 112.51 0.28 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,153.2 ns 236.07 ns 209.27 ns 112.65 0.39 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 83,131,551.7 ns 655,197.92 ns 612,872.54 ns 155,682.18 1,116.41 1166.6667 1000.0000 1000.0000 27898336 B 89,417.74

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
NewEmpty 1.061 μs 0.0096 μs 0.0090 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.069 μs 0.0098 μs 0.0092 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.072 μs 0.0012 μs 0.0010 μs 1.01 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 93.07 ns 0.047 ns 0.044 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 106.89 ns 0.056 ns 0.049 ns 1.15 0.0004 24 B 1.00
GetInstanceStringField 99.30 ns 0.013 ns 0.012 ns 1.07 - - 0.00
SetInstanceStringField 658.54 ns 0.764 ns 0.677 ns 7.08 0.0038 256 B 10.67
GetStaticIntField 102.23 ns 0.038 ns 0.034 ns 1.10 0.0004 24 B 1.00
SetStaticIntField 105.87 ns 0.041 ns 0.036 ns 1.14 0.0004 24 B 1.00
GetStaticStringField 92.18 ns 0.015 ns 0.014 ns 0.99 - - 0.00
SetStaticStringField 661.48 ns 0.988 ns 0.924 ns 7.11 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 105.70 ns 0.071 ns 0.066 ns 1.14 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 293.5 ns 0.26 ns 0.24 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 293.8 ns 0.17 ns 0.16 ns 1.00 - - NA
InvokeStaticWithFeedback 548.1 ns 0.37 ns 0.33 ns 1.87 0.0038 312 B NA
InvokeInstanceEmpty 304.2 ns 0.16 ns 0.15 ns 1.04 - - NA
InvokeInstanceWithFeedback 539.2 ns 0.72 ns 0.63 ns 1.84 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 RatioSD Gen0 Allocated Alloc Ratio
InvokeMultiParam 2.385 μs 0.0396 μs 0.0370 μs 1.00 0.02 0.0076 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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,019.2 ns 5.21 ns 4.87 ns - 104 B
PredicateRoundTrip False False True 1,023.3 ns 8.63 ns 8.08 ns - 104 B
PredicateRoundTrip False True False 1,258.1 ns 5.54 ns 5.18 ns 0.0019 200 B
PredicateRoundTrip False True True 6,771.1 ns 89.35 ns 83.58 ns 0.0076 760 B
PredicateRoundTrip True False False 448.3 ns 1.73 ns 1.62 ns - 24 B
PredicateRoundTrip True False True 445.5 ns 0.30 ns 0.27 ns - 24 B
PredicateRoundTrip True True False 676.0 ns 1.45 ns 1.21 ns 0.0010 120 B
PredicateRoundTrip True True True 4,993.4 ns 52.38 ns 49.00 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 578.24 ns 2.115 ns 1.766 ns 0.0011 80 B
PredicateSustained False False True 575.98 ns 0.990 ns 0.926 ns 0.0011 80 B
PredicateSustained False True False 783.04 ns 3.352 ns 2.799 ns 0.0014 176 B
PredicateSustained False True True 4,272.80 ns 31.923 ns 29.861 ns 0.0100 736 B
PredicateSustained True False False 42.88 ns 0.624 ns 0.584 ns - -
PredicateSustained True False True 43.35 ns 0.843 ns 0.828 ns - -
PredicateSustained True True False 255.79 ns 0.420 ns 0.372 ns 0.0013 96 B
PredicateSustained True True True 3,565.75 ns 22.071 ns 20.645 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 530.5 ns 1.07 ns 1.00 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,913.5 ns 14.84 ns 13.15 ns 13.03 0.03 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,107.8 ns 2.57 ns 2.40 ns 2.09 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,149.0 ns 6.85 ns 6.07 ns 2.17 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,672.2 ns 25.19 ns 23.57 ns 16.35 0.05 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 532.8 ns 0.23 ns 0.20 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 540,573.1 ns 996.03 ns 931.69 ns 1,014.63 1.73 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,812.8 ns 1.91 ns 1.79 ns 3.40 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,823.9 ns 5.09 ns 4.76 ns 3.42 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 713,781.8 ns 913.22 ns 762.58 ns 1,339.73 1.46 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 533.1 ns 0.50 ns 0.45 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,165,553.6 ns 168,882.59 ns 149,710.01 ns 107,231.06 284.90 333.3333 222.2222 222.2222 16001383 B 51,286.48
InvokeIntArrayFixed 100000 59,487.1 ns 201.66 ns 178.77 ns 111.59 0.34 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 59,577.7 ns 242.87 ns 227.18 ns 111.76 0.42 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 82,150,403.7 ns 818,325.79 ns 765,462.45 ns 154,097.61 1,396.08 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 Gen0 Allocated Alloc Ratio
NewEmpty 1.043 μs 0.0121 μs 0.0113 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.042 μs 0.0094 μs 0.0088 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.042 μs 0.0085 μs 0.0071 μs 1.00 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.12 ns 0.018 ns 0.016 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 116.99 ns 0.070 ns 0.059 ns 1.23 0.0002 24 B 1.00
GetInstanceStringField 104.41 ns 0.011 ns 0.010 ns 1.10 - - 0.00
SetInstanceStringField 670.12 ns 1.271 ns 1.127 ns 7.04 0.0038 256 B 10.67
GetStaticIntField 113.63 ns 0.028 ns 0.025 ns 1.19 0.0004 24 B 1.00
SetStaticIntField 111.37 ns 0.027 ns 0.024 ns 1.17 0.0004 24 B 1.00
GetStaticStringField 100.82 ns 0.026 ns 0.025 ns 1.06 - - 0.00
SetStaticStringField 666.49 ns 1.007 ns 0.841 ns 7.01 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 113.14 ns 0.064 ns 0.056 ns 1.19 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.3 ns 0.20 ns 0.19 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 308.7 ns 0.13 ns 0.12 ns 1.02 - - NA
InvokeStaticWithFeedback 528.2 ns 0.20 ns 0.18 ns 1.74 0.0038 312 B NA
InvokeInstanceEmpty 310.8 ns 0.18 ns 0.17 ns 1.02 - - NA
InvokeInstanceWithFeedback 543.4 ns 0.40 ns 0.36 ns 1.79 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.341 μs 0.0072 μs 0.0067 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,026.6 ns 8.33 ns 7.79 ns - 104 B
PredicateRoundTrip False False True 1,015.3 ns 9.24 ns 8.64 ns - 104 B
PredicateRoundTrip False True False 1,286.9 ns 13.74 ns 12.85 ns 0.0019 200 B
PredicateRoundTrip False True True 5,648.4 ns 63.32 ns 59.23 ns 0.0076 760 B
PredicateRoundTrip True False False 442.0 ns 0.53 ns 0.41 ns - 24 B
PredicateRoundTrip True False True 445.3 ns 3.36 ns 3.14 ns - 24 B
PredicateRoundTrip True True False 663.8 ns 1.06 ns 0.83 ns 0.0010 120 B
PredicateRoundTrip True True True 3,991.9 ns 25.63 ns 23.97 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 581.42 ns 0.842 ns 0.787 ns 0.0011 80 B
PredicateSustained False False True 581.92 ns 0.656 ns 0.548 ns 0.0011 80 B
PredicateSustained False True False 795.76 ns 7.835 ns 7.329 ns 0.0014 176 B
PredicateSustained False True True 4,006.68 ns 17.566 ns 16.432 ns 0.0100 736 B
PredicateSustained True False False 46.85 ns 0.927 ns 1.139 ns - -
PredicateSustained True False True 45.86 ns 0.845 ns 0.790 ns - -
PredicateSustained True True False 260.30 ns 0.356 ns 0.315 ns 0.0013 96 B
PredicateSustained True True True 3,280.85 ns 15.785 ns 13.993 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.7 ns 0.43 ns 0.33 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,302.0 ns 13.18 ns 12.33 ns 13.58 0.02 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,157.0 ns 1.56 ns 1.38 ns 2.15 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,144.4 ns 1.82 ns 1.61 ns 2.13 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,056.4 ns 33.97 ns 31.78 ns 16.84 0.06 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 529.3 ns 0.19 ns 0.17 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 551,710.1 ns 1,803.12 ns 1,598.42 ns 1,042.42 2.94 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,845.9 ns 7.73 ns 7.23 ns 3.49 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,900.0 ns 18.34 ns 17.16 ns 3.59 0.03 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 725,568.1 ns 1,447.56 ns 1,208.78 ns 1,370.91 2.24 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 541.1 ns 0.30 ns 0.27 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 56,678,551.7 ns 211,562.86 ns 197,896.03 ns 104,744.17 357.65 333.3333 222.2222 222.2222 16000934 B 51,285.04
InvokeIntArrayFixed 100000 60,278.9 ns 437.47 ns 409.21 ns 111.40 0.73 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,345.0 ns 246.77 ns 218.75 ns 111.52 0.39 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 83,672,142.8 ns 431,225.06 ns 360,092.46 ns 154,629.37 645.33 857.1429 714.2857 571.4286 27893863 B 89,403.41

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.048 μs 0.0080 μs 0.0075 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.045 μs 0.0074 μs 0.0069 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.064 μs 0.0079 μs 0.0074 μs 1.02 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 101.18 ns 0.034 ns 0.030 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 116.51 ns 0.031 ns 0.028 ns 1.15 0.00 0.0002 24 B 1.00
GetInstanceStringField 108.50 ns 0.014 ns 0.013 ns 1.07 0.00 - - 0.00
SetInstanceStringField 670.27 ns 0.848 ns 0.793 ns 6.62 0.01 0.0038 256 B 10.67
GetStaticIntField 114.28 ns 0.023 ns 0.019 ns 1.13 0.00 0.0004 24 B 1.00
SetStaticIntField 110.68 ns 0.022 ns 0.020 ns 1.09 0.00 0.0004 24 B 1.00
GetStaticStringField 97.68 ns 0.024 ns 0.022 ns 0.97 0.00 - - 0.00
SetStaticStringField 667.32 ns 3.422 ns 3.201 ns 6.60 0.03 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 105.94 ns 0.076 ns 0.071 ns 1.05 0.00 0.0004 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 302.2 ns 0.30 ns 0.27 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 301.0 ns 0.29 ns 0.27 ns 1.00 - - NA
InvokeStaticWithFeedback 546.5 ns 1.07 ns 0.84 ns 1.81 0.0038 312 B NA
InvokeInstanceEmpty 313.1 ns 0.17 ns 0.16 ns 1.04 - - NA
InvokeInstanceWithFeedback 573.8 ns 0.44 ns 0.39 ns 1.90 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.309 μs 0.0018 μs 0.0016 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,030.0 ns 8.39 ns 7.84 ns - 104 B
PredicateRoundTrip False False True 1,055.1 ns 1.56 ns 1.31 ns - 104 B
PredicateRoundTrip False True False 1,301.1 ns 16.06 ns 15.02 ns 0.0019 200 B
PredicateRoundTrip False True True 5,547.7 ns 42.88 ns 35.80 ns 0.0076 760 B
PredicateRoundTrip True False False 441.8 ns 3.43 ns 3.21 ns - 24 B
PredicateRoundTrip True False True 456.0 ns 1.59 ns 1.49 ns - 24 B
PredicateRoundTrip True True False 690.1 ns 0.95 ns 0.74 ns 0.0010 120 B
PredicateRoundTrip True True True 4,931.6 ns 51.72 ns 43.19 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 584.67 ns 1.027 ns 0.801 ns 0.0011 80 B
PredicateSustained False False True 587.29 ns 0.518 ns 0.405 ns 0.0011 80 B
PredicateSustained False True False 803.28 ns 5.912 ns 5.530 ns 0.0014 176 B
PredicateSustained False True True 4,084.35 ns 41.604 ns 51.094 ns 0.0100 736 B
PredicateSustained True False False 42.18 ns 0.837 ns 0.895 ns - -
PredicateSustained True False True 42.78 ns 0.320 ns 0.250 ns - -
PredicateSustained True True False 255.32 ns 0.412 ns 0.385 ns 0.0013 96 B
PredicateSustained True True True 3,321.73 ns 29.699 ns 33.011 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 540.6 ns 0.79 ns 0.70 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,191.1 ns 28.52 ns 26.68 ns 13.30 0.05 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,154.2 ns 0.83 ns 0.64 ns 2.13 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,155.9 ns 1.17 ns 0.98 ns 2.14 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,132.6 ns 25.80 ns 24.13 ns 16.89 0.05 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 554.0 ns 0.22 ns 0.18 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 539,098.9 ns 1,086.72 ns 1,016.52 ns 973.15 1.80 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,846.4 ns 6.13 ns 5.44 ns 3.33 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,865.4 ns 6.10 ns 5.09 ns 3.37 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 740,800.9 ns 526.96 ns 411.42 ns 1,337.25 0.83 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 553.6 ns 0.64 ns 0.57 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 56,809,972.5 ns 177,547.06 ns 166,077.63 ns 102,628.14 307.94 333.3333 222.2222 222.2222 16001232 B 51,286.00
InvokeIntArrayFixed 100000 60,939.1 ns 221.83 ns 196.65 ns 110.09 0.36 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,701.0 ns 454.14 ns 424.81 ns 109.66 0.75 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 80,126,706.8 ns 469,096.94 ns 438,793.57 ns 144,750.20 781.02 666.6667 500.0000 500.0000 27894008 B 89,403.87

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
NewEmpty 1.053 μs 0.0084 μs 0.0079 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.079 μs 0.0093 μs 0.0087 μs 1.02 0.0038 360 B 1.00
DeclaredNewEmpty 1.061 μs 0.0079 μs 0.0074 μs 1.01 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 94.34 ns 0.053 ns 0.047 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 113.16 ns 0.109 ns 0.102 ns 1.20 0.0004 24 B 1.00
GetInstanceStringField 101.75 ns 0.014 ns 0.013 ns 1.08 - - 0.00
SetInstanceStringField 663.69 ns 1.137 ns 1.008 ns 7.04 0.0038 256 B 10.67
GetStaticIntField 106.59 ns 0.063 ns 0.056 ns 1.13 0.0004 24 B 1.00
SetStaticIntField 106.52 ns 0.061 ns 0.047 ns 1.13 0.0004 24 B 1.00
GetStaticStringField 98.27 ns 0.010 ns 0.009 ns 1.04 - - 0.00
SetStaticStringField 654.22 ns 0.918 ns 0.859 ns 6.93 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 103.92 ns 0.079 ns 0.066 ns 1.10 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 295.8 ns 0.37 ns 0.35 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 293.1 ns 0.51 ns 0.48 ns 0.99 - - NA
InvokeStaticWithFeedback 557.9 ns 0.26 ns 0.23 ns 1.89 0.0038 312 B NA
InvokeInstanceEmpty 300.5 ns 0.15 ns 0.14 ns 1.02 - - NA
InvokeInstanceWithFeedback 554.0 ns 0.34 ns 0.27 ns 1.87 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.297 μs 0.0022 μs 0.0019 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,075.8 ns 4.05 ns 3.59 ns - 104 B
PredicateRoundTrip False False True 1,052.6 ns 5.76 ns 5.38 ns - 104 B
PredicateRoundTrip False True False 1,370.2 ns 7.00 ns 6.20 ns 0.0019 200 B
PredicateRoundTrip False True True 5,258.1 ns 43.75 ns 40.93 ns 0.0076 760 B
PredicateRoundTrip True False False 462.4 ns 0.27 ns 0.23 ns - 24 B
PredicateRoundTrip True False True 460.6 ns 0.44 ns 0.41 ns - 24 B
PredicateRoundTrip True True False 712.9 ns 1.00 ns 0.78 ns 0.0010 120 B
PredicateRoundTrip True True True 4,508.6 ns 30.03 ns 28.09 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 599.42 ns 1.994 ns 1.865 ns 0.0011 80 B
PredicateSustained False False True 607.74 ns 2.008 ns 1.677 ns 0.0011 80 B
PredicateSustained False True False 815.41 ns 3.618 ns 3.384 ns 0.0014 176 B
PredicateSustained False True True 4,226.45 ns 65.767 ns 61.519 ns 0.0100 736 B
PredicateSustained True False False 45.11 ns 0.858 ns 1.022 ns - -
PredicateSustained True False True 43.92 ns 0.722 ns 0.803 ns - -
PredicateSustained True True False 262.09 ns 0.406 ns 0.380 ns 0.0013 96 B
PredicateSustained True True True 3,455.38 ns 22.394 ns 20.947 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.1 ns 0.36 ns 0.30 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,231.3 ns 21.19 ns 19.82 ns 13.56 0.04 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,125.6 ns 2.26 ns 2.00 ns 2.11 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,163.6 ns 0.95 ns 0.80 ns 2.18 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,890.8 ns 33.29 ns 31.14 ns 16.68 0.06 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 531.1 ns 0.48 ns 0.42 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 547,890.2 ns 1,287.02 ns 1,203.88 ns 1,031.70 2.33 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,861.7 ns 10.18 ns 9.02 ns 3.51 0.02 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,862.1 ns 15.88 ns 14.07 ns 3.51 0.03 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 731,887.5 ns 744.39 ns 659.89 ns 1,378.17 1.60 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 543.1 ns 0.62 ns 0.48 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,427,352.9 ns 202,440.67 ns 189,363.13 ns 105,742.59 349.56 333.3333 222.2222 222.2222 16001463 B 51,286.74
InvokeIntArrayFixed 100000 60,017.1 ns 331.84 ns 277.10 ns 110.51 0.50 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,039.4 ns 448.31 ns 397.41 ns 110.55 0.71 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 80,078,196.3 ns 673,009.54 ns 596,605.43 ns 147,450.22 1,069.13 666.6667 500.0000 500.0000 27894008 B 89,403.87

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.052 μs 0.0079 μs 0.0074 μs 1.048 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.051 μs 0.0084 μs 0.0079 μs 1.046 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.062 μs 0.0100 μs 0.0094 μs 1.055 μs 1.01 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 95.94 ns 0.051 ns 0.045 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 120.04 ns 0.042 ns 0.037 ns 1.25 0.00 0.0002 24 B 1.00
GetInstanceStringField 110.44 ns 0.019 ns 0.016 ns 1.15 0.00 - - 0.00
SetInstanceStringField 675.94 ns 0.852 ns 0.797 ns 7.05 0.01 0.0038 256 B 10.67
GetStaticIntField 113.66 ns 0.044 ns 0.037 ns 1.18 0.00 0.0004 24 B 1.00
SetStaticIntField 110.02 ns 0.025 ns 0.022 ns 1.15 0.00 0.0004 24 B 1.00
GetStaticStringField 101.90 ns 0.009 ns 0.008 ns 1.06 0.00 - - 0.00
SetStaticStringField 672.92 ns 1.838 ns 1.629 ns 7.01 0.02 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 108.12 ns 0.075 ns 0.066 ns 1.13 0.00 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 302.7 ns 0.15 ns 0.14 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 304.8 ns 0.23 ns 0.21 ns 1.01 - - NA
InvokeStaticWithFeedback 533.1 ns 1.06 ns 0.99 ns 1.76 0.0038 312 B NA
InvokeInstanceEmpty 310.9 ns 0.20 ns 0.18 ns 1.03 - - NA
InvokeInstanceWithFeedback 542.2 ns 0.23 ns 0.21 ns 1.79 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 RatioSD Gen0 Allocated Alloc Ratio
InvokeMultiParam 1.427 μs 0.0227 μs 0.0212 μs 1.00 0.02 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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,030.7 ns 8.46 ns 7.92 ns - 104 B
PredicateRoundTrip False False True 1,030.5 ns 6.35 ns 5.94 ns - 104 B
PredicateRoundTrip False True False 1,257.3 ns 7.57 ns 7.08 ns 0.0019 200 B
PredicateRoundTrip False True True 5,133.1 ns 35.80 ns 31.74 ns 0.0076 760 B
PredicateRoundTrip True False False 463.4 ns 0.40 ns 0.35 ns - 24 B
PredicateRoundTrip True False True 451.1 ns 0.34 ns 0.30 ns - 24 B
PredicateRoundTrip True True False 673.8 ns 0.80 ns 0.62 ns 0.0010 120 B
PredicateRoundTrip True True True 4,385.0 ns 23.97 ns 22.42 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 586.53 ns 0.761 ns 0.711 ns 0.0011 80 B
PredicateSustained False False True 595.88 ns 0.326 ns 0.254 ns 0.0011 80 B
PredicateSustained False True False 798.47 ns 6.931 ns 6.483 ns 0.0014 176 B
PredicateSustained False True True 4,128.35 ns 22.983 ns 21.498 ns 0.0100 736 B
PredicateSustained True False False 45.51 ns 0.874 ns 0.971 ns - -
PredicateSustained True False True 45.80 ns 0.831 ns 0.816 ns - -
PredicateSustained True True False 254.05 ns 0.469 ns 0.415 ns 0.0013 96 B
PredicateSustained True True True 3,531.05 ns 33.434 ns 31.274 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 539.7 ns 0.27 ns 0.24 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,121.0 ns 11.35 ns 10.06 ns 13.19 0.02 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,131.0 ns 1.83 ns 1.53 ns 2.10 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,138.2 ns 2.14 ns 2.00 ns 2.11 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,517.9 ns 34.28 ns 32.06 ns 17.64 0.06 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 538.8 ns 0.37 ns 0.29 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 553,694.5 ns 1,345.28 ns 1,258.37 ns 1,027.70 2.32 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,862.9 ns 3.50 ns 3.10 ns 3.46 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,862.2 ns 3.50 ns 3.11 ns 3.46 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 738,793.0 ns 1,602.99 ns 1,338.57 ns 1,371.25 2.50 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 547.3 ns 0.41 ns 0.37 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,396,658.7 ns 226,651.39 ns 212,009.85 ns 106,707.45 381.48 333.3333 222.2222 222.2222 16000729 B 51,284.39
InvokeIntArrayFixed 100000 61,055.5 ns 256.89 ns 214.51 ns 111.57 0.38 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 61,060.2 ns 198.53 ns 175.99 ns 111.57 0.32 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 82,947,218.7 ns 1,014,546.47 ns 949,007.40 ns 151,568.37 1,682.18 1000.0000 833.3333 833.3333 27896893 B 89,413.12

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.042 μs 0.0058 μs 0.0054 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.060 μs 0.0062 μs 0.0058 μs 1.02 0.0038 360 B 1.00
DeclaredNewEmpty 1.070 μs 0.0071 μs 0.0066 μs 1.03 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 Gen0 Allocated Alloc Ratio
GetInstanceIntField 96.57 ns 0.029 ns 0.026 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 119.47 ns 0.036 ns 0.030 ns 1.24 0.0002 24 B 1.00
GetInstanceStringField 110.27 ns 0.013 ns 0.013 ns 1.14 - - 0.00
SetInstanceStringField 677.93 ns 1.015 ns 0.950 ns 7.02 0.0038 256 B 10.67
GetStaticIntField 116.32 ns 0.078 ns 0.065 ns 1.20 0.0002 24 B 1.00
SetStaticIntField 117.90 ns 0.036 ns 0.030 ns 1.22 0.0002 24 B 1.00
GetStaticStringField 100.81 ns 0.029 ns 0.027 ns 1.04 - - 0.00
SetStaticStringField 687.66 ns 0.935 ns 0.875 ns 7.12 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 116.02 ns 0.057 ns 0.051 ns 1.20 0.0002 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 298.0 ns 0.11 ns 0.08 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 300.4 ns 0.24 ns 0.22 ns 1.01 - - NA
InvokeStaticWithFeedback 543.8 ns 0.31 ns 0.26 ns 1.82 0.0038 312 B NA
InvokeInstanceEmpty 309.7 ns 0.17 ns 0.15 ns 1.04 - - NA
InvokeInstanceWithFeedback 547.5 ns 0.47 ns 0.41 ns 1.84 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.356 μs 0.0060 μs 0.0056 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,052.8 ns 7.17 ns 6.71 ns - 104 B
PredicateRoundTrip False False True 1,046.2 ns 2.22 ns 1.97 ns - 104 B
PredicateRoundTrip False True False 1,331.0 ns 10.53 ns 9.85 ns 0.0019 200 B
PredicateRoundTrip False True True 5,683.0 ns 58.07 ns 54.32 ns 0.0076 760 B
PredicateRoundTrip True False False 455.3 ns 0.46 ns 0.41 ns - 24 B
PredicateRoundTrip True False True 449.7 ns 0.53 ns 0.49 ns - 24 B
PredicateRoundTrip True True False 691.4 ns 4.15 ns 3.46 ns 0.0010 120 B
PredicateRoundTrip True True True 4,222.8 ns 33.40 ns 29.61 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.17 ns 0.709 ns 0.554 ns 0.0011 80 B
PredicateSustained False False True 603.52 ns 0.486 ns 0.379 ns 0.0011 80 B
PredicateSustained False True False 815.59 ns 4.115 ns 3.849 ns 0.0014 176 B
PredicateSustained False True True 4,125.60 ns 33.104 ns 32.513 ns 0.0100 736 B
PredicateSustained True False False 40.98 ns 0.097 ns 0.091 ns - -
PredicateSustained True False True 42.86 ns 0.845 ns 0.791 ns - -
PredicateSustained True True False 251.99 ns 0.424 ns 0.397 ns 0.0013 96 B
PredicateSustained True True True 3,339.88 ns 24.098 ns 20.123 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 537.8 ns 0.32 ns 0.27 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,139.5 ns 11.94 ns 11.17 ns 13.27 0.02 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,148.9 ns 2.01 ns 1.78 ns 2.14 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,170.0 ns 1.70 ns 1.59 ns 2.18 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,085.1 ns 18.20 ns 17.02 ns 16.89 0.03 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 541.6 ns 0.33 ns 0.30 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 568,390.0 ns 1,208.85 ns 1,130.76 ns 1,049.41 2.10 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,895.3 ns 3.75 ns 3.33 ns 3.50 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,908.3 ns 6.24 ns 5.53 ns 3.52 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 750,648.1 ns 1,698.39 ns 1,588.67 ns 1,385.91 2.93 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 544.8 ns 0.51 ns 0.45 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,557,775.0 ns 330,692.63 ns 309,330.09 ns 107,490.80 556.58 333.3333 222.2222 222.2222 16001134 B 51,285.69
InvokeIntArrayFixed 100000 60,824.0 ns 477.64 ns 446.79 ns 111.65 0.80 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,607.1 ns 280.74 ns 234.43 ns 111.25 0.42 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 85,459,033.0 ns 596,349.09 ns 557,825.31 ns 156,871.74 999.55 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.087 μs 0.0021 μs 0.0016 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.078 μs 0.0025 μs 0.0021 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.082 μs 0.0024 μs 0.0020 μ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 99.75 ns 0.018 ns 0.016 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 116.24 ns 0.035 ns 0.029 ns 1.17 0.0004 24 B 1.00
GetInstanceStringField 117.82 ns 0.016 ns 0.015 ns 1.18 - - 0.00
SetInstanceStringField 668.70 ns 1.525 ns 1.426 ns 6.70 0.0038 256 B 10.67
GetStaticIntField 123.91 ns 0.033 ns 0.029 ns 1.24 0.0002 24 B 1.00
SetStaticIntField 122.99 ns 0.035 ns 0.031 ns 1.23 0.0002 24 B 1.00
GetStaticStringField 113.22 ns 0.027 ns 0.025 ns 1.14 - - 0.00
SetStaticStringField 677.36 ns 1.290 ns 1.144 ns 6.79 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 111.69 ns 0.056 ns 0.053 ns 1.12 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 366.6 ns 0.58 ns 0.54 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 370.1 ns 0.24 ns 0.22 ns 1.01 - - NA
InvokeStaticWithFeedback 544.5 ns 1.07 ns 1.00 ns 1.49 0.0038 312 B NA
InvokeInstanceEmpty 381.9 ns 0.12 ns 0.11 ns 1.04 - - NA
InvokeInstanceWithFeedback 547.9 ns 0.49 ns 0.41 ns 1.49 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.0026 μs 0.0024 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,087.4 ns 7.31 ns 6.48 ns - 104 B
PredicateRoundTrip False False True 1,097.1 ns 6.14 ns 5.12 ns - 104 B
PredicateRoundTrip False True False 1,291.1 ns 6.45 ns 6.04 ns 0.0019 200 B
PredicateRoundTrip False True True 4,842.6 ns 11.32 ns 10.03 ns 0.0076 760 B
PredicateRoundTrip True False False 475.2 ns 0.32 ns 0.25 ns - 24 B
PredicateRoundTrip True False True 466.5 ns 1.06 ns 0.88 ns - 24 B
PredicateRoundTrip True True False 696.4 ns 0.91 ns 0.81 ns 0.0010 120 B
PredicateRoundTrip True True True 5,138.5 ns 21.06 ns 19.70 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 619.01 ns 2.386 ns 2.232 ns 0.0011 80 B
PredicateSustained False False True 614.99 ns 1.122 ns 0.995 ns - 80 B
PredicateSustained False True False 843.41 ns 1.360 ns 1.136 ns 0.0017 176 B
PredicateSustained False True True 4,162.01 ns 11.566 ns 10.819 ns 0.0100 736 B
PredicateSustained True False False 50.46 ns 1.173 ns 0.980 ns - -
PredicateSustained True False True 50.58 ns 0.674 ns 0.631 ns - -
PredicateSustained True True False 267.93 ns 0.341 ns 0.266 ns 0.0013 96 B
PredicateSustained True True True 3,613.23 ns 24.193 ns 22.630 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 536.1 ns 0.52 ns 0.46 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,860.8 ns 13.59 ns 12.05 ns 12.80 0.02 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,110.7 ns 4.38 ns 3.89 ns 2.07 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,138.4 ns 1.89 ns 1.77 ns 2.12 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,238.8 ns 48.01 ns 44.91 ns 17.23 0.08 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 534.2 ns 0.88 ns 0.78 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 535,958.9 ns 1,363.86 ns 1,275.75 ns 1,003.27 2.71 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,846.1 ns 12.70 ns 11.26 ns 3.46 0.02 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,887.9 ns 13.79 ns 12.90 ns 3.53 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 732,422.3 ns 1,512.74 ns 1,263.20 ns 1,371.04 2.99 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 533.0 ns 0.43 ns 0.36 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,408,991.0 ns 299,484.54 ns 280,138.02 ns 107,713.02 513.82 333.3333 222.2222 222.2222 16000986 B 51,285.21
InvokeIntArrayFixed 100000 61,242.3 ns 1,051.01 ns 983.11 ns 114.91 1.79 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,710.7 ns 756.50 ns 670.62 ns 113.91 1.22 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 83,181,414.0 ns 202,574.50 ns 179,577.02 ns 156,068.25 340.82 857.1429 714.2857 571.4286 27894518 B 89,405.51

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.084 μs 0.0121 μs 0.0113 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.060 μs 0.0105 μs 0.0098 μs 0.98 0.0038 360 B 1.00
DeclaredNewEmpty 1.059 μs 0.0092 μs 0.0086 μs 0.98 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 Gen0 Allocated Alloc Ratio
GetInstanceIntField 92.36 ns 0.037 ns 0.033 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 112.22 ns 0.085 ns 0.080 ns 1.22 0.0004 24 B 1.00
GetInstanceStringField 100.91 ns 0.014 ns 0.013 ns 1.09 - - 0.00
SetInstanceStringField 664.40 ns 0.990 ns 0.926 ns 7.19 0.0038 256 B 10.67
GetStaticIntField 99.78 ns 0.016 ns 0.013 ns 1.08 0.0004 24 B 1.00
SetStaticIntField 106.90 ns 0.039 ns 0.035 ns 1.16 0.0004 24 B 1.00
GetStaticStringField 98.17 ns 0.019 ns 0.017 ns 1.06 - - 0.00
SetStaticStringField 657.24 ns 0.836 ns 0.782 ns 7.12 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 101.10 ns 0.020 ns 0.017 ns 1.09 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 296.0 ns 0.17 ns 0.16 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 291.9 ns 2.41 ns 2.26 ns 0.99 - - NA
InvokeStaticWithFeedback 549.6 ns 0.43 ns 0.36 ns 1.86 0.0038 312 B NA
InvokeInstanceEmpty 300.0 ns 0.31 ns 0.29 ns 1.01 - - NA
InvokeInstanceWithFeedback 534.0 ns 0.49 ns 0.44 ns 1.80 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 Gen0 Allocated Alloc Ratio
InvokeMultiParam 1.289 μs 0.0012 μs 0.0010 μs 1.00 0.0095 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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,002.5 ns 4.83 ns 4.52 ns - 104 B
PredicateRoundTrip False False True 997.7 ns 6.82 ns 6.38 ns - 104 B
PredicateRoundTrip False True False 1,271.2 ns 4.18 ns 3.91 ns 0.0019 200 B
PredicateRoundTrip False True True 4,696.7 ns 23.82 ns 18.60 ns 0.0076 760 B
PredicateRoundTrip True False False 439.8 ns 0.65 ns 0.61 ns - 24 B
PredicateRoundTrip True False True 438.6 ns 0.87 ns 0.82 ns - 24 B
PredicateRoundTrip True True False 652.3 ns 1.51 ns 1.18 ns 0.0010 120 B
PredicateRoundTrip True True True 4,072.2 ns 15.51 ns 14.51 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 574.81 ns 1.529 ns 1.355 ns 0.0011 80 B
PredicateSustained False False True 575.50 ns 2.280 ns 2.133 ns 0.0011 80 B
PredicateSustained False True False 781.38 ns 7.934 ns 7.421 ns 0.0014 176 B
PredicateSustained False True True 4,059.58 ns 23.203 ns 19.375 ns 0.0100 736 B
PredicateSustained True False False 44.17 ns 0.453 ns 0.424 ns - -
PredicateSustained True False True 43.57 ns 0.648 ns 0.606 ns - -
PredicateSustained True True False 262.89 ns 0.303 ns 0.283 ns 0.0013 96 B
PredicateSustained True True True 3,611.05 ns 69.949 ns 83.269 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 539.9 ns 0.40 ns 0.36 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 6,850.6 ns 8.48 ns 7.52 ns 12.69 0.02 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,110.4 ns 2.38 ns 2.23 ns 2.06 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,128.2 ns 2.45 ns 2.29 ns 2.09 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,801.6 ns 26.32 ns 24.62 ns 16.30 0.05 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 530.3 ns 0.55 ns 0.48 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 540,601.8 ns 1,081.42 ns 1,011.56 ns 1,019.48 2.05 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,838.4 ns 8.96 ns 7.94 ns 3.47 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,833.2 ns 10.02 ns 8.88 ns 3.46 0.02 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 725,254.0 ns 848.60 ns 708.62 ns 1,367.70 1.76 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 545.3 ns 0.50 ns 0.44 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 56,926,803.9 ns 169,527.56 ns 158,576.18 ns 104,386.47 293.32 333.3333 222.2222 222.2222 16002092 B 51,288.76
InvokeIntArrayFixed 100000 60,457.9 ns 560.11 ns 523.93 ns 110.86 0.93 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 59,875.5 ns 384.27 ns 359.45 ns 109.79 0.64 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 85,778,853.8 ns 556,797.93 ns 520,829.13 ns 157,292.37 933.11 1285.7143 1142.8571 1000.0000 27898230 B 89,417.40

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.044 μs 0.0104 μs 0.0097 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.043 μs 0.0090 μs 0.0084 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.036 μs 0.0091 μs 0.0085 μs 0.99 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 99.63 ns 0.021 ns 0.018 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 119.53 ns 0.050 ns 0.044 ns 1.20 0.00 0.0002 24 B 1.00
GetInstanceStringField 110.04 ns 0.033 ns 0.030 ns 1.10 0.00 - - 0.00
SetInstanceStringField 660.81 ns 1.004 ns 0.939 ns 6.63 0.01 0.0038 256 B 10.67
GetStaticIntField 118.55 ns 0.069 ns 0.061 ns 1.19 0.00 0.0002 24 B 1.00
SetStaticIntField 117.08 ns 0.031 ns 0.027 ns 1.18 0.00 0.0002 24 B 1.00
GetStaticStringField 100.69 ns 0.030 ns 0.028 ns 1.01 0.00 - - 0.00
SetStaticStringField 660.62 ns 1.751 ns 1.638 ns 6.63 0.02 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 109.18 ns 0.051 ns 0.040 ns 1.10 0.00 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.19 ns 0.18 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 304.2 ns 0.67 ns 0.62 ns 1.01 - - NA
InvokeStaticWithFeedback 537.0 ns 0.23 ns 0.20 ns 1.78 0.0038 312 B NA
InvokeInstanceEmpty 310.6 ns 0.27 ns 0.25 ns 1.03 - - NA
InvokeInstanceWithFeedback 540.5 ns 0.41 ns 0.34 ns 1.79 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.347 μs 0.0086 μs 0.0081 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,037.3 ns 7.99 ns 7.48 ns - 104 B
PredicateRoundTrip False False True 1,020.6 ns 5.36 ns 4.75 ns - 104 B
PredicateRoundTrip False True False 1,253.9 ns 7.07 ns 5.52 ns 0.0019 200 B
PredicateRoundTrip False True True 4,535.7 ns 20.64 ns 18.30 ns 0.0076 760 B
PredicateRoundTrip True False False 442.9 ns 0.25 ns 0.22 ns - 24 B
PredicateRoundTrip True False True 436.8 ns 0.39 ns 0.34 ns - 24 B
PredicateRoundTrip True True False 673.0 ns 0.72 ns 0.60 ns 0.0010 120 B
PredicateRoundTrip True True True 4,998.6 ns 44.01 ns 41.17 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 583.80 ns 0.430 ns 0.359 ns 0.0011 80 B
PredicateSustained False False True 585.87 ns 0.355 ns 0.277 ns 0.0011 80 B
PredicateSustained False True False 798.41 ns 1.047 ns 0.874 ns 0.0014 176 B
PredicateSustained False True True 4,084.25 ns 34.671 ns 32.432 ns 0.0100 736 B
PredicateSustained True False False 45.82 ns 0.889 ns 0.788 ns - -
PredicateSustained True False True 46.04 ns 0.986 ns 1.135 ns - -
PredicateSustained True True False 262.36 ns 0.369 ns 0.345 ns 0.0013 96 B
PredicateSustained True True True 3,235.44 ns 14.308 ns 13.384 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 538.8 ns 0.33 ns 0.29 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,204.0 ns 14.20 ns 11.86 ns 13.37 0.02 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,183.2 ns 2.51 ns 2.09 ns 2.20 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,151.5 ns 4.52 ns 4.23 ns 2.14 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,475.2 ns 65.40 ns 61.18 ns 17.59 0.11 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 546.1 ns 0.96 ns 0.90 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 547,700.0 ns 1,140.00 ns 1,066.36 ns 1,002.94 2.48 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,859.0 ns 7.65 ns 7.16 ns 3.40 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,835.6 ns 9.73 ns 9.10 ns 3.36 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 732,784.3 ns 2,158.95 ns 1,802.82 ns 1,341.87 3.84 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 535.7 ns 0.66 ns 0.59 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,603,002.9 ns 234,982.20 ns 208,305.60 ns 107,535.49 392.52 333.3333 222.2222 222.2222 16001357 B 51,286.40
InvokeIntArrayFixed 100000 60,633.1 ns 422.62 ns 374.64 ns 113.19 0.69 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,483.3 ns 396.19 ns 351.21 ns 112.91 0.64 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 80,829,866.6 ns 1,385,612.17 ns 1,296,102.49 ns 150,896.29 2,348.58 1000.0000 833.3333 833.3333 27896893 B 89,413.12

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.046 μs 0.0100 μs 0.0093 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.033 μs 0.0089 μs 0.0083 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.033 μs 0.0077 μs 0.0072 μs 0.99 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 100.4 ns 0.03 ns 0.02 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 121.7 ns 0.06 ns 0.05 ns 1.21 0.0002 24 B 1.00
GetInstanceStringField 113.8 ns 0.02 ns 0.02 ns 1.13 - - 0.00
SetInstanceStringField 674.2 ns 1.26 ns 1.17 ns 6.72 0.0038 256 B 10.67
GetStaticIntField 117.0 ns 0.07 ns 0.06 ns 1.16 0.0002 24 B 1.00
SetStaticIntField 122.5 ns 0.03 ns 0.03 ns 1.22 0.0002 24 B 1.00
GetStaticStringField 100.8 ns 0.03 ns 0.03 ns 1.00 - - 0.00
SetStaticStringField 659.5 ns 1.51 ns 1.42 ns 6.57 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 116.7 ns 0.09 ns 0.09 ns 1.16 0.0002 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 298.6 ns 0.25 ns 0.24 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 305.7 ns 0.19 ns 0.18 ns 1.02 - - NA
InvokeStaticWithFeedback 530.6 ns 0.45 ns 0.40 ns 1.78 0.0038 312 B NA
InvokeInstanceEmpty 310.0 ns 0.20 ns 0.19 ns 1.04 - - NA
InvokeInstanceWithFeedback 547.2 ns 0.34 ns 0.30 ns 1.83 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 Gen0 Allocated Alloc Ratio
InvokeMultiParam 1.330 μs 0.0080 μs 0.0075 μs 1.00 0.0095 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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,016.3 ns 6.90 ns 6.45 ns - 104 B
PredicateRoundTrip False False True 1,029.6 ns 7.51 ns 7.02 ns - 104 B
PredicateRoundTrip False True False 1,308.6 ns 12.16 ns 11.37 ns 0.0019 200 B
PredicateRoundTrip False True True 5,759.4 ns 114.09 ns 95.27 ns 0.0076 760 B
PredicateRoundTrip True False False 445.5 ns 0.30 ns 0.25 ns - 24 B
PredicateRoundTrip True False True 443.8 ns 0.73 ns 0.65 ns - 24 B
PredicateRoundTrip True True False 1,145.1 ns 22.51 ns 23.12 ns - 120 B
PredicateRoundTrip True True True 7,595.2 ns 119.44 ns 111.72 ns - 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 589.32 ns 0.753 ns 0.588 ns 0.0011 80 B
PredicateSustained False False True 580.31 ns 0.690 ns 0.539 ns 0.0011 80 B
PredicateSustained False True False 800.39 ns 7.472 ns 6.990 ns 0.0014 176 B
PredicateSustained False True True 4,514.65 ns 41.486 ns 50.949 ns 0.0100 736 B
PredicateSustained True False False 42.57 ns 0.030 ns 0.028 ns - -
PredicateSustained True False True 42.81 ns 0.190 ns 0.178 ns - -
PredicateSustained True True False 255.67 ns 0.469 ns 0.438 ns 0.0013 96 B
PredicateSustained True True True 3,626.99 ns 32.779 ns 25.592 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 557.1 ns 0.39 ns 0.34 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,024.1 ns 19.71 ns 18.43 ns 12.61 0.03 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,158.1 ns 1.31 ns 1.09 ns 2.08 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,155.1 ns 3.39 ns 3.01 ns 2.07 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,126.8 ns 28.93 ns 27.06 ns 16.38 0.05 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 540.3 ns 0.26 ns 0.23 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 570,333.0 ns 1,032.56 ns 965.85 ns 1,055.51 1.78 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,906.8 ns 5.06 ns 4.73 ns 3.53 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,890.7 ns 6.02 ns 5.63 ns 3.50 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 755,944.9 ns 679.86 ns 602.67 ns 1,399.02 1.22 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 549.5 ns 0.51 ns 0.46 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 59,458,665.2 ns 420,266.65 ns 393,117.69 ns 108,196.41 698.12 250.0000 125.0000 125.0000 16000917 B 51,284.99
InvokeIntArrayFixed 100000 61,021.8 ns 398.99 ns 373.21 ns 111.04 0.66 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,953.0 ns 386.27 ns 361.32 ns 110.92 0.64 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 84,852,075.7 ns 946,089.77 ns 884,972.96 ns 154,404.58 1,564.36 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.075 μs 0.0010 μs 0.0008 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.074 μs 0.0081 μs 0.0072 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.078 μs 0.0116 μs 0.0108 μs 1.00 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 Gen0 Allocated Alloc Ratio
GetInstanceIntField 97.59 ns 0.021 ns 0.018 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 114.15 ns 0.026 ns 0.023 ns 1.17 0.0004 24 B 1.00
GetInstanceStringField 114.37 ns 0.052 ns 0.046 ns 1.17 - - 0.00
SetInstanceStringField 669.12 ns 0.815 ns 0.762 ns 6.86 0.0038 256 B 10.67
GetStaticIntField 126.41 ns 0.034 ns 0.030 ns 1.30 0.0002 24 B 1.00
SetStaticIntField 121.35 ns 0.031 ns 0.027 ns 1.24 0.0002 24 B 1.00
GetStaticStringField 111.32 ns 0.066 ns 0.061 ns 1.14 - - 0.00
SetStaticStringField 678.04 ns 0.860 ns 0.804 ns 6.95 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 110.30 ns 0.047 ns 0.044 ns 1.13 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 376.3 ns 0.21 ns 0.20 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 380.0 ns 0.68 ns 0.64 ns 1.01 - - NA
InvokeStaticWithFeedback 545.1 ns 0.22 ns 0.20 ns 1.45 0.0038 312 B NA
InvokeInstanceEmpty 386.9 ns 0.16 ns 0.15 ns 1.03 - - NA
InvokeInstanceWithFeedback 552.3 ns 0.43 ns 0.41 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.313 μs 0.0019 μs 0.0017 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,059.0 ns 8.65 ns 8.09 ns - 104 B
PredicateRoundTrip False False True 1,071.3 ns 4.14 ns 3.67 ns - 104 B
PredicateRoundTrip False True False 1,311.5 ns 7.97 ns 7.45 ns 0.0019 200 B
PredicateRoundTrip False True True 4,838.5 ns 24.91 ns 23.30 ns 0.0076 760 B
PredicateRoundTrip True False False 471.0 ns 0.63 ns 0.56 ns - 24 B
PredicateRoundTrip True False True 474.3 ns 0.17 ns 0.13 ns - 24 B
PredicateRoundTrip True True False 707.9 ns 0.91 ns 0.76 ns 0.0010 120 B
PredicateRoundTrip True True True 4,178.6 ns 14.59 ns 13.65 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 613.32 ns 2.846 ns 2.662 ns 0.0011 80 B
PredicateSustained False False True 621.58 ns 4.578 ns 4.282 ns - 80 B
PredicateSustained False True False 831.99 ns 0.529 ns 0.469 ns 0.0017 176 B
PredicateSustained False True True 4,278.81 ns 12.005 ns 11.230 ns 0.0100 736 B
PredicateSustained True False False 50.66 ns 0.891 ns 0.834 ns - -
PredicateSustained True False True 50.55 ns 0.851 ns 0.796 ns - -
PredicateSustained True True False 271.00 ns 0.380 ns 0.356 ns 0.0013 96 B
PredicateSustained True True True 3,541.58 ns 16.064 ns 15.026 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 541.8 ns 0.38 ns 0.34 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,290.3 ns 26.67 ns 24.95 ns 13.46 0.05 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,160.9 ns 6.39 ns 5.66 ns 2.14 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,161.9 ns 1.41 ns 1.25 ns 2.14 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 10,554.3 ns 38.93 ns 34.51 ns 19.48 0.06 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 547.7 ns 0.44 ns 0.39 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 557,726.5 ns 1,171.57 ns 1,038.56 ns 1,018.29 1.96 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,913.4 ns 14.37 ns 13.44 ns 3.49 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,903.1 ns 19.43 ns 18.18 ns 3.47 0.03 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 759,353.8 ns 236.13 ns 184.36 ns 1,386.41 1.01 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 546.2 ns 0.32 ns 0.28 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,419,105.9 ns 236,209.27 ns 220,950.30 ns 106,956.23 395.34 333.3333 222.2222 222.2222 16001318 B 51,286.28
InvokeIntArrayFixed 100000 60,723.5 ns 690.44 ns 645.84 ns 111.18 1.15 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 61,322.8 ns 406.91 ns 339.79 ns 112.27 0.60 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 84,551,070.8 ns 960,243.82 ns 851,231.14 ns 154,799.76 1,507.60 1166.6667 1000.0000 1000.0000 27898336 B 89,417.74

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.103 μs 0.0134 μs 0.0125 μs 1.00 0.02 0.0038 360 B 1.00
NewWithSignature 1.095 μs 0.0109 μs 0.0102 μs 0.99 0.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.094 μs 0.0126 μs 0.0118 μs 0.99 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 93.98 ns 0.147 ns 0.138 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 117.67 ns 0.053 ns 0.047 ns 1.25 0.00 0.0002 24 B 1.00
GetInstanceStringField 103.60 ns 0.020 ns 0.018 ns 1.10 0.00 - - 0.00
SetInstanceStringField 681.28 ns 1.472 ns 1.377 ns 7.25 0.02 0.0038 256 B 10.67
GetStaticIntField 107.00 ns 0.115 ns 0.108 ns 1.14 0.00 0.0004 24 B 1.00
SetStaticIntField 108.36 ns 0.131 ns 0.123 ns 1.15 0.00 0.0004 24 B 1.00
GetStaticStringField 99.21 ns 0.079 ns 0.074 ns 1.06 0.00 - - 0.00
SetStaticStringField 673.63 ns 1.151 ns 1.020 ns 7.17 0.01 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 108.11 ns 0.078 ns 0.073 ns 1.15 0.00 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 302.2 ns 0.21 ns 0.17 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 308.1 ns 0.83 ns 0.78 ns 1.02 - - NA
InvokeStaticWithFeedback 557.8 ns 0.33 ns 0.29 ns 1.85 0.0038 312 B NA
InvokeInstanceEmpty 316.2 ns 0.21 ns 0.20 ns 1.05 - - NA
InvokeInstanceWithFeedback 555.2 ns 0.56 ns 0.46 ns 1.84 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 RatioSD Gen0 Allocated Alloc Ratio
InvokeMultiParam 1.493 μs 0.0178 μs 0.0166 μs 1.00 0.02 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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,090.9 ns 7.71 ns 6.83 ns - 104 B
PredicateRoundTrip False False True 1,087.1 ns 11.41 ns 10.67 ns - 104 B
PredicateRoundTrip False True False 1,381.1 ns 19.17 ns 17.93 ns 0.0019 200 B
PredicateRoundTrip False True True 6,034.1 ns 55.42 ns 49.13 ns 0.0076 760 B
PredicateRoundTrip True False False 463.1 ns 1.57 ns 1.31 ns - 24 B
PredicateRoundTrip True False True 461.3 ns 0.29 ns 0.27 ns - 24 B
PredicateRoundTrip True True False 696.2 ns 1.23 ns 1.02 ns 0.0010 120 B
PredicateRoundTrip True True True 5,348.5 ns 46.37 ns 41.11 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 614.75 ns 2.233 ns 1.980 ns 0.0011 80 B
PredicateSustained False False True 598.46 ns 0.362 ns 0.321 ns 0.0011 80 B
PredicateSustained False True False 818.52 ns 7.786 ns 7.283 ns 0.0017 176 B
PredicateSustained False True True 4,743.94 ns 41.645 ns 36.917 ns 0.0100 736 B
PredicateSustained True False False 42.66 ns 0.658 ns 0.615 ns - -
PredicateSustained True False True 43.21 ns 0.573 ns 0.536 ns - -
PredicateSustained True True False 256.14 ns 0.664 ns 0.621 ns 0.0013 96 B
PredicateSustained True True True 5,095.75 ns 85.659 ns 80.126 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.2 ns 0.32 ns 0.28 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,240.5 ns 17.07 ns 15.97 ns 13.33 0.03 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,148.5 ns 3.18 ns 2.82 ns 2.11 0.01 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,159.5 ns 1.24 ns 1.04 ns 2.13 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,087.3 ns 42.84 ns 40.07 ns 16.73 0.07 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 542.7 ns 0.52 ns 0.43 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 555,313.6 ns 1,267.45 ns 1,185.58 ns 1,023.25 2.26 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,871.7 ns 5.71 ns 5.06 ns 3.45 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,888.6 ns 9.50 ns 8.42 ns 3.48 0.02 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 740,283.4 ns 1,175.72 ns 981.78 ns 1,364.08 2.04 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 543.3 ns 0.45 ns 0.40 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,151,905.1 ns 219,436.64 ns 194,524.87 ns 105,189.40 353.77 333.3333 222.2222 222.2222 16000578 B 51,283.90
InvokeIntArrayFixed 100000 60,305.6 ns 345.35 ns 306.14 ns 110.99 0.55 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,240.5 ns 212.29 ns 188.19 ns 110.87 0.34 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 83,009,689.6 ns 914,178.55 ns 810,395.47 ns 152,781.24 1,445.01 1166.6667 1000.0000 1000.0000 27897003 B 89,413.47

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.053 μs 0.0095 μs 0.0089 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.063 μs 0.0090 μs 0.0084 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.041 μs 0.0010 μs 0.0008 μ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 95.39 ns 0.041 ns 0.036 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 120.50 ns 0.022 ns 0.019 ns 1.26 0.0002 24 B 1.00
GetInstanceStringField 113.85 ns 0.008 ns 0.007 ns 1.19 - - 0.00
SetInstanceStringField 673.18 ns 0.730 ns 0.647 ns 7.06 0.0038 256 B 10.67
GetStaticIntField 109.47 ns 0.038 ns 0.034 ns 1.15 0.0004 24 B 1.00
SetStaticIntField 112.22 ns 0.023 ns 0.019 ns 1.18 0.0004 24 B 1.00
GetStaticStringField 102.87 ns 0.026 ns 0.024 ns 1.08 - - 0.00
SetStaticStringField 675.59 ns 0.882 ns 0.825 ns 7.08 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 108.68 ns 0.047 ns 0.042 ns 1.14 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 304.8 ns 0.17 ns 0.15 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 310.9 ns 0.52 ns 0.49 ns 1.02 - - NA
InvokeStaticWithFeedback 540.9 ns 0.34 ns 0.30 ns 1.77 0.0038 312 B NA
InvokeInstanceEmpty 320.9 ns 0.16 ns 0.15 ns 1.05 - - NA
InvokeInstanceWithFeedback 554.7 ns 0.24 ns 0.21 ns 1.82 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.297 μs 0.0031 μs 0.0029 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,051.3 ns 6.50 ns 6.08 ns - 104 B
PredicateRoundTrip False False True 1,060.8 ns 7.08 ns 6.62 ns - 104 B
PredicateRoundTrip False True False 1,295.9 ns 8.22 ns 7.69 ns 0.0019 200 B
PredicateRoundTrip False True True 5,176.8 ns 41.60 ns 38.92 ns 0.0076 760 B
PredicateRoundTrip True False False 443.4 ns 0.28 ns 0.25 ns - 24 B
PredicateRoundTrip True False True 444.6 ns 0.30 ns 0.28 ns - 24 B
PredicateRoundTrip True True False 681.8 ns 1.02 ns 0.85 ns 0.0010 120 B
PredicateRoundTrip True True True 4,408.9 ns 25.64 ns 22.73 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 598.52 ns 1.454 ns 1.214 ns 0.0011 80 B
PredicateSustained False False True 595.40 ns 0.637 ns 0.596 ns 0.0011 80 B
PredicateSustained False True False 806.99 ns 2.727 ns 2.129 ns 0.0014 176 B
PredicateSustained False True True 4,242.70 ns 27.574 ns 25.793 ns 0.0100 736 B
PredicateSustained True False False 44.72 ns 0.977 ns 0.866 ns - -
PredicateSustained True False True 45.57 ns 0.902 ns 1.073 ns - -
PredicateSustained True True False 260.69 ns 0.430 ns 0.381 ns 0.0013 96 B
PredicateSustained True True True 3,509.86 ns 15.929 ns 14.900 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 558.2 ns 0.50 ns 0.44 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 10 7,425.0 ns 18.30 ns 16.22 ns 13.30 0.03 0.0153 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,147.6 ns 2.89 ns 2.56 ns 2.06 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,144.2 ns 2.38 ns 2.23 ns 2.05 0.00 0.0057 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,451.0 ns 32.50 ns 30.40 ns 16.93 0.05 0.0458 - - 3488 B 11.18
InvokeIntParam 1000 543.4 ns 0.57 ns 0.50 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 1000 564,635.5 ns 1,177.70 ns 1,101.62 ns 1,038.99 2.17 1.9531 - - 160416 B 514.15
InvokeIntArrayFixed 1000 1,867.9 ns 4.66 ns 4.13 ns 3.44 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,853.0 ns 3.85 ns 3.41 ns 3.41 0.01 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 751,976.4 ns 1,236.21 ns 1,032.29 ns 1,383.72 2.21 3.9063 0.9766 - 265856 B 852.10
InvokeIntParam 100000 545.8 ns 0.55 ns 0.46 ns 1.00 0.00 0.0038 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,806,975.5 ns 260,326.42 ns 243,509.50 ns 107,741.03 440.82 333.3333 222.2222 222.2222 16000759 B 51,284.48
InvokeIntArrayFixed 100000 60,799.6 ns 194.30 ns 172.24 ns 111.39 0.32 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 60,439.3 ns 141.04 ns 117.77 ns 110.73 0.23 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 83,642,856.0 ns 753,939.29 ns 705,235.28 ns 153,243.17 1,257.60 1000.0000 833.3333 833.3333 27896893 B 89,413.12

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.067 μs 0.0079 μs 0.0074 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.059 μs 0.0075 μs 0.0071 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.056 μs 0.0074 μs 0.0069 μ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 96.85 ns 0.033 ns 0.026 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 119.49 ns 0.022 ns 0.020 ns 1.23 0.0002 24 B 1.00
GetInstanceStringField 115.09 ns 0.018 ns 0.017 ns 1.19 - - 0.00
SetInstanceStringField 673.99 ns 1.056 ns 0.988 ns 6.96 0.0038 256 B 10.67
GetStaticIntField 116.18 ns 0.026 ns 0.023 ns 1.20 0.0002 24 B 1.00
SetStaticIntField 114.10 ns 0.027 ns 0.024 ns 1.18 0.0004 24 B 1.00
GetStaticStringField 103.45 ns 0.023 ns 0.021 ns 1.07 - - 0.00
SetStaticStringField 673.64 ns 1.392 ns 1.302 ns 6.96 0.0038 256 B 10.67
GetInstanceIntFieldGeneric 114.00 ns 0.038 ns 0.032 ns 1.18 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.6 ns 0.40 ns 0.37 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 317.3 ns 0.18 ns 0.16 ns 1.03 - - NA
InvokeStaticWithFeedback 543.7 ns 0.39 ns 0.35 ns 1.77 0.0038 312 B NA
InvokeInstanceEmpty 316.5 ns 0.17 ns 0.15 ns 1.03 - - NA
InvokeInstanceWithFeedback 557.1 ns 0.27 ns 0.24 ns 1.82 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.449 μs 0.0052 μs 0.0046 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,050.7 ns 7.64 ns 7.15 ns - 104 B
PredicateRoundTrip False False True 1,059.5 ns 6.39 ns 5.66 ns - 104 B
PredicateRoundTrip False True False 1,314.4 ns 5.74 ns 5.09 ns 0.0019 200 B
PredicateRoundTrip False True True 5,658.6 ns 69.11 ns 61.26 ns 0.0076 760 B
PredicateRoundTrip True False False 452.1 ns 0.31 ns 0.28 ns - 24 B
PredicateRoundTrip True False True 449.0 ns 0.32 ns 0.28 ns - 24 B
PredicateRoundTrip True True False 713.0 ns 0.98 ns 0.77 ns 0.0010 120 B
PredicateRoundTrip True True True 4,963.3 ns 32.15 ns 25.10 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 603.35 ns 3.339 ns 3.124 ns 0.0011 80 B
PredicateSustained False False True 595.98 ns 0.537 ns 0.419 ns 0.0011 80 B
PredicateSustained False True False 809.09 ns 5.156 ns 4.570 ns 0.0014 176 B
PredicateSustained False True True 4,436.59 ns 39.173 ns 38.473 ns 0.0100 736 B
PredicateSustained True False False 42.08 ns 0.624 ns 0.583 ns - -
PredicateSustained True False True 41.78 ns 0.606 ns 0.567 ns - -
PredicateSustained True True False 255.16 ns 0.278 ns 0.232 ns 0.0013 96 B
PredicateSustained True True True 3,638.33 ns 37.178 ns 31.045 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 537.7 ns 0.42 ns 0.37 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,296.6 ns 12.30 ns 10.90 ns 13.57 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,199.1 ns 1.90 ns 1.68 ns 2.23 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,208.1 ns 2.28 ns 2.13 ns 2.25 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,177.2 ns 19.82 ns 17.57 ns 17.07 0.03 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 537.9 ns 0.61 ns 0.51 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 588,720.6 ns 1,242.44 ns 1,162.18 ns 1,094.53 2.32 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,914.6 ns 3.42 ns 3.20 ns 3.56 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,916.1 ns 3.84 ns 3.40 ns 3.56 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 768,893.2 ns 1,023.41 ns 907.23 ns 1,429.51 2.08 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 531.6 ns 0.62 ns 0.55 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,814,964.7 ns 362,428.80 ns 339,016.12 ns 112,515.04 627.59 250.0000 125.0000 125.0000 16000719 B 46,513.72
InvokeIntArrayFixed 100000 61,021.0 ns 480.93 ns 449.86 ns 114.78 0.83 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 61,082.5 ns 484.20 ns 452.93 ns 114.90 0.83 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,449,650.7 ns 1,252,306.60 ns 977,718.62 ns 160,735.21 1,773.32 1000.0000 833.3333 833.3333 27895348 B 81,091.13

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.134 μs 0.0013 μs 0.0011 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.147 μs 0.0019 μs 0.0016 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.144 μs 0.0023 μs 0.0022 μs 1.01 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 Gen0 Allocated Alloc Ratio
GetInstanceIntField 110.1 ns 0.02 ns 0.02 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 143.5 ns 0.04 ns 0.04 ns 1.30 0.0002 24 B 1.00
GetInstanceStringField 117.1 ns 0.03 ns 0.03 ns 1.06 - - 0.00
SetInstanceStringField 723.7 ns 1.20 ns 1.12 ns 6.57 0.0038 288 B 12.00
GetStaticIntField 134.1 ns 0.04 ns 0.03 ns 1.22 0.0002 24 B 1.00
SetStaticIntField 157.6 ns 0.05 ns 0.04 ns 1.43 0.0002 24 B 1.00
GetStaticStringField 121.3 ns 0.07 ns 0.06 ns 1.10 - - 0.00
SetStaticStringField 726.1 ns 1.15 ns 1.02 ns 6.59 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 156.8 ns 0.05 ns 0.05 ns 1.42 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 370.6 ns 0.23 ns 0.21 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 349.2 ns 0.25 ns 0.24 ns 0.94 - - NA
InvokeStaticWithFeedback 558.8 ns 0.20 ns 0.16 ns 1.51 0.0048 344 B NA
InvokeInstanceEmpty 377.4 ns 0.26 ns 0.24 ns 1.02 - - NA
InvokeInstanceWithFeedback 528.6 ns 0.36 ns 0.32 ns 1.43 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.343 μs 0.0029 μs 0.0027 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,060.7 ns 6.36 ns 5.95 ns - 104 B
PredicateRoundTrip False False True 1,057.2 ns 5.91 ns 5.52 ns - 104 B
PredicateRoundTrip False True False 1,258.7 ns 6.29 ns 5.88 ns 0.0019 200 B
PredicateRoundTrip False True True 4,687.6 ns 4.79 ns 4.48 ns 0.0076 792 B
PredicateRoundTrip True False False 440.9 ns 0.40 ns 0.35 ns - 24 B
PredicateRoundTrip True False True 432.1 ns 1.80 ns 1.68 ns - 24 B
PredicateRoundTrip True True False 641.0 ns 1.53 ns 1.43 ns 0.0010 120 B
PredicateRoundTrip True True True 3,921.6 ns 9.68 ns 9.05 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 624.50 ns 0.545 ns 0.426 ns - 80 B
PredicateSustained False False True 626.43 ns 0.400 ns 0.355 ns - 80 B
PredicateSustained False True False 838.15 ns 6.267 ns 5.862 ns 0.0017 176 B
PredicateSustained False True True 4,183.67 ns 14.374 ns 13.446 ns 0.0100 768 B
PredicateSustained True False False 58.92 ns 1.142 ns 1.222 ns - -
PredicateSustained True False True 58.61 ns 1.123 ns 1.293 ns - -
PredicateSustained True True False 253.79 ns 0.427 ns 0.399 ns 0.0013 96 B
PredicateSustained True True True 3,559.66 ns 15.321 ns 14.331 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 543.9 ns 0.47 ns 0.42 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,312.4 ns 9.95 ns 9.30 ns 13.44 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,214.1 ns 1.77 ns 1.57 ns 2.23 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,208.5 ns 1.76 ns 1.64 ns 2.22 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,415.2 ns 32.71 ns 30.60 ns 17.31 0.06 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 535.3 ns 0.53 ns 0.47 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 590,473.9 ns 1,413.91 ns 1,322.58 ns 1,103.01 2.57 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,944.8 ns 6.72 ns 5.95 ns 3.63 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,955.3 ns 8.64 ns 8.08 ns 3.65 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 791,355.7 ns 1,088.42 ns 908.88 ns 1,478.25 2.06 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 540.2 ns 0.51 ns 0.46 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,458,051.5 ns 264,890.71 ns 234,818.71 ns 111,918.26 429.77 250.0000 125.0000 125.0000 16000928 B 46,514.33
InvokeIntArrayFixed 100000 62,289.1 ns 567.82 ns 531.14 ns 115.31 0.96 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 61,462.6 ns 328.20 ns 290.94 ns 113.78 0.53 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 87,188,047.2 ns 734,558.83 ns 687,106.79 ns 161,400.08 1,238.78 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.158 μs 0.0111 μs 0.0103 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.157 μs 0.0110 μs 0.0102 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.164 μs 0.0102 μs 0.0095 μs 1.01 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 102.8 ns 0.02 ns 0.02 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 150.8 ns 0.05 ns 0.04 ns 1.47 0.00 0.0002 24 B 1.00
GetInstanceStringField 115.0 ns 0.04 ns 0.04 ns 1.12 0.00 - - 0.00
SetInstanceStringField 751.8 ns 1.82 ns 1.71 ns 7.31 0.02 0.0038 288 B 12.00
GetStaticIntField 124.7 ns 0.04 ns 0.03 ns 1.21 0.00 0.0002 24 B 1.00
SetStaticIntField 145.1 ns 0.06 ns 0.05 ns 1.41 0.00 0.0002 24 B 1.00
GetStaticStringField 110.8 ns 0.03 ns 0.03 ns 1.08 0.00 - - 0.00
SetStaticStringField 735.2 ns 1.34 ns 1.26 ns 7.15 0.01 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 154.5 ns 0.08 ns 0.07 ns 1.50 0.00 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 297.5 ns 0.26 ns 0.20 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 271.0 ns 0.10 ns 0.10 ns 0.91 - - NA
InvokeStaticWithFeedback 552.6 ns 0.32 ns 0.27 ns 1.86 0.0048 344 B NA
InvokeInstanceEmpty 316.9 ns 0.11 ns 0.10 ns 1.07 - - NA
InvokeInstanceWithFeedback 546.1 ns 0.38 ns 0.31 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.338 μs 0.0019 μs 0.0016 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,074.3 ns 6.58 ns 6.16 ns - 104 B
PredicateRoundTrip False False True 1,077.3 ns 4.93 ns 4.61 ns - 104 B
PredicateRoundTrip False True False 1,285.8 ns 4.14 ns 3.87 ns 0.0019 200 B
PredicateRoundTrip False True True 4,949.6 ns 33.54 ns 31.37 ns 0.0076 792 B
PredicateRoundTrip True False False 445.4 ns 0.42 ns 0.40 ns - 24 B
PredicateRoundTrip True False True 441.4 ns 0.43 ns 0.38 ns - 24 B
PredicateRoundTrip True True False 623.6 ns 1.77 ns 1.38 ns 0.0010 120 B
PredicateRoundTrip True True True 4,058.6 ns 17.50 ns 16.37 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 620.03 ns 0.872 ns 0.728 ns - 80 B
PredicateSustained False False True 617.06 ns 1.529 ns 1.277 ns - 80 B
PredicateSustained False True False 824.36 ns 6.526 ns 6.105 ns 0.0014 176 B
PredicateSustained False True True 4,347.44 ns 22.579 ns 21.120 ns 0.0100 768 B
PredicateSustained True False False 50.69 ns 1.083 ns 1.063 ns - -
PredicateSustained True False True 52.58 ns 1.031 ns 1.228 ns - -
PredicateSustained True True False 240.98 ns 0.511 ns 0.478 ns 0.0013 96 B
PredicateSustained True True True 3,601.90 ns 17.911 ns 16.754 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 531.5 ns 0.49 ns 0.43 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,236.1 ns 7.31 ns 6.10 ns 13.61 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,191.1 ns 1.59 ns 1.49 ns 2.24 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,191.9 ns 1.42 ns 1.26 ns 2.24 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,115.7 ns 29.25 ns 27.36 ns 17.15 0.05 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 543.1 ns 0.49 ns 0.46 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 574,061.1 ns 1,359.42 ns 1,271.61 ns 1,056.93 2.43 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,891.5 ns 2.34 ns 2.07 ns 3.48 0.00 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,888.3 ns 4.81 ns 4.26 ns 3.48 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 771,686.9 ns 967.52 ns 857.68 ns 1,420.79 1.92 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 529.7 ns 0.24 ns 0.20 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,327,457.0 ns 193,719.59 ns 181,205.43 ns 112,006.02 333.95 250.0000 125.0000 125.0000 16001392 B 46,515.67
InvokeIntArrayFixed 100000 60,308.3 ns 368.16 ns 326.37 ns 113.86 0.60 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,587.7 ns 204.99 ns 181.72 ns 114.39 0.33 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 83,646,085.6 ns 1,033,578.70 ns 916,240.60 ns 157,917.86 1,672.50 1000.0000 833.3333 833.3333 27894896 B 81,089.81

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.123 μs 0.0107 μs 0.0100 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.125 μs 0.0008 μs 0.0006 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.112 μs 0.0074 μs 0.0066 μs 0.99 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 Gen0 Allocated Alloc Ratio
GetInstanceIntField 103.9 ns 0.04 ns 0.04 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 148.9 ns 0.05 ns 0.04 ns 1.43 0.0002 24 B 1.00
GetInstanceStringField 116.7 ns 0.04 ns 0.03 ns 1.12 - - 0.00
SetInstanceStringField 733.3 ns 1.16 ns 1.03 ns 7.06 0.0038 288 B 12.00
GetStaticIntField 124.6 ns 0.03 ns 0.02 ns 1.20 0.0002 24 B 1.00
SetStaticIntField 148.7 ns 0.07 ns 0.06 ns 1.43 0.0002 24 B 1.00
GetStaticStringField 115.4 ns 0.03 ns 0.03 ns 1.11 - - 0.00
SetStaticStringField 712.9 ns 1.10 ns 0.98 ns 6.86 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 157.7 ns 0.07 ns 0.06 ns 1.52 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 308.3 ns 0.16 ns 0.15 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 274.7 ns 0.13 ns 0.12 ns 0.89 - - NA
InvokeStaticWithFeedback 529.8 ns 0.47 ns 0.42 ns 1.72 0.0048 344 B NA
InvokeInstanceEmpty 316.9 ns 0.10 ns 0.10 ns 1.03 - - NA
InvokeInstanceWithFeedback 535.7 ns 0.51 ns 0.42 ns 1.74 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.314 μs 0.0014 μs 0.0013 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,018.9 ns 5.60 ns 5.23 ns - 104 B
PredicateRoundTrip False False True 1,023.5 ns 6.27 ns 5.87 ns - 104 B
PredicateRoundTrip False True False 1,237.5 ns 5.91 ns 5.53 ns 0.0019 200 B
PredicateRoundTrip False True True 4,669.0 ns 20.04 ns 18.75 ns 0.0076 792 B
PredicateRoundTrip True False False 417.9 ns 0.19 ns 0.17 ns - 24 B
PredicateRoundTrip True False True 418.3 ns 0.30 ns 0.27 ns - 24 B
PredicateRoundTrip True True False 625.8 ns 1.17 ns 0.91 ns 0.0010 120 B
PredicateRoundTrip True True True 3,879.6 ns 8.79 ns 8.22 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 594.45 ns 1.012 ns 0.845 ns 0.0011 80 B
PredicateSustained False False True 613.35 ns 2.614 ns 2.317 ns 0.0011 80 B
PredicateSustained False True False 804.22 ns 0.891 ns 0.834 ns 0.0014 176 B
PredicateSustained False True True 4,136.59 ns 15.271 ns 14.284 ns 0.0100 768 B
PredicateSustained True False False 51.11 ns 1.014 ns 1.085 ns - -
PredicateSustained True False True 52.20 ns 1.041 ns 1.157 ns - -
PredicateSustained True True False 240.73 ns 0.670 ns 0.627 ns 0.0013 96 B
PredicateSustained True True True 3,718.36 ns 21.412 ns 16.717 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 543.5 ns 0.62 ns 0.55 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,188.9 ns 9.88 ns 8.75 ns 13.23 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,191.5 ns 1.69 ns 1.50 ns 2.19 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,203.4 ns 2.54 ns 2.25 ns 2.21 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,158.6 ns 28.18 ns 24.98 ns 16.85 0.05 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 550.5 ns 0.19 ns 0.18 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 579,425.0 ns 1,353.50 ns 1,266.06 ns 1,052.46 2.25 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,928.0 ns 6.08 ns 5.39 ns 3.50 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,939.5 ns 6.76 ns 6.33 ns 3.52 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 764,940.2 ns 1,645.70 ns 1,374.23 ns 1,389.42 2.44 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 544.1 ns 0.35 ns 0.31 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,196,405.4 ns 183,749.45 ns 171,879.35 ns 110,640.18 312.04 333.3333 222.2222 222.2222 16001049 B 46,514.68
InvokeIntArrayFixed 100000 60,418.0 ns 256.42 ns 214.12 ns 111.05 0.38 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,986.1 ns 346.93 ns 324.52 ns 112.09 0.58 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,725,188.6 ns 1,149,875.55 ns 1,019,334.73 ns 157,561.73 1,812.11 666.6667 500.0000 500.0000 27894040 B 81,087.33

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 RatioSD Gen0 Allocated Alloc Ratio
NewEmpty 1.142 μs 0.0150 μs 0.0141 μs 1.00 0.02 0.0038 360 B 1.00
NewWithSignature 1.137 μs 0.0115 μs 0.0108 μs 1.00 0.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.133 μs 0.0096 μs 0.0090 μs 0.99 0.01 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.5 ns 0.03 ns 0.03 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 155.2 ns 0.07 ns 0.06 ns 1.43 0.0002 24 B 1.00
GetInstanceStringField 118.2 ns 0.05 ns 0.04 ns 1.09 - - 0.00
SetInstanceStringField 726.7 ns 1.09 ns 0.97 ns 6.70 0.0038 288 B 12.00
GetStaticIntField 125.0 ns 0.03 ns 0.03 ns 1.15 0.0002 24 B 1.00
SetStaticIntField 150.6 ns 0.08 ns 0.07 ns 1.39 0.0002 24 B 1.00
GetStaticStringField 120.2 ns 0.03 ns 0.03 ns 1.11 - - 0.00
SetStaticStringField 718.2 ns 0.87 ns 0.77 ns 6.62 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 156.9 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 315.0 ns 0.14 ns 0.12 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 282.0 ns 0.19 ns 0.18 ns 0.90 - - NA
InvokeStaticWithFeedback 526.2 ns 0.43 ns 0.36 ns 1.67 0.0048 344 B NA
InvokeInstanceEmpty 328.6 ns 0.12 ns 0.11 ns 1.04 - - NA
InvokeInstanceWithFeedback 547.2 ns 0.37 ns 0.31 ns 1.74 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.328 μs 0.0013 μs 0.0011 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,028.7 ns 6.81 ns 6.37 ns - 104 B
PredicateRoundTrip False False True 1,043.7 ns 0.77 ns 0.60 ns - 104 B
PredicateRoundTrip False True False 1,254.2 ns 7.42 ns 6.94 ns 0.0019 200 B
PredicateRoundTrip False True True 4,610.1 ns 5.05 ns 4.21 ns 0.0076 792 B
PredicateRoundTrip True False False 439.7 ns 0.56 ns 0.49 ns - 24 B
PredicateRoundTrip True False True 438.0 ns 0.29 ns 0.24 ns - 24 B
PredicateRoundTrip True True False 641.4 ns 0.85 ns 0.66 ns 0.0010 120 B
PredicateRoundTrip True True True 3,848.0 ns 9.35 ns 8.28 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 605.20 ns 0.707 ns 0.552 ns 0.0011 80 B
PredicateSustained False False True 613.56 ns 4.963 ns 4.643 ns 0.0011 80 B
PredicateSustained False True False 801.02 ns 7.811 ns 7.306 ns 0.0014 176 B
PredicateSustained False True True 4,239.23 ns 82.709 ns 88.498 ns 0.0100 768 B
PredicateSustained True False False 50.85 ns 0.328 ns 0.307 ns - -
PredicateSustained True False True 50.37 ns 0.313 ns 0.293 ns - -
PredicateSustained True True False 239.67 ns 0.688 ns 0.644 ns 0.0013 96 B
PredicateSustained True True True 3,557.73 ns 18.847 ns 20.949 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 546.2 ns 0.83 ns 0.77 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,092.5 ns 4.70 ns 4.17 ns 12.98 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,176.5 ns 1.11 ns 0.98 ns 2.15 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,188.0 ns 0.68 ns 0.56 ns 2.17 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,623.6 ns 32.97 ns 30.84 ns 17.62 0.06 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 535.0 ns 0.26 ns 0.23 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 566,626.8 ns 1,050.94 ns 983.05 ns 1,059.04 1.83 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,759.7 ns 9.99 ns 9.35 ns 3.29 0.02 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,754.7 ns 9.05 ns 8.47 ns 3.28 0.02 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 753,114.0 ns 730.89 ns 647.91 ns 1,407.59 1.31 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 539.2 ns 0.28 ns 0.23 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,653,395.7 ns 228,675.67 ns 213,903.36 ns 110,642.69 386.96 333.3333 222.2222 222.2222 16001756 B 46,516.73
InvokeIntArrayFixed 100000 45,024.0 ns 410.00 ns 383.52 ns 83.51 0.69 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 44,899.0 ns 216.55 ns 191.97 ns 83.28 0.35 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 83,511,050.0 ns 781,799.21 ns 731,295.46 ns 154,892.90 1,315.30 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 Gen0 Allocated Alloc Ratio
NewEmpty 1.113 μs 0.0006 μs 0.0005 μs 1.112 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.125 μs 0.0126 μs 0.0118 μs 1.117 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.133 μs 0.0130 μs 0.0122 μs 1.123 μs 1.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 102.3 ns 0.02 ns 0.02 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 144.0 ns 0.07 ns 0.05 ns 1.41 0.0002 24 B 1.00
GetInstanceStringField 113.8 ns 0.03 ns 0.03 ns 1.11 - - 0.00
SetInstanceStringField 721.0 ns 0.36 ns 0.30 ns 7.05 0.0038 288 B 12.00
GetStaticIntField 127.0 ns 0.05 ns 0.04 ns 1.24 0.0002 24 B 1.00
SetStaticIntField 150.9 ns 0.05 ns 0.04 ns 1.47 0.0002 24 B 1.00
GetStaticStringField 112.9 ns 0.05 ns 0.05 ns 1.10 - - 0.00
SetStaticStringField 701.2 ns 0.88 ns 0.78 ns 6.86 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 153.5 ns 0.04 ns 0.03 ns 1.50 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.19 ns 0.17 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 269.4 ns 0.14 ns 0.13 ns 0.90 - - NA
InvokeStaticWithFeedback 528.4 ns 0.35 ns 0.31 ns 1.77 0.0048 344 B NA
InvokeInstanceEmpty 316.2 ns 0.46 ns 0.43 ns 1.06 - - NA
InvokeInstanceWithFeedback 545.2 ns 0.50 ns 0.42 ns 1.82 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.313 μs 0.0012 μs 0.0010 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,043.4 ns 5.34 ns 4.74 ns - 104 B
PredicateRoundTrip False False True 1,069.5 ns 7.43 ns 6.95 ns - 104 B
PredicateRoundTrip False True False 1,272.6 ns 6.58 ns 5.83 ns 0.0019 200 B
PredicateRoundTrip False True True 4,858.9 ns 15.91 ns 14.10 ns 0.0076 792 B
PredicateRoundTrip True False False 441.8 ns 0.13 ns 0.11 ns - 24 B
PredicateRoundTrip True False True 429.4 ns 0.13 ns 0.12 ns - 24 B
PredicateRoundTrip True True False 637.3 ns 0.25 ns 0.23 ns 0.0010 120 B
PredicateRoundTrip True True True 4,377.9 ns 34.15 ns 31.94 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 616.31 ns 0.699 ns 0.546 ns - 80 B
PredicateSustained False False True 620.33 ns 1.048 ns 0.980 ns - 80 B
PredicateSustained False True False 827.15 ns 6.936 ns 6.488 ns 0.0014 176 B
PredicateSustained False True True 4,193.18 ns 8.569 ns 7.597 ns 0.0100 768 B
PredicateSustained True False False 51.57 ns 0.025 ns 0.024 ns - -
PredicateSustained True False True 51.91 ns 0.020 ns 0.019 ns - -
PredicateSustained True True False 243.24 ns 0.414 ns 0.388 ns 0.0013 96 B
PredicateSustained True True True 3,601.91 ns 16.074 ns 15.036 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 530.9 ns 0.37 ns 0.32 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 6,984.5 ns 10.23 ns 9.57 ns 13.16 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,177.6 ns 2.11 ns 1.97 ns 2.22 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,171.0 ns 1.79 ns 1.49 ns 2.21 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,870.6 ns 18.85 ns 17.63 ns 16.71 0.03 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 521.2 ns 0.36 ns 0.32 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 581,293.7 ns 1,814.49 ns 1,697.27 ns 1,115.37 3.22 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,749.5 ns 8.10 ns 7.18 ns 3.36 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,763.4 ns 10.19 ns 9.53 ns 3.38 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 737,859.2 ns 1,010.17 ns 944.92 ns 1,415.78 1.94 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 528.7 ns 0.34 ns 0.30 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 58,871,772.2 ns 245,666.24 ns 229,796.35 ns 111,355.59 425.35 250.0000 125.0000 125.0000 16001273 B 46,515.33
InvokeIntArrayFixed 100000 44,848.3 ns 378.50 ns 354.05 ns 84.83 0.65 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 44,790.1 ns 479.38 ns 448.41 ns 84.72 0.82 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,024,721.8 ns 533,427.53 ns 498,968.44 ns 160,823.73 918.23 1000.0000 833.3333 833.3333 27894277 B 81,088.01

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.092 μs 0.0102 μs 0.0095 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.083 μs 0.0112 μs 0.0105 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.116 μs 0.0084 μs 0.0079 μs 1.02 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 103.7 ns 0.03 ns 0.02 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 146.5 ns 0.04 ns 0.03 ns 1.41 0.0002 24 B 1.00
GetInstanceStringField 117.3 ns 0.03 ns 0.03 ns 1.13 - - 0.00
SetInstanceStringField 719.1 ns 1.32 ns 1.24 ns 6.94 0.0038 288 B 12.00
GetStaticIntField 125.4 ns 0.02 ns 0.02 ns 1.21 0.0002 24 B 1.00
SetStaticIntField 149.8 ns 0.03 ns 0.03 ns 1.44 0.0002 24 B 1.00
GetStaticStringField 111.4 ns 0.02 ns 0.02 ns 1.07 - - 0.00
SetStaticStringField 715.2 ns 1.10 ns 0.92 ns 6.90 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 154.4 ns 0.05 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 306.9 ns 0.14 ns 0.13 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 273.9 ns 0.25 ns 0.23 ns 0.89 - - NA
InvokeStaticWithFeedback 523.1 ns 0.30 ns 0.23 ns 1.70 0.0048 344 B NA
InvokeInstanceEmpty 317.0 ns 0.19 ns 0.17 ns 1.03 - - NA
InvokeInstanceWithFeedback 534.5 ns 0.59 ns 0.52 ns 1.74 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.329 μs 0.0018 μs 0.0017 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,023.8 ns 4.28 ns 4.00 ns - 104 B
PredicateRoundTrip False False True 1,037.7 ns 5.50 ns 5.14 ns - 104 B
PredicateRoundTrip False True False 1,230.3 ns 5.05 ns 4.72 ns 0.0019 200 B
PredicateRoundTrip False True True 4,541.6 ns 11.23 ns 10.51 ns 0.0076 792 B
PredicateRoundTrip True False False 444.4 ns 0.46 ns 0.41 ns - 24 B
PredicateRoundTrip True False True 427.3 ns 0.82 ns 0.73 ns - 24 B
PredicateRoundTrip True True False 625.2 ns 0.98 ns 0.77 ns 0.0010 120 B
PredicateRoundTrip True True True 3,958.3 ns 12.26 ns 10.87 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 604.68 ns 0.941 ns 0.786 ns 0.0011 80 B
PredicateSustained False False True 604.95 ns 0.501 ns 0.444 ns 0.0011 80 B
PredicateSustained False True False 799.53 ns 0.575 ns 0.481 ns 0.0014 176 B
PredicateSustained False True True 4,317.30 ns 25.104 ns 23.482 ns 0.0100 768 B
PredicateSustained True False False 51.92 ns 1.023 ns 1.095 ns - -
PredicateSustained True False True 52.31 ns 1.022 ns 1.255 ns - -
PredicateSustained True True False 241.45 ns 0.365 ns 0.341 ns 0.0013 96 B
PredicateSustained True True True 3,478.80 ns 16.078 ns 15.039 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 530.4 ns 0.43 ns 0.38 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,062.7 ns 17.26 ns 16.15 ns 13.31 0.03 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,168.2 ns 1.31 ns 1.10 ns 2.20 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,180.2 ns 0.60 ns 0.47 ns 2.22 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,417.9 ns 43.95 ns 41.11 ns 17.75 0.08 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 518.6 ns 0.34 ns 0.27 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 565,813.7 ns 999.99 ns 935.39 ns 1,091.02 1.83 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,661.7 ns 7.45 ns 6.97 ns 3.20 0.01 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,742.7 ns 7.57 ns 7.08 ns 3.36 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 757,849.0 ns 2,593.75 ns 2,165.90 ns 1,461.31 4.09 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 521.4 ns 0.24 ns 0.21 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,412,626.0 ns 334,902.34 ns 313,267.86 ns 115,858.92 583.55 333.3333 222.2222 222.2222 16000924 B 46,514.31
InvokeIntArrayFixed 100000 44,602.0 ns 372.78 ns 348.70 ns 85.54 0.65 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 44,835.6 ns 406.63 ns 339.56 ns 85.99 0.63 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,106,664.0 ns 1,459,700.54 ns 1,365,404.79 ns 163,216.98 2,536.62 666.6667 500.0000 500.0000 27894040 B 81,087.33

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.115 μs 0.0112 μs 0.0105 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.133 μs 0.0096 μs 0.0089 μs 1.02 0.0038 360 B 1.00
DeclaredNewEmpty 1.131 μs 0.0102 μs 0.0096 μs 1.01 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 Gen0 Allocated Alloc Ratio
GetInstanceIntField 104.6 ns 0.03 ns 0.02 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 151.2 ns 0.04 ns 0.04 ns 1.45 0.0002 24 B 1.00
GetInstanceStringField 115.2 ns 0.01 ns 0.01 ns 1.10 - - 0.00
SetInstanceStringField 719.1 ns 1.36 ns 1.27 ns 6.88 0.0038 288 B 12.00
GetStaticIntField 126.8 ns 0.05 ns 0.04 ns 1.21 0.0002 24 B 1.00
SetStaticIntField 154.9 ns 0.03 ns 0.03 ns 1.48 0.0002 24 B 1.00
GetStaticStringField 118.4 ns 0.02 ns 0.02 ns 1.13 - - 0.00
SetStaticStringField 712.1 ns 1.56 ns 1.46 ns 6.81 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 154.8 ns 0.04 ns 0.04 ns 1.48 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 302.8 ns 0.14 ns 0.13 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 276.7 ns 0.10 ns 0.10 ns 0.91 - - NA
InvokeStaticWithFeedback 527.5 ns 0.34 ns 0.30 ns 1.74 0.0048 344 B NA
InvokeInstanceEmpty 315.7 ns 0.23 ns 0.20 ns 1.04 - - NA
InvokeInstanceWithFeedback 528.1 ns 0.34 ns 0.30 ns 1.74 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.308 μs 0.0020 μs 0.0018 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,020.7 ns 4.63 ns 4.11 ns - 104 B
PredicateRoundTrip False False True 1,018.2 ns 5.89 ns 5.51 ns - 104 B
PredicateRoundTrip False True False 1,244.8 ns 6.57 ns 6.15 ns 0.0019 200 B
PredicateRoundTrip False True True 5,291.5 ns 64.79 ns 54.11 ns 0.0076 792 B
PredicateRoundTrip True False False 421.5 ns 0.44 ns 0.41 ns - 24 B
PredicateRoundTrip True False True 431.7 ns 0.37 ns 0.33 ns - 24 B
PredicateRoundTrip True True False 618.1 ns 0.97 ns 0.76 ns 0.0010 120 B
PredicateRoundTrip True True True 3,787.2 ns 7.71 ns 6.44 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 610.15 ns 0.489 ns 0.382 ns 0.0011 80 B
PredicateSustained False False True 606.78 ns 0.446 ns 0.348 ns 0.0011 80 B
PredicateSustained False True False 795.70 ns 3.446 ns 2.877 ns 0.0014 176 B
PredicateSustained False True True 4,241.55 ns 74.262 ns 82.542 ns 0.0100 768 B
PredicateSustained True False False 51.19 ns 0.473 ns 0.442 ns - -
PredicateSustained True False True 51.53 ns 0.999 ns 1.367 ns - -
PredicateSustained True True False 239.28 ns 0.308 ns 0.273 ns 0.0013 96 B
PredicateSustained True True True 3,390.34 ns 44.550 ns 41.672 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 535.8 ns 0.47 ns 0.41 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,154.5 ns 21.45 ns 17.91 ns 13.35 0.03 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,196.2 ns 0.86 ns 0.67 ns 2.23 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,203.2 ns 3.12 ns 2.92 ns 2.25 0.01 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,126.5 ns 24.57 ns 22.99 ns 17.03 0.04 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 524.7 ns 0.98 ns 0.91 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 572,152.4 ns 1,791.72 ns 1,675.97 ns 1,090.39 3.60 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,940.2 ns 6.65 ns 6.22 ns 3.70 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,917.8 ns 12.92 ns 12.09 ns 3.65 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 763,213.6 ns 561.57 ns 468.94 ns 1,454.51 2.60 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 523.6 ns 1.06 ns 0.99 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,229,809.1 ns 289,511.46 ns 241,755.18 ns 113,114.31 490.95 250.0000 125.0000 125.0000 16000617 B 46,513.42
InvokeIntArrayFixed 100000 60,210.5 ns 695.22 ns 616.29 ns 114.99 1.16 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,467.6 ns 506.14 ns 473.44 ns 115.48 0.90 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 86,690,739.1 ns 533,503.43 ns 472,936.90 ns 165,557.90 923.98 1000.0000 833.3333 833.3333 27894277 B 81,088.01

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.120 μs 0.0016 μs 0.0013 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.135 μs 0.0017 μs 0.0015 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.138 μs 0.0077 μs 0.0068 μs 1.02 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 Gen0 Allocated Alloc Ratio
GetInstanceIntField 108.4 ns 0.04 ns 0.03 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 142.6 ns 0.06 ns 0.05 ns 1.31 0.0002 24 B 1.00
GetInstanceStringField 121.1 ns 0.04 ns 0.04 ns 1.12 - - 0.00
SetInstanceStringField 731.6 ns 1.72 ns 1.61 ns 6.75 0.0038 288 B 12.00
GetStaticIntField 126.7 ns 0.07 ns 0.06 ns 1.17 0.0002 24 B 1.00
SetStaticIntField 149.2 ns 0.05 ns 0.05 ns 1.38 0.0002 24 B 1.00
GetStaticStringField 116.1 ns 0.04 ns 0.04 ns 1.07 - - 0.00
SetStaticStringField 722.0 ns 1.61 ns 1.51 ns 6.66 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 153.4 ns 0.04 ns 0.04 ns 1.41 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 384.1 ns 3.60 ns 3.37 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 347.8 ns 0.18 ns 0.17 ns 0.91 - - NA
InvokeStaticWithFeedback 539.3 ns 0.56 ns 0.49 ns 1.40 0.0048 344 B NA
InvokeInstanceEmpty 384.3 ns 0.17 ns 0.16 ns 1.00 - - NA
InvokeInstanceWithFeedback 529.9 ns 0.59 ns 0.55 ns 1.38 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.306 μs 0.0026 μs 0.0023 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,044.5 ns 11.81 ns 11.05 ns - 104 B
PredicateRoundTrip False False True 1,046.0 ns 4.28 ns 4.01 ns - 104 B
PredicateRoundTrip False True False 1,237.8 ns 6.25 ns 5.85 ns 0.0019 200 B
PredicateRoundTrip False True True 4,620.2 ns 8.30 ns 7.36 ns 0.0076 792 B
PredicateRoundTrip True False False 441.2 ns 2.39 ns 2.24 ns - 24 B
PredicateRoundTrip True False True 438.1 ns 0.95 ns 0.89 ns - 24 B
PredicateRoundTrip True True False 636.4 ns 0.34 ns 0.26 ns 0.0010 120 B
PredicateRoundTrip True True True 3,931.7 ns 7.99 ns 7.48 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 622.62 ns 0.705 ns 0.625 ns - 80 B
PredicateSustained False False True 620.85 ns 0.994 ns 0.881 ns - 80 B
PredicateSustained False True False 799.97 ns 7.411 ns 6.933 ns 0.0014 176 B
PredicateSustained False True True 4,176.68 ns 12.318 ns 11.523 ns 0.0100 768 B
PredicateSustained True False False 58.73 ns 1.145 ns 1.071 ns - -
PredicateSustained True False True 58.96 ns 1.138 ns 1.217 ns - -
PredicateSustained True True False 251.88 ns 1.564 ns 1.463 ns 0.0013 96 B
PredicateSustained True True True 3,556.32 ns 10.279 ns 9.615 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 542.1 ns 0.56 ns 0.49 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,181.2 ns 9.47 ns 8.40 ns 13.25 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,173.5 ns 1.24 ns 1.04 ns 2.16 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,182.4 ns 0.69 ns 0.54 ns 2.18 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,270.4 ns 18.40 ns 17.21 ns 17.10 0.03 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 530.0 ns 1.50 ns 1.40 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 570,268.8 ns 741.15 ns 693.27 ns 1,076.00 3.02 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,891.1 ns 2.85 ns 2.38 ns 3.57 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,888.1 ns 8.18 ns 7.25 ns 3.56 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 771,097.5 ns 1,625.18 ns 1,357.10 ns 1,454.93 4.46 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 534.0 ns 0.29 ns 0.25 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,501,071.0 ns 266,032.55 ns 248,847.01 ns 111,427.19 454.08 333.3333 222.2222 222.2222 16000788 B 46,513.92
InvokeIntArrayFixed 100000 60,996.6 ns 356.91 ns 316.39 ns 114.23 0.57 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 61,700.2 ns 279.65 ns 247.91 ns 115.55 0.45 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 84,816,214.0 ns 777,414.54 ns 727,194.04 ns 158,834.66 1,320.91 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 Ratio Gen0 Allocated Alloc Ratio
NewEmpty 1.144 μs 0.0126 μs 0.0118 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.146 μs 0.0007 μs 0.0005 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.153 μs 0.0138 μs 0.0130 μs 1.01 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 Gen0 Allocated Alloc Ratio
GetInstanceIntField 101.5 ns 0.05 ns 0.04 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 142.8 ns 0.05 ns 0.05 ns 1.41 0.0002 24 B 1.00
GetInstanceStringField 113.9 ns 0.03 ns 0.02 ns 1.12 - - 0.00
SetInstanceStringField 722.3 ns 0.74 ns 0.66 ns 7.11 0.0038 288 B 12.00
GetStaticIntField 115.8 ns 0.02 ns 0.02 ns 1.14 0.0004 24 B 1.00
SetStaticIntField 136.2 ns 0.11 ns 0.10 ns 1.34 0.0002 24 B 1.00
GetStaticStringField 100.1 ns 0.02 ns 0.01 ns 0.99 - - 0.00
SetStaticStringField 717.2 ns 1.04 ns 0.92 ns 7.06 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 153.1 ns 0.06 ns 0.05 ns 1.51 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 304.6 ns 0.21 ns 0.20 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 265.2 ns 0.13 ns 0.12 ns 0.87 - - NA
InvokeStaticWithFeedback 536.5 ns 0.55 ns 0.49 ns 1.76 0.0048 344 B NA
InvokeInstanceEmpty 308.0 ns 0.10 ns 0.09 ns 1.01 - - NA
InvokeInstanceWithFeedback 533.4 ns 0.30 ns 0.26 ns 1.75 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.334 μs 0.0032 μs 0.0028 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,025.9 ns 5.56 ns 5.20 ns - 104 B
PredicateRoundTrip False False True 1,015.0 ns 7.17 ns 6.71 ns - 104 B
PredicateRoundTrip False True False 1,220.4 ns 7.36 ns 6.89 ns 0.0019 200 B
PredicateRoundTrip False True True 4,712.2 ns 12.37 ns 10.96 ns 0.0076 792 B
PredicateRoundTrip True False False 426.2 ns 0.72 ns 0.67 ns - 24 B
PredicateRoundTrip True False True 425.3 ns 0.59 ns 0.55 ns - 24 B
PredicateRoundTrip True True False 625.5 ns 1.23 ns 0.96 ns 0.0010 120 B
PredicateRoundTrip True True True 4,044.0 ns 17.84 ns 16.69 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 591.21 ns 5.544 ns 5.186 ns 0.0011 80 B
PredicateSustained False False True 592.49 ns 1.280 ns 1.134 ns 0.0011 80 B
PredicateSustained False True False 793.94 ns 7.643 ns 7.149 ns 0.0014 176 B
PredicateSustained False True True 4,174.74 ns 18.523 ns 17.327 ns 0.0100 768 B
PredicateSustained True False False 51.35 ns 1.008 ns 0.990 ns - -
PredicateSustained True False True 51.61 ns 0.951 ns 0.889 ns - -
PredicateSustained True True False 243.04 ns 0.459 ns 0.429 ns 0.0013 96 B
PredicateSustained True True True 3,873.46 ns 36.245 ns 33.904 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 517.0 ns 0.88 ns 0.82 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,055.4 ns 11.76 ns 11.00 ns 13.65 0.03 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,167.8 ns 1.64 ns 1.54 ns 2.26 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,183.1 ns 1.75 ns 1.63 ns 2.29 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,172.3 ns 49.41 ns 43.80 ns 17.74 0.09 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 529.3 ns 0.76 ns 0.71 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 563,276.7 ns 1,415.34 ns 1,323.91 ns 1,064.21 2.79 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,881.2 ns 7.67 ns 7.17 ns 3.55 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,876.3 ns 8.56 ns 8.00 ns 3.54 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 746,949.1 ns 1,481.11 ns 1,156.35 ns 1,411.23 2.78 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 526.1 ns 0.77 ns 0.68 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,361,440.0 ns 228,931.64 ns 202,941.94 ns 112,840.41 398.30 250.0000 125.0000 125.0000 16000537 B 46,513.19
InvokeIntArrayFixed 100000 60,923.2 ns 1,026.02 ns 959.74 ns 115.81 1.77 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,793.6 ns 599.63 ns 560.90 ns 115.56 1.04 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 86,337,537.8 ns 268,602.38 ns 251,250.83 ns 164,119.39 505.64 1142.8571 1000.0000 857.1429 27895032 B 81,090.21

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.114 μs 0.0071 μs 0.0067 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.110 μs 0.0085 μs 0.0080 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.133 μs 0.0080 μs 0.0074 μs 1.02 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 111.8 ns 0.02 ns 0.02 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 147.8 ns 0.04 ns 0.04 ns 1.32 0.0002 24 B 1.00
GetInstanceStringField 116.5 ns 0.02 ns 0.02 ns 1.04 - - 0.00
SetInstanceStringField 729.2 ns 0.90 ns 0.84 ns 6.52 0.0038 288 B 12.00
GetStaticIntField 126.3 ns 0.08 ns 0.07 ns 1.13 0.0002 24 B 1.00
SetStaticIntField 143.3 ns 0.03 ns 0.03 ns 1.28 0.0002 24 B 1.00
GetStaticStringField 119.6 ns 0.03 ns 0.02 ns 1.07 - - 0.00
SetStaticStringField 720.4 ns 1.63 ns 1.53 ns 6.44 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 164.1 ns 0.04 ns 0.04 ns 1.47 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 305.8 ns 0.17 ns 0.15 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 275.6 ns 0.11 ns 0.10 ns 0.90 - - NA
InvokeStaticWithFeedback 536.0 ns 0.32 ns 0.28 ns 1.75 0.0048 344 B NA
InvokeInstanceEmpty 312.4 ns 0.08 ns 0.07 ns 1.02 - - NA
InvokeInstanceWithFeedback 533.7 ns 0.75 ns 0.67 ns 1.74 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.338 μs 0.0026 μs 0.0024 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 995.2 ns 5.69 ns 5.32 ns - 104 B
PredicateRoundTrip False False True 1,007.0 ns 7.88 ns 7.37 ns - 104 B
PredicateRoundTrip False True False 1,228.3 ns 6.13 ns 5.73 ns 0.0019 200 B
PredicateRoundTrip False True True 4,501.2 ns 4.99 ns 3.90 ns 0.0076 792 B
PredicateRoundTrip True False False 417.1 ns 2.45 ns 2.29 ns - 24 B
PredicateRoundTrip True False True 433.3 ns 0.34 ns 0.32 ns - 24 B
PredicateRoundTrip True True False 627.3 ns 1.16 ns 0.90 ns 0.0010 120 B
PredicateRoundTrip True True True 3,763.2 ns 11.90 ns 10.55 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 591.74 ns 0.938 ns 0.733 ns 0.0011 80 B
PredicateSustained False False True 593.40 ns 0.480 ns 0.426 ns 0.0011 80 B
PredicateSustained False True False 777.42 ns 5.456 ns 5.103 ns 0.0014 176 B
PredicateSustained False True True 3,977.30 ns 4.883 ns 3.813 ns 0.0100 768 B
PredicateSustained True False False 54.23 ns 0.961 ns 0.899 ns - -
PredicateSustained True False True 52.94 ns 1.004 ns 1.074 ns - -
PredicateSustained True True False 241.68 ns 0.357 ns 0.316 ns 0.0013 96 B
PredicateSustained True True True 3,430.91 ns 15.559 ns 14.554 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 537.5 ns 0.41 ns 0.34 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,097.4 ns 10.02 ns 9.38 ns 13.20 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,191.3 ns 1.26 ns 1.11 ns 2.22 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,196.5 ns 2.51 ns 2.35 ns 2.23 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,318.4 ns 30.99 ns 28.99 ns 17.34 0.05 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 535.0 ns 0.65 ns 0.55 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 570,489.3 ns 1,976.85 ns 1,849.15 ns 1,066.24 3.51 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,907.0 ns 7.36 ns 6.52 ns 3.56 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,926.6 ns 9.59 ns 8.97 ns 3.60 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 757,442.7 ns 951.70 ns 743.03 ns 1,415.66 1.93 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 534.0 ns 0.68 ns 0.53 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,240,132.3 ns 238,753.32 ns 223,330.01 ns 112,807.48 419.36 333.3333 222.2222 222.2222 16001230 B 46,515.20
InvokeIntArrayFixed 100000 61,164.0 ns 373.92 ns 349.76 ns 114.54 0.64 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 61,648.5 ns 656.34 ns 613.94 ns 115.44 1.12 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 83,750,892.4 ns 762,886.59 ns 713,604.59 ns 156,834.43 1,303.32 666.6667 500.0000 500.0000 27894040 B 81,087.33

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
NewEmpty 1.120 μs 0.0096 μs 0.0090 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.133 μs 0.0102 μs 0.0095 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.146 μs 0.0064 μs 0.0060 μs 1.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 108.8 ns 0.06 ns 0.05 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 149.5 ns 0.04 ns 0.03 ns 1.37 0.00 0.0002 24 B 1.00
GetInstanceStringField 116.6 ns 0.03 ns 0.02 ns 1.07 0.00 - - 0.00
SetInstanceStringField 736.2 ns 2.30 ns 2.15 ns 6.77 0.02 0.0038 288 B 12.00
GetStaticIntField 126.1 ns 0.14 ns 0.13 ns 1.16 0.00 0.0002 24 B 1.00
SetStaticIntField 145.5 ns 0.05 ns 0.05 ns 1.34 0.00 0.0002 24 B 1.00
GetStaticStringField 115.6 ns 0.03 ns 0.02 ns 1.06 0.00 - - 0.00
SetStaticStringField 721.4 ns 1.58 ns 1.48 ns 6.63 0.01 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 150.6 ns 0.06 ns 0.05 ns 1.38 0.00 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 302.9 ns 0.11 ns 0.11 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 270.8 ns 0.13 ns 0.12 ns 0.89 - - NA
InvokeStaticWithFeedback 530.8 ns 0.33 ns 0.29 ns 1.75 0.0048 344 B NA
InvokeInstanceEmpty 312.7 ns 0.31 ns 0.26 ns 1.03 - - NA
InvokeInstanceWithFeedback 548.0 ns 0.59 ns 0.53 ns 1.81 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.344 μs 0.0026 μs 0.0023 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,040.4 ns 0.79 ns 0.66 ns - 104 B
PredicateRoundTrip False False True 1,021.3 ns 3.77 ns 3.34 ns - 104 B
PredicateRoundTrip False True False 1,243.3 ns 1.59 ns 1.24 ns 0.0019 200 B
PredicateRoundTrip False True True 4,397.2 ns 8.59 ns 6.71 ns 0.0076 792 B
PredicateRoundTrip True False False 433.1 ns 0.38 ns 0.34 ns - 24 B
PredicateRoundTrip True False True 431.6 ns 0.50 ns 0.47 ns - 24 B
PredicateRoundTrip True True False 623.8 ns 4.37 ns 3.88 ns 0.0010 120 B
PredicateRoundTrip True True True 3,731.3 ns 5.99 ns 5.31 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 586.76 ns 0.742 ns 0.579 ns 0.0011 80 B
PredicateSustained False False True 588.72 ns 1.245 ns 0.972 ns 0.0011 80 B
PredicateSustained False True False 786.12 ns 5.102 ns 4.772 ns 0.0014 176 B
PredicateSustained False True True 4,205.14 ns 23.630 ns 29.019 ns 0.0100 768 B
PredicateSustained True False False 49.41 ns 0.294 ns 0.275 ns - -
PredicateSustained True False True 49.05 ns 0.332 ns 0.311 ns - -
PredicateSustained True True False 238.46 ns 0.585 ns 0.547 ns 0.0013 96 B
PredicateSustained True True True 3,671.33 ns 61.878 ns 60.772 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 546.1 ns 0.35 ns 0.31 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,240.6 ns 7.53 ns 6.68 ns 13.26 0.01 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,190.5 ns 1.56 ns 1.46 ns 2.18 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,183.8 ns 0.84 ns 0.66 ns 2.17 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,143.0 ns 21.10 ns 19.73 ns 16.74 0.04 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 542.7 ns 0.55 ns 0.49 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 575,215.2 ns 1,176.86 ns 1,043.25 ns 1,059.84 2.07 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,898.3 ns 1.25 ns 1.05 ns 3.50 0.00 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,886.8 ns 6.95 ns 6.16 ns 3.48 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 762,584.2 ns 820.17 ns 640.34 ns 1,405.06 1.67 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 557.2 ns 0.41 ns 0.35 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,232,834.3 ns 185,885.67 ns 164,782.81 ns 106,310.40 292.75 250.0000 125.0000 125.0000 16000933 B 46,514.34
InvokeIntArrayFixed 100000 60,995.5 ns 348.81 ns 326.27 ns 109.47 0.57 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 61,037.7 ns 280.22 ns 234.00 ns 109.55 0.41 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 86,447,874.4 ns 612,139.88 ns 542,646.06 ns 155,155.63 945.65 1000.0000 833.3333 833.3333 27895431 B 81,091.37

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.151 μs 0.0120 μs 0.0113 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.147 μs 0.0113 μs 0.0106 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.161 μs 0.0111 μs 0.0104 μs 1.01 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 107.7 ns 0.03 ns 0.02 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 148.7 ns 0.06 ns 0.05 ns 1.38 0.0002 24 B 1.00
GetInstanceStringField 114.4 ns 0.04 ns 0.04 ns 1.06 - - 0.00
SetInstanceStringField 727.0 ns 1.38 ns 1.23 ns 6.75 0.0038 288 B 12.00
GetStaticIntField 124.4 ns 0.03 ns 0.02 ns 1.16 0.0002 24 B 1.00
SetStaticIntField 147.0 ns 0.04 ns 0.03 ns 1.36 0.0002 24 B 1.00
GetStaticStringField 114.6 ns 0.08 ns 0.07 ns 1.06 - - 0.00
SetStaticStringField 705.8 ns 0.98 ns 0.82 ns 6.55 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 152.4 ns 0.04 ns 0.03 ns 1.42 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 296.9 ns 0.20 ns 0.19 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 268.2 ns 0.13 ns 0.12 ns 0.90 - - NA
InvokeStaticWithFeedback 555.7 ns 0.56 ns 0.50 ns 1.87 0.0048 344 B NA
InvokeInstanceEmpty 305.9 ns 0.17 ns 0.16 ns 1.03 - - NA
InvokeInstanceWithFeedback 545.1 ns 0.33 ns 0.30 ns 1.84 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.319 μs 0.0014 μs 0.0011 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,040.6 ns 6.06 ns 5.38 ns - 104 B
PredicateRoundTrip False False True 1,059.4 ns 5.49 ns 5.14 ns - 104 B
PredicateRoundTrip False True False 1,243.7 ns 6.40 ns 5.98 ns 0.0019 200 B
PredicateRoundTrip False True True 5,153.9 ns 29.79 ns 26.41 ns 0.0076 792 B
PredicateRoundTrip True False False 434.1 ns 0.30 ns 0.27 ns - 24 B
PredicateRoundTrip True False True 425.8 ns 0.27 ns 0.24 ns - 24 B
PredicateRoundTrip True True False 633.7 ns 1.18 ns 0.92 ns 0.0010 120 B
PredicateRoundTrip True True True 3,913.3 ns 11.52 ns 10.77 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 616.78 ns 0.960 ns 0.802 ns - 80 B
PredicateSustained False False True 634.64 ns 1.151 ns 0.962 ns - 80 B
PredicateSustained False True False 813.37 ns 0.776 ns 0.606 ns 0.0014 176 B
PredicateSustained False True True 4,394.94 ns 25.772 ns 22.846 ns 0.0100 768 B
PredicateSustained True False False 51.96 ns 0.984 ns 0.967 ns - -
PredicateSustained True False True 51.96 ns 0.927 ns 0.910 ns - -
PredicateSustained True True False 242.02 ns 0.360 ns 0.319 ns 0.0013 96 B
PredicateSustained True True True 3,683.16 ns 11.552 ns 10.806 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 527.0 ns 0.50 ns 0.45 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,123.8 ns 8.49 ns 7.52 ns 13.52 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,181.2 ns 2.29 ns 2.14 ns 2.24 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,182.8 ns 1.23 ns 1.03 ns 2.24 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,945.3 ns 16.59 ns 14.71 ns 16.97 0.03 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 530.1 ns 0.29 ns 0.26 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 568,504.3 ns 1,019.26 ns 953.41 ns 1,072.52 1.81 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,887.6 ns 9.27 ns 8.68 ns 3.56 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,911.8 ns 8.80 ns 8.23 ns 3.61 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 750,327.1 ns 894.80 ns 793.22 ns 1,415.55 1.59 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 543.6 ns 0.12 ns 0.11 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 58,617,613.0 ns 234,627.85 ns 219,471.04 ns 107,834.19 391.53 250.0000 125.0000 125.0000 16001086 B 46,514.78
InvokeIntArrayFixed 100000 59,614.3 ns 305.80 ns 271.08 ns 109.67 0.48 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 59,390.0 ns 209.31 ns 185.55 ns 109.26 0.33 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,840,335.4 ns 599,034.23 ns 560,336.99 ns 157,913.69 998.69 1000.0000 833.3333 833.3333 27894277 B 81,088.01

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
NewEmpty 1.122 μs 0.0093 μs 0.0087 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.112 μs 0.0106 μs 0.0099 μs 0.99 0.0038 360 B 1.00
DeclaredNewEmpty 1.119 μs 0.0086 μs 0.0076 μs 1.00 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 104.9 ns 0.03 ns 0.03 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 152.4 ns 0.04 ns 0.04 ns 1.45 0.0002 24 B 1.00
GetInstanceStringField 116.9 ns 0.03 ns 0.03 ns 1.11 - - 0.00
SetInstanceStringField 724.9 ns 1.18 ns 1.11 ns 6.91 0.0038 288 B 12.00
GetStaticIntField 126.0 ns 0.03 ns 0.02 ns 1.20 0.0002 24 B 1.00
SetStaticIntField 151.3 ns 0.04 ns 0.03 ns 1.44 0.0002 24 B 1.00
GetStaticStringField 120.6 ns 0.03 ns 0.03 ns 1.15 - - 0.00
SetStaticStringField 730.2 ns 1.04 ns 0.97 ns 6.96 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 155.6 ns 0.04 ns 0.03 ns 1.48 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 305.4 ns 0.16 ns 0.15 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 272.9 ns 0.28 ns 0.25 ns 0.89 - - NA
InvokeStaticWithFeedback 528.4 ns 0.26 ns 0.23 ns 1.73 0.0048 344 B NA
InvokeInstanceEmpty 330.0 ns 0.18 ns 0.17 ns 1.08 - - NA
InvokeInstanceWithFeedback 543.0 ns 0.27 ns 0.21 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.350 μs 0.0020 μs 0.0019 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,025.5 ns 5.40 ns 5.06 ns - 104 B
PredicateRoundTrip False False True 1,008.6 ns 6.15 ns 5.76 ns - 104 B
PredicateRoundTrip False True False 1,221.1 ns 5.94 ns 5.56 ns 0.0019 200 B
PredicateRoundTrip False True True 4,505.1 ns 10.69 ns 10.00 ns 0.0076 792 B
PredicateRoundTrip True False False 442.0 ns 4.09 ns 3.82 ns - 24 B
PredicateRoundTrip True False True 427.6 ns 0.31 ns 0.27 ns - 24 B
PredicateRoundTrip True True False 636.5 ns 1.02 ns 0.80 ns 0.0010 120 B
PredicateRoundTrip True True True 3,924.1 ns 18.05 ns 16.89 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 610.93 ns 0.439 ns 0.389 ns 0.0011 80 B
PredicateSustained False False True 602.44 ns 0.382 ns 0.339 ns 0.0011 80 B
PredicateSustained False True False 788.88 ns 6.008 ns 5.620 ns 0.0014 176 B
PredicateSustained False True True 4,196.27 ns 27.686 ns 25.897 ns 0.0100 768 B
PredicateSustained True False False 52.38 ns 1.022 ns 1.050 ns - -
PredicateSustained True False True 52.40 ns 1.023 ns 1.256 ns - -
PredicateSustained True True False 242.42 ns 0.440 ns 0.412 ns 0.0013 96 B
PredicateSustained True True True 3,404.67 ns 25.993 ns 24.314 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 546.5 ns 0.39 ns 0.35 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,173.8 ns 8.62 ns 7.64 ns 13.13 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,185.7 ns 1.62 ns 1.43 ns 2.17 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,198.7 ns 1.87 ns 1.75 ns 2.19 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,364.8 ns 41.32 ns 38.65 ns 17.14 0.07 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 544.0 ns 0.51 ns 0.45 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 580,073.7 ns 1,289.81 ns 1,206.49 ns 1,066.22 2.31 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,914.9 ns 5.61 ns 5.25 ns 3.52 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,906.6 ns 6.85 ns 6.40 ns 3.50 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 748,973.0 ns 1,595.84 ns 1,332.60 ns 1,376.67 2.61 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 529.2 ns 0.25 ns 0.22 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,794,591.4 ns 163,757.40 ns 145,166.67 ns 114,873.39 269.13 333.3333 222.2222 222.2222 16001608 B 46,516.30
InvokeIntArrayFixed 100000 61,212.0 ns 201.10 ns 188.11 ns 115.66 0.35 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,982.9 ns 231.04 ns 204.81 ns 115.23 0.38 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 83,828,541.3 ns 469,682.96 ns 392,206.54 ns 158,396.80 716.91 666.6667 500.0000 500.0000 27894040 B 81,087.33

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.105 μs 0.0090 μs 0.0084 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.117 μs 0.0097 μs 0.0091 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.130 μs 0.0074 μs 0.0069 μs 1.02 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 108.5 ns 0.03 ns 0.03 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 152.9 ns 0.04 ns 0.04 ns 1.41 0.00 0.0002 24 B 1.00
GetInstanceStringField 115.5 ns 0.02 ns 0.01 ns 1.06 0.00 - - 0.00
SetInstanceStringField 726.4 ns 0.77 ns 0.72 ns 6.69 0.01 0.0038 288 B 12.00
GetStaticIntField 125.7 ns 0.05 ns 0.04 ns 1.16 0.00 0.0002 24 B 1.00
SetStaticIntField 146.5 ns 0.03 ns 0.03 ns 1.35 0.00 0.0002 24 B 1.00
GetStaticStringField 117.2 ns 0.07 ns 0.07 ns 1.08 0.00 - - 0.00
SetStaticStringField 720.9 ns 6.50 ns 5.76 ns 6.64 0.05 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 154.8 ns 0.07 ns 0.06 ns 1.43 0.00 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 306.1 ns 0.11 ns 0.10 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 272.3 ns 0.09 ns 0.09 ns 0.89 - - NA
InvokeStaticWithFeedback 523.1 ns 0.27 ns 0.24 ns 1.71 0.0048 344 B NA
InvokeInstanceEmpty 313.0 ns 0.15 ns 0.14 ns 1.02 - - NA
InvokeInstanceWithFeedback 529.7 ns 0.74 ns 0.70 ns 1.73 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.334 μs 0.0011 μs 0.0009 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,028.2 ns 5.00 ns 4.43 ns - 104 B
PredicateRoundTrip False False True 1,029.7 ns 8.09 ns 7.56 ns - 104 B
PredicateRoundTrip False True False 1,244.5 ns 7.07 ns 6.61 ns 0.0019 200 B
PredicateRoundTrip False True True 4,768.3 ns 13.98 ns 11.67 ns 0.0076 792 B
PredicateRoundTrip True False False 433.7 ns 0.34 ns 0.30 ns - 24 B
PredicateRoundTrip True False True 426.3 ns 0.35 ns 0.31 ns - 24 B
PredicateRoundTrip True True False 627.4 ns 4.20 ns 3.72 ns 0.0010 120 B
PredicateRoundTrip True True True 4,101.1 ns 35.64 ns 27.83 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 605.19 ns 0.954 ns 0.745 ns 0.0011 80 B
PredicateSustained False False True 599.69 ns 0.721 ns 0.563 ns 0.0011 80 B
PredicateSustained False True False 795.21 ns 5.821 ns 5.445 ns 0.0014 176 B
PredicateSustained False True True 4,142.15 ns 53.212 ns 49.775 ns 0.0100 768 B
PredicateSustained True False False 48.51 ns 0.928 ns 1.069 ns - -
PredicateSustained True False True 50.60 ns 0.297 ns 0.278 ns - -
PredicateSustained True True False 241.14 ns 0.364 ns 0.340 ns 0.0013 96 B
PredicateSustained True True True 3,403.29 ns 14.156 ns 11.821 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 541.5 ns 0.44 ns 0.39 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,442.2 ns 13.74 ns 12.18 ns 13.74 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,243.8 ns 1.92 ns 1.80 ns 2.30 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,221.2 ns 1.75 ns 1.55 ns 2.25 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,254.5 ns 15.75 ns 13.96 ns 17.09 0.03 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 542.8 ns 0.21 ns 0.17 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 599,827.3 ns 1,164.24 ns 1,089.03 ns 1,105.06 1.97 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,960.0 ns 9.41 ns 8.80 ns 3.61 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,948.9 ns 4.33 ns 4.05 ns 3.59 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 775,047.5 ns 666.21 ns 556.31 ns 1,427.87 1.08 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 550.1 ns 0.47 ns 0.42 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 61,847,868.7 ns 377,225.44 ns 352,856.91 ns 112,422.75 626.56 250.0000 125.0000 125.0000 16001015 B 46,514.58
InvokeIntArrayFixed 100000 60,336.3 ns 189.58 ns 168.06 ns 109.68 0.31 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,469.3 ns 209.77 ns 185.95 ns 109.92 0.34 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 88,150,179.1 ns 559,245.31 ns 495,756.40 ns 160,233.26 878.46 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.169 μs 0.0009 μs 0.0007 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.145 μs 0.0006 μs 0.0005 μs 0.98 0.0038 360 B 1.00
DeclaredNewEmpty 1.163 μs 0.0087 μs 0.0082 μs 1.00 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 112.3 ns 0.04 ns 0.03 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 148.7 ns 0.06 ns 0.05 ns 1.32 0.00 0.0002 24 B 1.00
GetInstanceStringField 124.4 ns 0.04 ns 0.04 ns 1.11 0.00 - - 0.00
SetInstanceStringField 749.5 ns 3.48 ns 3.25 ns 6.67 0.03 0.0038 288 B 12.00
GetStaticIntField 134.4 ns 0.05 ns 0.04 ns 1.20 0.00 0.0002 24 B 1.00
SetStaticIntField 154.8 ns 0.04 ns 0.04 ns 1.38 0.00 0.0002 24 B 1.00
GetStaticStringField 124.3 ns 0.04 ns 0.04 ns 1.11 0.00 - - 0.00
SetStaticStringField 774.1 ns 1.17 ns 1.09 ns 6.89 0.01 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 147.6 ns 0.05 ns 0.05 ns 1.31 0.00 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 369.5 ns 0.31 ns 0.29 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 356.4 ns 1.57 ns 1.47 ns 0.96 - - NA
InvokeStaticWithFeedback 532.7 ns 0.40 ns 0.34 ns 1.44 0.0048 344 B NA
InvokeInstanceEmpty 401.9 ns 0.19 ns 0.18 ns 1.09 - - NA
InvokeInstanceWithFeedback 545.8 ns 0.41 ns 0.32 ns 1.48 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.372 μs 0.0021 μs 0.0020 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,061.7 ns 6.18 ns 5.78 ns - 104 B
PredicateRoundTrip False False True 1,090.2 ns 3.42 ns 3.20 ns - 104 B
PredicateRoundTrip False True False 1,293.5 ns 5.09 ns 4.51 ns 0.0019 200 B
PredicateRoundTrip False True True 4,742.9 ns 3.84 ns 3.20 ns 0.0076 792 B
PredicateRoundTrip True False False 446.6 ns 0.56 ns 0.53 ns - 24 B
PredicateRoundTrip True False True 461.4 ns 0.37 ns 0.33 ns - 24 B
PredicateRoundTrip True True False 653.4 ns 0.89 ns 0.83 ns 0.0010 120 B
PredicateRoundTrip True True True 4,041.6 ns 15.87 ns 14.85 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.83 ns 0.784 ns 0.655 ns - 80 B
PredicateSustained False False True 636.10 ns 1.059 ns 0.884 ns - 80 B
PredicateSustained False True False 823.51 ns 1.088 ns 1.018 ns 0.0014 176 B
PredicateSustained False True True 4,289.72 ns 29.921 ns 27.988 ns 0.0100 768 B
PredicateSustained True False False 59.90 ns 0.022 ns 0.017 ns - -
PredicateSustained True False True 59.27 ns 1.084 ns 0.961 ns - -
PredicateSustained True True False 254.44 ns 0.495 ns 0.463 ns 0.0013 96 B
PredicateSustained True True True 3,632.59 ns 15.081 ns 14.106 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 525.7 ns 0.33 ns 0.29 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,283.6 ns 10.70 ns 10.01 ns 13.85 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,184.1 ns 1.57 ns 1.39 ns 2.25 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,187.7 ns 2.44 ns 2.28 ns 2.26 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,314.5 ns 15.48 ns 14.48 ns 17.72 0.03 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 527.4 ns 0.31 ns 0.27 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 580,847.5 ns 1,410.52 ns 1,319.40 ns 1,101.38 2.48 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,902.2 ns 2.44 ns 2.17 ns 3.61 0.00 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,924.5 ns 4.02 ns 3.35 ns 3.65 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 790,293.2 ns 951.91 ns 794.89 ns 1,498.52 1.63 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 531.0 ns 0.55 ns 0.49 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,574,863.4 ns 311,827.93 ns 291,684.04 ns 114,080.85 541.58 250.0000 125.0000 125.0000 16000571 B 46,513.29
InvokeIntArrayFixed 100000 60,950.6 ns 418.15 ns 370.68 ns 114.79 0.68 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,858.9 ns 380.24 ns 355.67 ns 114.62 0.66 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 88,794,689.0 ns 789,569.28 ns 699,932.60 ns 167,227.34 1,282.16 1000.0000 833.3333 833.3333 27894277 B 81,088.01

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.145 μs 0.0087 μs 0.0082 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.165 μs 0.0090 μs 0.0084 μs 1.02 0.0038 360 B 1.00
DeclaredNewEmpty 1.165 μs 0.0096 μs 0.0089 μs 1.02 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 106.8 ns 0.05 ns 0.04 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 147.3 ns 0.04 ns 0.03 ns 1.38 0.0002 24 B 1.00
GetInstanceStringField 115.6 ns 0.02 ns 0.02 ns 1.08 - - 0.00
SetInstanceStringField 731.7 ns 1.21 ns 1.13 ns 6.85 0.0038 288 B 12.00
GetStaticIntField 115.9 ns 0.02 ns 0.02 ns 1.09 0.0004 24 B 1.00
SetStaticIntField 139.8 ns 0.03 ns 0.03 ns 1.31 0.0002 24 B 1.00
GetStaticStringField 117.4 ns 0.03 ns 0.03 ns 1.10 - - 0.00
SetStaticStringField 728.6 ns 0.82 ns 0.77 ns 6.82 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 148.3 ns 0.08 ns 0.07 ns 1.39 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 289.4 ns 0.17 ns 0.15 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 262.0 ns 0.13 ns 0.12 ns 0.91 - - NA
InvokeStaticWithFeedback 532.6 ns 0.52 ns 0.46 ns 1.84 0.0048 344 B NA
InvokeInstanceEmpty 311.4 ns 0.16 ns 0.15 ns 1.08 - - NA
InvokeInstanceWithFeedback 543.8 ns 0.75 ns 0.67 ns 1.88 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.328 μs 0.0017 μs 0.0016 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,042.7 ns 4.15 ns 3.68 ns - 104 B
PredicateRoundTrip False False True 1,027.3 ns 3.95 ns 3.50 ns - 104 B
PredicateRoundTrip False True False 1,213.2 ns 5.47 ns 5.12 ns 0.0019 200 B
PredicateRoundTrip False True True 4,747.2 ns 15.81 ns 14.01 ns 0.0076 792 B
PredicateRoundTrip True False False 438.3 ns 0.58 ns 0.51 ns - 24 B
PredicateRoundTrip True False True 425.7 ns 0.53 ns 0.49 ns - 24 B
PredicateRoundTrip True True False 612.4 ns 1.79 ns 1.40 ns 0.0010 120 B
PredicateRoundTrip True True True 4,010.9 ns 9.93 ns 8.80 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 593.10 ns 3.811 ns 3.565 ns 0.0011 80 B
PredicateSustained False False True 597.39 ns 1.605 ns 1.502 ns 0.0011 80 B
PredicateSustained False True False 783.20 ns 6.251 ns 5.847 ns 0.0014 176 B
PredicateSustained False True True 4,344.82 ns 18.148 ns 16.088 ns 0.0100 768 B
PredicateSustained True False False 51.40 ns 0.951 ns 0.934 ns - -
PredicateSustained True False True 51.51 ns 0.990 ns 0.972 ns - -
PredicateSustained True True False 239.93 ns 0.349 ns 0.309 ns 0.0013 96 B
PredicateSustained True True True 3,562.59 ns 23.425 ns 21.912 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 530.0 ns 0.34 ns 0.31 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,190.7 ns 9.57 ns 7.99 ns 13.57 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,173.2 ns 1.65 ns 1.46 ns 2.21 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,183.0 ns 0.88 ns 0.68 ns 2.23 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,219.6 ns 28.93 ns 25.65 ns 17.40 0.05 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 531.3 ns 0.37 ns 0.33 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 574,865.9 ns 982.08 ns 820.08 ns 1,081.97 1.62 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,889.9 ns 5.51 ns 4.88 ns 3.56 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,907.1 ns 4.75 ns 4.21 ns 3.59 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 758,029.4 ns 1,051.54 ns 878.08 ns 1,426.70 1.80 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 531.9 ns 0.45 ns 0.38 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 58,803,388.8 ns 181,879.84 ns 170,130.52 ns 110,554.39 318.78 250.0000 125.0000 125.0000 16000911 B 46,514.28
InvokeIntArrayFixed 100000 60,585.6 ns 298.07 ns 278.81 ns 113.91 0.51 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,806.8 ns 496.98 ns 464.88 ns 114.32 0.85 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 86,344,951.0 ns 624,361.11 ns 553,479.86 ns 162,334.41 1,011.53 1000.0000 833.3333 833.3333 27894277 B 81,088.01

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.118 μs 0.0134 μs 0.0125 μs 1.108 μs 1.00 0.02 0.0038 360 B 1.00
NewWithSignature 1.134 μs 0.0140 μs 0.0131 μs 1.125 μs 1.01 0.02 0.0038 360 B 1.00
DeclaredNewEmpty 1.125 μs 0.0147 μs 0.0137 μs 1.114 μs 1.01 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 112.9 ns 0.02 ns 0.02 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 154.7 ns 0.05 ns 0.05 ns 1.37 0.0002 24 B 1.00
GetInstanceStringField 118.0 ns 0.03 ns 0.03 ns 1.05 - - 0.00
SetInstanceStringField 732.5 ns 1.13 ns 1.06 ns 6.49 0.0038 288 B 12.00
GetStaticIntField 127.3 ns 0.04 ns 0.04 ns 1.13 0.0002 24 B 1.00
SetStaticIntField 151.2 ns 0.05 ns 0.04 ns 1.34 0.0002 24 B 1.00
GetStaticStringField 119.8 ns 0.03 ns 0.03 ns 1.06 - - 0.00
SetStaticStringField 739.8 ns 1.63 ns 1.44 ns 6.55 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 148.5 ns 0.04 ns 0.03 ns 1.32 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 307.5 ns 0.12 ns 0.11 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 276.4 ns 0.16 ns 0.15 ns 0.90 - - NA
InvokeStaticWithFeedback 527.7 ns 0.27 ns 0.22 ns 1.72 0.0048 344 B NA
InvokeInstanceEmpty 313.7 ns 0.13 ns 0.12 ns 1.02 - - NA
InvokeInstanceWithFeedback 543.4 ns 0.37 ns 0.31 ns 1.77 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.322 μs 0.0012 μs 0.0010 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,019.9 ns 8.26 ns 7.72 ns - 104 B
PredicateRoundTrip False False True 1,005.7 ns 5.39 ns 5.04 ns - 104 B
PredicateRoundTrip False True False 1,226.7 ns 8.09 ns 7.57 ns 0.0019 200 B
PredicateRoundTrip False True True 4,782.1 ns 21.53 ns 20.14 ns 0.0076 792 B
PredicateRoundTrip True False False 424.3 ns 0.23 ns 0.19 ns - 24 B
PredicateRoundTrip True False True 429.5 ns 0.30 ns 0.27 ns - 24 B
PredicateRoundTrip True True False 616.3 ns 0.60 ns 0.50 ns 0.0010 120 B
PredicateRoundTrip True True True 3,849.9 ns 12.47 ns 11.66 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 602.63 ns 0.278 ns 0.232 ns 0.0011 80 B
PredicateSustained False False True 594.19 ns 0.999 ns 0.935 ns 0.0011 80 B
PredicateSustained False True False 790.16 ns 6.732 ns 6.297 ns 0.0014 176 B
PredicateSustained False True True 3,959.71 ns 12.843 ns 10.725 ns 0.0100 768 B
PredicateSustained True False False 51.79 ns 0.944 ns 0.837 ns - -
PredicateSustained True False True 51.90 ns 0.913 ns 1.014 ns - -
PredicateSustained True True False 242.86 ns 0.434 ns 0.406 ns 0.0013 96 B
PredicateSustained True True True 3,435.34 ns 11.137 ns 10.418 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.2 ns 0.51 ns 0.46 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,272.7 ns 15.79 ns 14.77 ns 13.34 0.03 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,213.7 ns 2.80 ns 2.62 ns 2.23 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,205.9 ns 1.73 ns 1.54 ns 2.21 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,894.9 ns 39.37 ns 36.83 ns 18.15 0.07 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 544.2 ns 0.74 ns 0.66 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 587,209.7 ns 1,194.68 ns 1,117.50 ns 1,079.02 2.35 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,931.7 ns 7.41 ns 6.93 ns 3.55 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,946.5 ns 9.63 ns 9.01 ns 3.58 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 765,722.1 ns 2,004.82 ns 1,674.12 ns 1,407.05 3.39 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 544.4 ns 0.36 ns 0.30 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,420,890.9 ns 244,179.67 ns 228,405.81 ns 110,978.84 410.66 333.3333 222.2222 222.2222 16001008 B 46,514.56
InvokeIntArrayFixed 100000 60,382.3 ns 608.85 ns 569.52 ns 110.91 1.01 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,736.2 ns 516.55 ns 457.91 ns 111.56 0.81 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 84,857,406.8 ns 813,729.69 ns 761,163.26 ns 155,862.92 1,356.71 1000.0000 833.3333 833.3333 27894277 B 81,088.01

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.118 μs 0.0110 μs 0.0103 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.129 μs 0.0076 μs 0.0071 μs 1.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.121 μs 0.0084 μs 0.0079 μs 1.00 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 RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 113.1 ns 0.20 ns 0.19 ns 1.00 0.00 0.0004 24 B 1.00
SetInstanceIntField 151.8 ns 0.07 ns 0.06 ns 1.34 0.00 0.0002 24 B 1.00
GetInstanceStringField 120.1 ns 0.03 ns 0.03 ns 1.06 0.00 - - 0.00
SetInstanceStringField 727.1 ns 1.64 ns 1.53 ns 6.43 0.02 0.0038 288 B 12.00
GetStaticIntField 127.2 ns 0.04 ns 0.03 ns 1.12 0.00 0.0002 24 B 1.00
SetStaticIntField 162.4 ns 0.06 ns 0.05 ns 1.44 0.00 0.0002 24 B 1.00
GetStaticStringField 122.2 ns 0.05 ns 0.05 ns 1.08 0.00 - - 0.00
SetStaticStringField 725.4 ns 1.10 ns 0.97 ns 6.41 0.01 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 154.2 ns 0.11 ns 0.09 ns 1.36 0.00 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 308.9 ns 0.16 ns 0.15 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 278.8 ns 0.18 ns 0.17 ns 0.90 - - NA
InvokeStaticWithFeedback 543.6 ns 1.18 ns 1.11 ns 1.76 0.0048 344 B NA
InvokeInstanceEmpty 317.4 ns 0.22 ns 0.21 ns 1.03 - - NA
InvokeInstanceWithFeedback 546.2 ns 0.55 ns 0.49 ns 1.77 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.343 μs 0.0023 μs 0.0022 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,031.4 ns 1.13 ns 0.89 ns - 104 B
PredicateRoundTrip False False True 1,030.6 ns 8.22 ns 7.69 ns - 104 B
PredicateRoundTrip False True False 1,270.6 ns 6.87 ns 6.43 ns 0.0019 200 B
PredicateRoundTrip False True True 4,507.3 ns 11.81 ns 9.22 ns 0.0076 792 B
PredicateRoundTrip True False False 445.7 ns 0.36 ns 0.32 ns - 24 B
PredicateRoundTrip True False True 431.7 ns 0.46 ns 0.43 ns - 24 B
PredicateRoundTrip True True False 646.1 ns 4.77 ns 4.23 ns 0.0010 120 B
PredicateRoundTrip True True True 3,849.3 ns 10.55 ns 8.24 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 592.04 ns 0.525 ns 0.410 ns 0.0011 80 B
PredicateSustained False False True 595.21 ns 0.771 ns 0.602 ns 0.0011 80 B
PredicateSustained False True False 794.64 ns 5.044 ns 4.718 ns 0.0014 176 B
PredicateSustained False True True 4,797.59 ns 51.115 ns 56.814 ns 0.0100 768 B
PredicateSustained True False False 48.65 ns 0.956 ns 0.982 ns - -
PredicateSustained True False True 49.73 ns 0.950 ns 1.056 ns - -
PredicateSustained True True False 238.97 ns 0.511 ns 0.478 ns 0.0013 96 B
PredicateSustained True True True 3,505.99 ns 18.119 ns 20.139 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.5 ns 0.25 ns 0.19 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,464.9 ns 13.01 ns 12.17 ns 13.71 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,231.7 ns 1.37 ns 1.28 ns 2.26 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,233.9 ns 2.01 ns 1.88 ns 2.27 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,283.7 ns 23.70 ns 22.17 ns 17.05 0.04 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 543.4 ns 0.49 ns 0.44 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 598,837.3 ns 1,127.67 ns 1,054.82 ns 1,102.10 2.07 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,962.4 ns 9.62 ns 9.00 ns 3.61 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,950.7 ns 12.49 ns 11.69 ns 3.59 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 785,654.2 ns 1,219.35 ns 1,018.21 ns 1,445.92 2.13 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 549.9 ns 0.39 ns 0.32 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,456,095.2 ns 361,231.73 ns 337,896.38 ns 109,939.23 598.42 250.0000 125.0000 125.0000 16001411 B 46,515.73
InvokeIntArrayFixed 100000 61,162.8 ns 483.70 ns 428.78 ns 111.22 0.76 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 61,122.4 ns 229.89 ns 203.79 ns 111.15 0.36 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 86,770,452.8 ns 495,164.43 ns 463,177.12 ns 157,791.82 820.72 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.149 μs 0.0058 μs 0.0051 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.190 μs 0.0014 μs 0.0012 μs 1.04 0.0038 360 B 1.00
DeclaredNewEmpty 1.188 μs 0.0066 μs 0.0061 μs 1.03 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 Gen0 Allocated Alloc Ratio
GetInstanceIntField 107.7 ns 0.03 ns 0.03 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 151.5 ns 0.03 ns 0.03 ns 1.41 0.0002 24 B 1.00
GetInstanceStringField 120.6 ns 0.02 ns 0.02 ns 1.12 - - 0.00
SetInstanceStringField 744.4 ns 0.94 ns 0.84 ns 6.91 0.0038 288 B 12.00
GetStaticIntField 135.4 ns 0.05 ns 0.05 ns 1.26 0.0002 24 B 1.00
SetStaticIntField 154.5 ns 0.06 ns 0.05 ns 1.44 0.0002 24 B 1.00
GetStaticStringField 121.0 ns 0.07 ns 0.06 ns 1.12 - - 0.00
SetStaticStringField 728.3 ns 0.96 ns 0.90 ns 6.76 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 154.8 ns 0.03 ns 0.03 ns 1.44 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 383.8 ns 0.21 ns 0.20 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 337.2 ns 0.16 ns 0.14 ns 0.88 - - NA
InvokeStaticWithFeedback 536.7 ns 0.32 ns 0.30 ns 1.40 0.0048 344 B NA
InvokeInstanceEmpty 394.5 ns 0.81 ns 0.75 ns 1.03 - - NA
InvokeInstanceWithFeedback 550.6 ns 0.42 ns 0.38 ns 1.43 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.361 μs 0.0027 μs 0.0025 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,054.2 ns 5.09 ns 4.76 ns - 104 B
PredicateRoundTrip False False True 1,064.9 ns 9.02 ns 8.43 ns - 104 B
PredicateRoundTrip False True False 1,262.8 ns 3.89 ns 3.45 ns 0.0019 200 B
PredicateRoundTrip False True True 4,829.7 ns 11.35 ns 10.62 ns 0.0076 792 B
PredicateRoundTrip True False False 442.0 ns 0.73 ns 0.68 ns - 24 B
PredicateRoundTrip True False True 444.9 ns 0.81 ns 0.76 ns - 24 B
PredicateRoundTrip True True False 659.4 ns 0.91 ns 0.81 ns 0.0010 120 B
PredicateRoundTrip True True True 4,047.6 ns 16.03 ns 15.00 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 630.43 ns 0.802 ns 0.626 ns - 80 B
PredicateSustained False False True 628.37 ns 0.687 ns 0.537 ns - 80 B
PredicateSustained False True False 820.09 ns 4.338 ns 4.058 ns 0.0014 176 B
PredicateSustained False True True 4,261.77 ns 10.759 ns 10.064 ns 0.0100 768 B
PredicateSustained True False False 59.93 ns 1.189 ns 1.221 ns - -
PredicateSustained True False True 58.98 ns 1.159 ns 1.241 ns - -
PredicateSustained True True False 250.41 ns 0.320 ns 0.300 ns 0.0013 96 B
PredicateSustained True True True 3,604.67 ns 9.864 ns 9.226 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 534.0 ns 0.66 ns 0.51 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,370.6 ns 14.30 ns 12.67 ns 13.80 0.03 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,238.4 ns 1.48 ns 1.31 ns 2.32 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,223.1 ns 1.80 ns 1.60 ns 2.29 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 10,096.7 ns 53.29 ns 49.85 ns 18.91 0.09 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 533.5 ns 0.29 ns 0.26 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 581,574.8 ns 1,309.47 ns 1,224.88 ns 1,090.06 2.28 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,970.0 ns 7.85 ns 7.35 ns 3.69 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,952.0 ns 5.35 ns 4.74 ns 3.66 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 788,731.4 ns 1,304.35 ns 1,089.19 ns 1,478.34 2.08 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 547.1 ns 0.55 ns 0.49 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,724,314.8 ns 241,128.20 ns 225,551.46 ns 109,174.81 410.14 250.0000 125.0000 125.0000 16000588 B 46,513.34
InvokeIntArrayFixed 100000 61,907.2 ns 230.74 ns 192.68 ns 113.17 0.35 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 61,498.8 ns 450.78 ns 421.66 ns 112.42 0.75 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 88,438,025.3 ns 1,444,376.89 ns 1,351,071.04 ns 161,662.88 2,395.72 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 Ratio RatioSD Gen0 Allocated Alloc Ratio
NewEmpty 1.175 μs 0.0145 μs 0.0136 μs 1.00 0.02 0.0038 360 B 1.00
NewWithSignature 1.160 μs 0.0011 μs 0.0009 μs 0.99 0.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.172 μs 0.0122 μs 0.0114 μs 1.00 0.01 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 108.3 ns 0.03 ns 0.02 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 153.4 ns 0.05 ns 0.05 ns 1.42 0.0002 24 B 1.00
GetInstanceStringField 116.4 ns 0.01 ns 0.01 ns 1.08 - - 0.00
SetInstanceStringField 737.5 ns 0.98 ns 0.87 ns 6.81 0.0038 288 B 12.00
GetStaticIntField 124.6 ns 0.04 ns 0.03 ns 1.15 0.0002 24 B 1.00
SetStaticIntField 150.3 ns 0.04 ns 0.03 ns 1.39 0.0002 24 B 1.00
GetStaticStringField 111.8 ns 0.05 ns 0.05 ns 1.03 - - 0.00
SetStaticStringField 724.9 ns 1.36 ns 1.27 ns 6.69 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 151.0 ns 0.03 ns 0.02 ns 1.39 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 299.8 ns 0.13 ns 0.12 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 275.2 ns 0.20 ns 0.18 ns 0.92 - - NA
InvokeStaticWithFeedback 549.4 ns 0.47 ns 0.42 ns 1.83 0.0048 344 B NA
InvokeInstanceEmpty 319.6 ns 0.16 ns 0.15 ns 1.07 - - NA
InvokeInstanceWithFeedback 562.2 ns 0.48 ns 0.43 ns 1.87 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.349 μs 0.0008 μs 0.0007 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,054.4 ns 8.35 ns 7.81 ns - 104 B
PredicateRoundTrip False False True 1,061.5 ns 6.57 ns 5.82 ns - 104 B
PredicateRoundTrip False True False 1,333.8 ns 6.01 ns 5.33 ns 0.0019 200 B
PredicateRoundTrip False True True 5,555.8 ns 46.24 ns 40.99 ns 0.0076 792 B
PredicateRoundTrip True False False 430.7 ns 0.60 ns 0.53 ns - 24 B
PredicateRoundTrip True False True 428.8 ns 1.08 ns 0.96 ns - 24 B
PredicateRoundTrip True True False 627.3 ns 2.14 ns 1.67 ns 0.0010 120 B
PredicateRoundTrip True True True 4,195.2 ns 14.23 ns 12.61 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 620.41 ns 1.252 ns 0.977 ns - 80 B
PredicateSustained False False True 613.57 ns 0.663 ns 0.518 ns - 80 B
PredicateSustained False True False 822.73 ns 6.699 ns 6.266 ns 0.0014 176 B
PredicateSustained False True True 5,335.76 ns 64.619 ns 57.283 ns 0.0100 768 B
PredicateSustained True False False 51.57 ns 0.834 ns 0.739 ns - -
PredicateSustained True False True 51.47 ns 0.956 ns 0.939 ns - -
PredicateSustained True True False 242.29 ns 0.395 ns 0.369 ns 0.0013 96 B
PredicateSustained True True True 4,604.48 ns 70.744 ns 66.174 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 544.6 ns 0.87 ns 0.81 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,183.8 ns 9.02 ns 8.00 ns 13.19 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,220.8 ns 2.36 ns 2.21 ns 2.24 0.01 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,191.2 ns 1.06 ns 0.88 ns 2.19 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,626.5 ns 50.45 ns 47.19 ns 17.68 0.09 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 548.3 ns 0.52 ns 0.46 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 578,187.6 ns 1,754.23 ns 1,640.91 ns 1,054.55 3.02 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,931.3 ns 8.88 ns 7.87 ns 3.52 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,937.9 ns 6.50 ns 6.08 ns 3.53 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 757,621.4 ns 1,422.89 ns 1,188.18 ns 1,381.82 2.38 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 547.7 ns 0.48 ns 0.43 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,718,104.1 ns 172,798.52 ns 161,635.84 ns 109,026.19 297.25 250.0000 125.0000 125.0000 16001506 B 46,516.01
InvokeIntArrayFixed 100000 60,926.4 ns 391.94 ns 366.62 ns 111.23 0.65 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,955.5 ns 214.85 ns 179.41 ns 111.29 0.33 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 84,972,314.7 ns 928,539.87 ns 823,126.41 ns 155,132.31 1,456.47 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.138 μs 0.0100 μs 0.0094 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.139 μs 0.0116 μs 0.0109 μs 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 1.167 μs 0.0112 μs 0.0105 μs 1.03 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 Gen0 Allocated Alloc Ratio
GetInstanceIntField 108.1 ns 0.04 ns 0.04 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 155.5 ns 0.07 ns 0.06 ns 1.44 0.0002 24 B 1.00
GetInstanceStringField 119.0 ns 0.06 ns 0.05 ns 1.10 - - 0.00
SetInstanceStringField 717.9 ns 1.27 ns 1.19 ns 6.64 0.0038 288 B 12.00
GetStaticIntField 125.4 ns 0.08 ns 0.07 ns 1.16 0.0002 24 B 1.00
SetStaticIntField 157.7 ns 0.06 ns 0.05 ns 1.46 0.0002 24 B 1.00
GetStaticStringField 117.1 ns 0.04 ns 0.04 ns 1.08 - - 0.00
SetStaticStringField 716.1 ns 1.31 ns 1.23 ns 6.62 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 157.6 ns 0.11 ns 0.10 ns 1.46 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 301.3 ns 0.18 ns 0.16 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 277.3 ns 0.12 ns 0.11 ns 0.92 - - NA
InvokeStaticWithFeedback 532.7 ns 0.67 ns 0.59 ns 1.77 0.0048 344 B NA
InvokeInstanceEmpty 319.9 ns 0.13 ns 0.11 ns 1.06 - - NA
InvokeInstanceWithFeedback 541.9 ns 0.93 ns 0.87 ns 1.80 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.386 μs 0.0024 μs 0.0022 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,031.6 ns 6.75 ns 6.31 ns - 104 B
PredicateRoundTrip False False True 1,035.1 ns 3.92 ns 3.67 ns - 104 B
PredicateRoundTrip False True False 1,260.7 ns 4.19 ns 3.92 ns 0.0019 200 B
PredicateRoundTrip False True True 4,642.1 ns 13.15 ns 12.30 ns 0.0076 792 B
PredicateRoundTrip True False False 435.5 ns 0.76 ns 0.71 ns - 24 B
PredicateRoundTrip True False True 434.1 ns 0.70 ns 0.66 ns - 24 B
PredicateRoundTrip True True False 628.7 ns 0.84 ns 0.75 ns 0.0010 120 B
PredicateRoundTrip True True True 3,955.4 ns 12.79 ns 11.97 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 606.93 ns 0.607 ns 0.507 ns 0.0011 80 B
PredicateSustained False False True 609.06 ns 0.565 ns 0.501 ns 0.0011 80 B
PredicateSustained False True False 808.02 ns 4.502 ns 3.760 ns 0.0014 176 B
PredicateSustained False True True 4,359.47 ns 16.236 ns 15.187 ns 0.0100 768 B
PredicateSustained True False False 51.25 ns 0.995 ns 1.022 ns - -
PredicateSustained True False True 51.16 ns 1.036 ns 1.233 ns - -
PredicateSustained True True False 241.05 ns 0.456 ns 0.426 ns 0.0013 96 B
PredicateSustained True True True 3,491.96 ns 12.481 ns 11.674 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 542.6 ns 0.40 ns 0.35 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 10 7,237.3 ns 10.78 ns 10.08 ns 13.34 0.02 0.0305 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,207.1 ns 1.54 ns 1.37 ns 2.22 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,220.3 ns 2.19 ns 2.05 ns 2.25 0.00 0.0057 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,241.5 ns 34.33 ns 32.12 ns 17.03 0.06 0.0458 - - 3520 B 10.23
InvokeIntParam 1000 543.1 ns 0.47 ns 0.41 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 1000 571,205.2 ns 1,102.38 ns 1,031.16 ns 1,051.77 1.99 1.9531 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,940.2 ns 4.16 ns 3.69 ns 3.57 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,931.7 ns 8.45 ns 7.90 ns 3.56 0.01 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 767,291.7 ns 1,830.40 ns 1,528.47 ns 1,412.82 2.90 3.9063 0.9766 - 265888 B 772.93
InvokeIntParam 100000 547.9 ns 0.23 ns 0.20 ns 1.00 0.00 0.0048 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,597,748.9 ns 222,948.67 ns 208,546.32 ns 110,595.16 370.71 333.3333 222.2222 222.2222 16001999 B 46,517.44
InvokeIntArrayFixed 100000 60,701.4 ns 135.56 ns 120.17 ns 110.78 0.22 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 60,641.5 ns 261.73 ns 232.01 ns 110.68 0.41 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 86,637,832.7 ns 1,074,605.61 ns 952,609.88 ns 158,120.15 1,680.59 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.133 μs 0.0128 μs 0.0120 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.151 μs 0.0118 μs 0.0110 μs 1.02 0.0038 360 B 1.00
DeclaredNewEmpty 1.145 μs 0.0100 μs 0.0093 μs 1.01 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 103.9 ns 0.02 ns 0.01 ns 1.00 0.0004 24 B 1.00
SetInstanceIntField 145.7 ns 0.06 ns 0.05 ns 1.40 0.0002 24 B 1.00
GetInstanceStringField 117.3 ns 0.02 ns 0.02 ns 1.13 - - 0.00
SetInstanceStringField 722.1 ns 1.06 ns 0.99 ns 6.95 0.0038 288 B 12.00
GetStaticIntField 126.4 ns 0.04 ns 0.03 ns 1.22 0.0002 24 B 1.00
SetStaticIntField 146.8 ns 0.04 ns 0.03 ns 1.41 0.0002 24 B 1.00
GetStaticStringField 117.9 ns 0.02 ns 0.02 ns 1.13 - - 0.00
SetStaticStringField 715.4 ns 1.16 ns 1.02 ns 6.89 0.0038 288 B 12.00
GetInstanceIntFieldGeneric 152.8 ns 0.04 ns 0.04 ns 1.47 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 311.5 ns 0.13 ns 0.12 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 274.3 ns 0.14 ns 0.13 ns 0.88 - - NA
InvokeStaticWithFeedback 546.3 ns 0.43 ns 0.36 ns 1.75 0.0048 344 B NA
InvokeInstanceEmpty 318.6 ns 0.12 ns 0.11 ns 1.02 - - NA
InvokeInstanceWithFeedback 547.3 ns 0.47 ns 0.44 ns 1.76 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.347 μs 0.0020 μs 0.0019 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,028.9 ns 5.63 ns 4.99 ns - 104 B
PredicateRoundTrip False False True 1,022.6 ns 5.88 ns 5.50 ns - 104 B
PredicateRoundTrip False True False 1,253.6 ns 6.92 ns 6.48 ns 0.0019 200 B
PredicateRoundTrip False True True 5,338.7 ns 64.23 ns 53.64 ns 0.0076 792 B
PredicateRoundTrip True False False 433.5 ns 0.44 ns 0.41 ns - 24 B
PredicateRoundTrip True False True 444.8 ns 0.33 ns 0.29 ns - 24 B
PredicateRoundTrip True True False 638.9 ns 0.90 ns 0.70 ns 0.0010 120 B
PredicateRoundTrip True True True 3,760.0 ns 3.41 ns 2.66 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 601.70 ns 0.805 ns 0.628 ns 0.0011 80 B
PredicateSustained False False True 610.02 ns 0.627 ns 0.490 ns 0.0011 80 B
PredicateSustained False True False 799.88 ns 4.785 ns 3.996 ns 0.0014 176 B
PredicateSustained False True True 4,277.84 ns 34.112 ns 37.915 ns 0.0100 768 B
PredicateSustained True False False 52.10 ns 0.981 ns 0.963 ns - -
PredicateSustained True False True 48.76 ns 0.933 ns 0.958 ns - -
PredicateSustained True True False 241.21 ns 0.397 ns 0.371 ns 0.0013 96 B
PredicateSustained True True True 3,465.93 ns 61.527 ns 57.552 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 572.2 ns 7.78 ns 7.27 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 6,468.2 ns 32.84 ns 30.71 ns 11.31 0.15 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,262.1 ns 4.88 ns 4.33 ns 2.21 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,230.3 ns 8.55 ns 7.58 ns 2.15 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,545.8 ns 56.56 ns 50.14 ns 14.94 0.20 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 565.7 ns 5.78 ns 5.40 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 536,578.2 ns 3,795.64 ns 3,550.44 ns 948.65 10.68 8.7891 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,883.3 ns 10.46 ns 9.78 ns 3.33 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,907.2 ns 20.94 ns 18.57 ns 3.37 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 658,715.4 ns 5,650.91 ns 4,718.77 ns 1,164.59 13.45 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 559.8 ns 7.24 ns 6.42 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 61,187,167.1 ns 650,661.07 ns 576,794.09 ns 109,311.52 1,569.38 1111.1111 1000.0000 333.3333 16002184 B 51,289.05
InvokeIntArrayFixed 100000 66,614.0 ns 726.41 ns 643.95 ns 119.01 1.73 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 66,101.4 ns 395.66 ns 308.90 ns 118.09 1.41 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 84,367,062.2 ns 1,575,678.93 ns 1,547,527.40 ns 150,722.64 3,161.50 2000.0000 1833.3333 1000.0000 27895223 B 89,407.77

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.161 μs 0.0039 μs 0.0033 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.133 μs 0.0088 μs 0.0078 μs 0.98 0.0210 360 B 1.00
DeclaredNewEmpty 1.134 μs 0.0052 μs 0.0048 μs 0.98 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 82.11 ns 0.381 ns 0.357 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 94.14 ns 0.868 ns 0.812 ns 1.15 0.01 0.0014 24 B 1.00
GetInstanceStringField 88.81 ns 1.343 ns 1.256 ns 1.08 0.02 - - 0.00
SetInstanceStringField 643.64 ns 2.798 ns 2.617 ns 7.84 0.05 0.0153 256 B 10.67
GetStaticIntField 91.93 ns 1.109 ns 1.037 ns 1.12 0.01 0.0014 24 B 1.00
SetStaticIntField 94.33 ns 1.479 ns 1.383 ns 1.15 0.02 0.0014 24 B 1.00
GetStaticStringField 81.97 ns 0.652 ns 0.610 ns 1.00 0.01 - - 0.00
SetStaticStringField 671.68 ns 2.152 ns 1.797 ns 8.18 0.04 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 89.36 ns 0.782 ns 0.693 ns 1.09 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 359.8 ns 2.91 ns 2.58 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 310.9 ns 4.92 ns 4.60 ns 0.86 0.01 - - NA
InvokeStaticWithFeedback 582.0 ns 5.70 ns 4.76 ns 1.62 0.02 0.0181 312 B NA
InvokeInstanceEmpty 357.4 ns 3.60 ns 3.37 ns 0.99 0.01 - - NA
InvokeInstanceWithFeedback 582.0 ns 3.06 ns 2.71 ns 1.62 0.01 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.421 μs 0.0159 μs 0.0141 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,182.0 ns 12.69 ns 11.25 ns 0.0057 104 B
PredicateRoundTrip False False True 1,082.3 ns 13.67 ns 12.79 ns 0.0057 104 B
PredicateRoundTrip False True False 1,383.7 ns 4.09 ns 3.63 ns 0.0114 200 B
PredicateRoundTrip False True True 4,812.9 ns 23.27 ns 21.76 ns 0.0381 760 B
PredicateRoundTrip True False False 421.1 ns 5.09 ns 4.76 ns 0.0014 24 B
PredicateRoundTrip True False True 435.4 ns 5.80 ns 5.42 ns 0.0014 24 B
PredicateRoundTrip True True False 697.5 ns 4.31 ns 3.82 ns 0.0067 120 B
PredicateRoundTrip True True True 3,873.8 ns 13.52 ns 11.29 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 672.60 ns 6.485 ns 6.066 ns 0.0038 80 B
PredicateSustained False False True 588.71 ns 6.050 ns 5.659 ns 0.0040 80 B
PredicateSustained False True False 786.41 ns 3.582 ns 2.992 ns 0.0100 176 B
PredicateSustained False True True 4,060.02 ns 23.976 ns 20.021 ns 0.0400 736 B
PredicateSustained True False False 31.53 ns 0.175 ns 0.155 ns - -
PredicateSustained True False True 28.80 ns 0.246 ns 0.218 ns - -
PredicateSustained True True False 188.59 ns 1.285 ns 1.202 ns 0.0056 96 B
PredicateSustained True True True 3,446.59 ns 21.839 ns 19.360 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 575.6 ns 6.67 ns 6.24 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 6,066.5 ns 32.71 ns 30.59 ns 10.54 0.12 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,189.7 ns 6.55 ns 6.13 ns 2.07 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,198.6 ns 6.80 ns 6.36 ns 2.08 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,267.8 ns 27.97 ns 24.79 ns 14.37 0.16 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 547.2 ns 5.83 ns 5.46 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 448,571.9 ns 3,385.69 ns 3,001.33 ns 819.83 9.52 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,868.5 ns 5.43 ns 5.08 ns 3.41 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,871.1 ns 8.42 ns 7.03 ns 3.42 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 653,911.0 ns 2,484.62 ns 1,939.83 ns 1,195.11 12.02 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 589.4 ns 4.84 ns 4.29 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,017,708.6 ns 761,403.89 ns 712,217.67 ns 96,740.65 1,355.37 1111.1111 1000.0000 333.3333 16001932 B 51,288.24
InvokeIntArrayFixed 100000 65,373.3 ns 332.53 ns 311.04 ns 110.92 0.94 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 65,422.9 ns 225.32 ns 210.77 ns 111.00 0.86 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 83,157,539.5 ns 1,629,528.41 ns 1,673,405.71 ns 141,091.51 2,934.85 2142.8571 2000.0000 1000.0000 27895105 B 89,407.39

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.117 μs 0.0044 μs 0.0039 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.164 μs 0.0037 μs 0.0031 μs 1.04 0.0210 360 B 1.00
DeclaredNewEmpty 1.130 μs 0.0059 μs 0.0056 μs 1.01 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 91.65 ns 0.958 ns 0.896 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 97.79 ns 1.207 ns 1.129 ns 1.07 0.02 0.0014 24 B 1.00
GetInstanceStringField 80.71 ns 0.552 ns 0.516 ns 0.88 0.01 - - 0.00
SetInstanceStringField 610.61 ns 2.441 ns 2.038 ns 6.66 0.07 0.0153 256 B 10.67
GetStaticIntField 86.27 ns 0.756 ns 0.707 ns 0.94 0.01 0.0014 24 B 1.00
SetStaticIntField 88.29 ns 1.028 ns 0.961 ns 0.96 0.01 0.0014 24 B 1.00
GetStaticStringField 78.22 ns 0.626 ns 0.585 ns 0.85 0.01 - - 0.00
SetStaticStringField 609.42 ns 2.745 ns 2.434 ns 6.65 0.07 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 86.43 ns 0.597 ns 0.558 ns 0.94 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 299.3 ns 3.45 ns 3.06 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 262.2 ns 3.34 ns 3.12 ns 0.88 0.01 - - NA
InvokeStaticWithFeedback 554.8 ns 7.45 ns 6.97 ns 1.85 0.03 0.0181 312 B NA
InvokeInstanceEmpty 304.3 ns 2.53 ns 2.11 ns 1.02 0.01 - - NA
InvokeInstanceWithFeedback 546.5 ns 10.27 ns 9.61 ns 1.83 0.04 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.385 μs 0.0063 μs 0.0059 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,048.3 ns 10.50 ns 9.82 ns 0.0057 104 B
PredicateRoundTrip False False True 1,050.7 ns 19.92 ns 19.56 ns 0.0057 104 B
PredicateRoundTrip False True False 1,312.9 ns 8.80 ns 8.23 ns 0.0114 200 B
PredicateRoundTrip False True True 4,385.1 ns 24.44 ns 22.86 ns 0.0381 760 B
PredicateRoundTrip True False False 423.8 ns 5.29 ns 4.95 ns 0.0014 24 B
PredicateRoundTrip True False True 417.0 ns 3.97 ns 3.72 ns 0.0014 24 B
PredicateRoundTrip True True False 668.6 ns 4.40 ns 3.90 ns 0.0067 120 B
PredicateRoundTrip True True True 3,867.3 ns 22.44 ns 18.74 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 525.28 ns 6.728 ns 6.294 ns 0.0040 80 B
PredicateSustained False False True 519.90 ns 6.407 ns 5.679 ns 0.0040 80 B
PredicateSustained False True False 721.27 ns 7.741 ns 7.241 ns 0.0100 176 B
PredicateSustained False True True 3,872.68 ns 19.377 ns 17.177 ns 0.0400 736 B
PredicateSustained True False False 27.72 ns 0.239 ns 0.223 ns - -
PredicateSustained True False True 27.90 ns 0.299 ns 0.280 ns - -
PredicateSustained True True False 191.44 ns 1.917 ns 1.793 ns 0.0056 96 B
PredicateSustained True True True 3,326.15 ns 22.962 ns 19.174 ns 0.0300 656 B

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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 405.0 ns 2.01 ns 1.78 ns 1.00 0.01 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 10 4,199.6 ns 28.78 ns 26.92 ns 10.37 0.08 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 885.8 ns 9.33 ns 8.73 ns 2.19 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 893.7 ns 3.31 ns 2.93 ns 2.21 0.01 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 6,020.5 ns 18.30 ns 17.12 ns 14.87 0.08 0.2060 - - 3488 B 11.18
InvokeIntParam 1000 384.0 ns 2.75 ns 2.44 ns 1.00 0.01 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 1000 315,153.4 ns 2,279.00 ns 2,131.78 ns 820.66 7.36 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,487.6 ns 5.91 ns 5.24 ns 3.87 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,471.2 ns 8.21 ns 7.28 ns 3.83 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 467,732.5 ns 1,534.52 ns 1,435.40 ns 1,217.97 8.29 15.6250 7.3242 - 265856 B 852.10
InvokeIntParam 100000 395.7 ns 2.09 ns 1.85 ns 1.00 0.01 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 100000 39,902,224.8 ns 323,576.63 ns 302,673.78 ns 100,832.42 868.29 1076.9231 923.0769 307.6923 16001881 B 51,288.08
InvokeIntArrayFixed 100000 50,582.8 ns 70.08 ns 65.55 ns 127.82 0.60 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 50,693.3 ns 59.81 ns 53.02 ns 128.10 0.59 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 60,246,579.1 ns 1,164,534.82 ns 1,594,028.54 ns 152,242.34 4,013.95 2125.0000 2000.0000 1000.0000 27896932 B 89,413.24

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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 799.4 ns 4.04 ns 3.77 ns 1.00 0.0210 360 B 1.00
NewWithSignature 792.4 ns 2.13 ns 1.99 ns 0.99 0.0210 360 B 1.00
DeclaredNewEmpty 848.9 ns 2.82 ns 2.50 ns 1.06 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 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 61.73 ns 0.516 ns 0.482 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 67.35 ns 0.519 ns 0.486 ns 1.09 0.01 0.0014 24 B 1.00
GetInstanceStringField 63.88 ns 0.365 ns 0.323 ns 1.03 0.01 - - 0.00
SetInstanceStringField 404.18 ns 1.897 ns 1.682 ns 6.55 0.06 0.0153 256 B 10.67
GetStaticIntField 66.42 ns 0.661 ns 0.586 ns 1.08 0.01 0.0014 24 B 1.00
SetStaticIntField 74.96 ns 0.607 ns 0.567 ns 1.21 0.01 0.0014 24 B 1.00
GetStaticStringField 67.57 ns 0.465 ns 0.435 ns 1.09 0.01 - - 0.00
SetStaticStringField 413.42 ns 1.624 ns 1.520 ns 6.70 0.06 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 64.14 ns 0.411 ns 0.385 ns 1.04 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 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 192.4 ns 0.51 ns 0.43 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 190.7 ns 1.38 ns 1.22 ns 0.99 - - NA
InvokeStaticWithFeedback 361.9 ns 1.97 ns 1.75 ns 1.88 0.0186 312 B NA
InvokeInstanceEmpty 192.0 ns 1.07 ns 0.95 ns 1.00 - - NA
InvokeInstanceWithFeedback 394.8 ns 1.27 ns 1.12 ns 2.05 0.0186 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 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 1.019 μs 0.0042 μs 0.0038 μ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 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 752.7 ns 5.96 ns 5.57 ns 0.0057 104 B
PredicateRoundTrip False False True 760.8 ns 2.88 ns 2.69 ns 0.0057 104 B
PredicateRoundTrip False True False 985.7 ns 1.23 ns 1.02 ns 0.0114 200 B
PredicateRoundTrip False True True 3,280.1 ns 9.69 ns 8.59 ns 0.0420 760 B
PredicateRoundTrip True False False 285.9 ns 1.52 ns 1.42 ns 0.0014 24 B
PredicateRoundTrip True False True 285.3 ns 2.33 ns 2.18 ns 0.0014 24 B
PredicateRoundTrip True True False 531.0 ns 2.31 ns 1.93 ns 0.0067 120 B
PredicateRoundTrip True True True 2,729.9 ns 5.11 ns 4.53 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 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 367.29 ns 2.508 ns 2.223 ns 0.0046 80 B
PredicateSustained False False True 370.80 ns 3.430 ns 3.041 ns 0.0043 80 B
PredicateSustained False True False 523.69 ns 1.671 ns 1.396 ns 0.0100 176 B
PredicateSustained False True True 2,772.91 ns 7.627 ns 6.761 ns 0.0400 736 B
PredicateSustained True False False 23.93 ns 0.249 ns 0.233 ns - -
PredicateSustained True False True 30.68 ns 0.196 ns 0.174 ns - -
PredicateSustained True True False 143.07 ns 0.612 ns 0.542 ns 0.0056 96 B
PredicateSustained True True True 2,293.30 ns 5.881 ns 4.910 ns 0.0367 656 B

core-ubuntu-24.04_net10.0_corretto_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-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 476.2 ns 3.62 ns 3.39 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 5,433.5 ns 38.16 ns 35.70 ns 11.41 0.11 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,105.0 ns 8.68 ns 8.11 ns 2.32 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,127.2 ns 4.00 ns 3.54 ns 2.37 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 7,767.0 ns 19.48 ns 16.27 ns 16.31 0.12 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 489.4 ns 2.73 ns 2.55 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 407,172.4 ns 1,983.66 ns 1,548.71 ns 831.94 5.18 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,935.1 ns 6.17 ns 5.77 ns 3.95 0.02 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,893.5 ns 9.70 ns 8.60 ns 3.87 0.03 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 651,167.9 ns 3,035.17 ns 2,690.60 ns 1,330.48 8.55 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 481.0 ns 3.93 ns 3.67 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 51,530,299.5 ns 657,627.67 ns 615,145.33 ns 107,131.93 1,469.95 1100.0000 1000.0000 300.0000 16002126 B 51,288.87
InvokeIntArrayFixed 100000 63,541.6 ns 230.22 ns 192.25 ns 132.10 1.05 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 63,585.3 ns 260.67 ns 243.83 ns 132.19 1.09 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 81,527,355.9 ns 1,580,641.98 ns 1,623,202.94 ns 169,496.07 3,511.50 2142.8571 2000.0000 1000.0000 27897456 B 89,414.92

core-ubuntu-24.04_net10.0_corretto_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-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.0044 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.022 μs 0.0042 μs 0.0039 μs 0.98 0.0210 360 B 1.00
DeclaredNewEmpty 1.043 μs 0.0062 μs 0.0058 μs 1.00 0.0210 360 B 1.00

core-ubuntu-24.04_net10.0_corretto_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-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 82.08 ns 0.363 ns 0.340 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 90.06 ns 0.720 ns 0.638 ns 1.10 0.01 0.0014 24 B 1.00
GetInstanceStringField 78.83 ns 0.583 ns 0.546 ns 0.96 0.01 - - 0.00
SetInstanceStringField 512.27 ns 2.209 ns 2.066 ns 6.24 0.03 0.0153 256 B 10.67
GetStaticIntField 83.76 ns 0.758 ns 0.709 ns 1.02 0.01 0.0014 24 B 1.00
SetStaticIntField 96.25 ns 0.410 ns 0.364 ns 1.17 0.01 0.0014 24 B 1.00
GetStaticStringField 83.99 ns 0.488 ns 0.433 ns 1.02 0.01 - - 0.00
SetStaticStringField 511.28 ns 2.687 ns 2.382 ns 6.23 0.04 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 85.06 ns 0.451 ns 0.400 ns 1.04 0.01 0.0014 24 B 1.00

core-ubuntu-24.04_net10.0_corretto_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-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 246.0 ns 1.63 ns 1.53 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 252.0 ns 2.72 ns 2.54 ns 1.02 0.01 - - NA
InvokeStaticWithFeedback 516.2 ns 3.16 ns 2.96 ns 2.10 0.02 0.0181 312 B NA
InvokeInstanceEmpty 242.9 ns 1.87 ns 1.66 ns 0.99 0.01 - - NA
InvokeInstanceWithFeedback 484.1 ns 2.12 ns 1.98 ns 1.97 0.01 0.0181 312 B NA

core-ubuntu-24.04_net10.0_corretto_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-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.272 μs 0.0059 μs 0.0055 μs 1.00 0.0401 680 B 1.00

core-ubuntu-24.04_net10.0_corretto_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-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 954.4 ns 6.70 ns 5.94 ns 0.0057 104 B
PredicateRoundTrip False False True 958.5 ns 7.01 ns 6.56 ns 0.0057 104 B
PredicateRoundTrip False True False 1,198.1 ns 3.68 ns 3.44 ns 0.0114 200 B
PredicateRoundTrip False True True 4,149.9 ns 26.20 ns 24.50 ns 0.0381 760 B
PredicateRoundTrip True False False 379.8 ns 3.21 ns 3.01 ns 0.0014 24 B
PredicateRoundTrip True False True 389.0 ns 3.34 ns 3.13 ns 0.0014 24 B
PredicateRoundTrip True True False 623.4 ns 2.27 ns 2.01 ns 0.0067 120 B
PredicateRoundTrip True True True 3,516.5 ns 13.13 ns 11.64 ns 0.0381 680 B

core-ubuntu-24.04_net10.0_corretto_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-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 464.41 ns 4.555 ns 4.038 ns 0.0045 80 B
PredicateSustained False False True 479.66 ns 3.868 ns 3.429 ns 0.0045 80 B
PredicateSustained False True False 663.78 ns 4.803 ns 4.493 ns 0.0100 176 B
PredicateSustained False True True 3,641.03 ns 24.369 ns 22.794 ns 0.0400 736 B
PredicateSustained True False False 30.74 ns 0.199 ns 0.186 ns - -
PredicateSustained True False True 31.10 ns 0.199 ns 0.186 ns - -
PredicateSustained True True False 230.00 ns 1.439 ns 1.346 ns 0.0056 96 B
PredicateSustained True True True 2,966.33 ns 12.569 ns 11.757 ns 0.0350 656 B

core-ubuntu-24.04_net10.0_graalvm_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 456.0 ns 2.98 ns 2.79 ns 1.00 0.01 0.0033 - - 312 B 1.00
InvokeStringArrayFixed 10 5,733.3 ns 43.38 ns 38.46 ns 12.57 0.11 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 902.2 ns 4.78 ns 4.48 ns 1.98 0.02 0.0048 - - 416 B 1.33
InvokeVarArgsWholeArray 10 907.9 ns 7.28 ns 6.81 ns 1.99 0.02 0.0048 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,980.6 ns 123.62 ns 103.23 ns 19.70 0.25 0.0305 - - 3488 B 11.18
InvokeIntParam 1000 440.1 ns 3.94 ns 3.49 ns 1.00 0.01 0.0033 - - 312 B 1.00
InvokeStringArrayFixed 1000 454,714.8 ns 1,985.81 ns 1,658.24 ns 1,033.26 8.77 1.4648 0.4883 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,447.9 ns 8.92 ns 8.34 ns 3.29 0.03 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,462.2 ns 20.65 ns 19.32 ns 3.32 0.05 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 780,487.0 ns 15,285.02 ns 21,921.32 ns 1,773.53 50.85 2.9297 - - 265856 B 852.10
InvokeIntParam 100000 457.2 ns 4.54 ns 4.02 ns 1.00 0.01 0.0033 - - 312 B 1.00
InvokeStringArrayFixed 100000 48,965,427.9 ns 497,766.97 ns 441,257.45 ns 107,115.75 1,301.26 272.7273 181.8182 181.8182 16001257 B 51,286.08
InvokeIntArrayFixed 100000 50,626.4 ns 288.50 ns 269.86 ns 110.75 1.10 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 50,456.3 ns 322.93 ns 302.07 ns 110.38 1.13 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 86,285,476.9 ns 1,555,834.00 ns 1,455,328.09 ns 188,756.32 3,473.09 1166.6667 1000.0000 1000.0000 27898320 B 89,417.69

core-ubuntu-24.04_net10.0_graalvm_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 921.3 ns 6.75 ns 6.31 ns 1.00 0.0038 360 B 1.00
NewWithSignature 919.7 ns 5.69 ns 5.32 ns 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 919.3 ns 7.48 ns 6.99 ns 1.00 0.0038 360 B 1.00

core-ubuntu-24.04_net10.0_graalvm_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 72.30 ns 0.213 ns 0.178 ns 1.00 0.00 0.0002 24 B 1.00
SetInstanceIntField 81.12 ns 0.558 ns 0.522 ns 1.12 0.01 0.0002 24 B 1.00
GetInstanceStringField 74.71 ns 0.280 ns 0.262 ns 1.03 0.00 - - 0.00
SetInstanceStringField 551.87 ns 3.248 ns 3.039 ns 7.63 0.04 0.0029 256 B 10.67
GetStaticIntField 79.27 ns 0.388 ns 0.344 ns 1.10 0.01 0.0002 24 B 1.00
SetStaticIntField 78.44 ns 0.389 ns 0.364 ns 1.08 0.01 0.0002 24 B 1.00
GetStaticStringField 78.02 ns 0.337 ns 0.298 ns 1.08 0.00 - - 0.00
SetStaticStringField 544.00 ns 4.587 ns 4.291 ns 7.52 0.06 0.0029 256 B 10.67
GetInstanceIntFieldGeneric 80.65 ns 0.442 ns 0.413 ns 1.12 0.01 0.0002 24 B 1.00

core-ubuntu-24.04_net10.0_graalvm_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 229.1 ns 1.88 ns 1.75 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 227.1 ns 2.55 ns 2.38 ns 0.99 0.01 - - NA
InvokeStaticWithFeedback 435.3 ns 2.93 ns 2.60 ns 1.90 0.02 0.0033 312 B NA
InvokeInstanceEmpty 227.4 ns 1.45 ns 1.35 ns 0.99 0.01 - - NA
InvokeInstanceWithFeedback 442.1 ns 2.49 ns 2.21 ns 1.93 0.02 0.0033 312 B NA

core-ubuntu-24.04_net10.0_graalvm_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.081 μs 0.0113 μs 0.0106 μs 1.00 0.0076 680 B 1.00

core-ubuntu-24.04_net10.0_graalvm_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 850.0 ns 7.12 ns 6.66 ns 0.0010 104 B
PredicateRoundTrip False False True 870.2 ns 7.10 ns 6.64 ns 0.0010 104 B
PredicateRoundTrip False True False 1,042.9 ns 8.65 ns 8.09 ns 0.0019 200 B
PredicateRoundTrip False True True 3,853.3 ns 62.64 ns 64.33 ns 0.0076 760 B
PredicateRoundTrip True False False 333.1 ns 4.51 ns 3.99 ns - 24 B
PredicateRoundTrip True False True 345.3 ns 3.39 ns 3.17 ns - 24 B
PredicateRoundTrip True True False 546.8 ns 5.67 ns 5.30 ns 0.0010 120 B
PredicateRoundTrip True True True 3,423.5 ns 62.48 ns 58.45 ns 0.0076 680 B

core-ubuntu-24.04_net10.0_graalvm_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 496.62 ns 3.523 ns 3.123 ns - 80 B
PredicateSustained False False True 511.16 ns 5.809 ns 5.434 ns - 80 B
PredicateSustained False True False 690.73 ns 4.388 ns 4.104 ns 0.0013 176 B
PredicateSustained False True True 3,513.57 ns 50.016 ns 46.785 ns - 736 B
PredicateSustained True False False 49.66 ns 0.235 ns 0.220 ns - -
PredicateSustained True False True 49.30 ns 0.256 ns 0.227 ns - -
PredicateSustained True True False 218.84 ns 1.418 ns 1.326 ns 0.0009 96 B
PredicateSustained True True True 3,058.59 ns 49.793 ns 46.577 ns 0.0050 656 B

core-ubuntu-24.04_net10.0_graalvm_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 475.3 ns 1.82 ns 1.52 ns 1.00 0.00 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 5,632.8 ns 46.81 ns 41.50 ns 11.85 0.09 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,144.9 ns 9.06 ns 8.48 ns 2.41 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,124.4 ns 8.45 ns 7.90 ns 2.37 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 7,510.9 ns 59.56 ns 52.80 ns 15.80 0.12 0.2060 - - 3488 B 11.18
InvokeIntParam 1000 529.3 ns 3.92 ns 3.28 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 394,263.2 ns 2,052.96 ns 1,819.89 ns 744.93 5.55 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,631.7 ns 5.40 ns 5.05 ns 3.08 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,610.4 ns 8.95 ns 7.47 ns 3.04 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 609,500.9 ns 4,953.14 ns 4,390.83 ns 1,151.60 10.55 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 492.0 ns 4.03 ns 3.77 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 50,917,363.2 ns 408,979.16 ns 382,559.36 ns 103,498.19 1,073.15 1100.0000 1000.0000 300.0000 16001814 B 51,287.87
InvokeIntArrayFixed 100000 35,860.1 ns 153.91 ns 143.97 ns 72.89 0.61 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 35,788.2 ns 135.99 ns 127.20 ns 72.75 0.59 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 78,172,689.3 ns 1,291,334.50 ns 1,144,734.40 ns 158,899.27 2,535.86 2142.8571 2000.0000 1000.0000 27897311 B 89,414.46

core-ubuntu-24.04_net10.0_graalvm_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
NewEmpty 1.052 μs 0.0135 μs 0.0120 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.019 μs 0.0026 μs 0.0020 μs 0.97 0.01 0.0210 360 B 1.00
DeclaredNewEmpty 1.085 μs 0.0107 μs 0.0100 μs 1.03 0.01 0.0210 360 B 1.00

core-ubuntu-24.04_net10.0_graalvm_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.64 ns 0.497 ns 0.441 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 86.21 ns 0.553 ns 0.518 ns 1.07 0.01 0.0014 24 B 1.00
GetInstanceStringField 81.23 ns 0.536 ns 0.502 ns 1.01 0.01 - - 0.00
SetInstanceStringField 528.28 ns 2.402 ns 2.130 ns 6.55 0.04 0.0153 256 B 10.67
GetStaticIntField 90.03 ns 0.644 ns 0.603 ns 1.12 0.01 0.0014 24 B 1.00
SetStaticIntField 82.87 ns 0.728 ns 0.681 ns 1.03 0.01 0.0014 24 B 1.00
GetStaticStringField 78.64 ns 0.408 ns 0.362 ns 0.98 0.01 - - 0.00
SetStaticStringField 502.89 ns 3.178 ns 2.973 ns 6.24 0.05 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 88.57 ns 0.599 ns 0.560 ns 1.10 0.01 0.0014 24 B 1.00

core-ubuntu-24.04_net10.0_graalvm_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 249.3 ns 3.23 ns 3.02 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 251.9 ns 2.00 ns 1.87 ns 1.01 0.01 - - NA
InvokeStaticWithFeedback 469.2 ns 3.49 ns 3.10 ns 1.88 0.03 0.0186 312 B NA
InvokeInstanceEmpty 250.3 ns 2.29 ns 2.03 ns 1.00 0.01 - - NA
InvokeInstanceWithFeedback 483.4 ns 4.22 ns 3.94 ns 1.94 0.03 0.0181 312 B NA

core-ubuntu-24.04_net10.0_graalvm_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.290 μs 0.0132 μs 0.0123 μs 1.00 0.0401 680 B 1.00

core-ubuntu-24.04_net10.0_graalvm_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 958.3 ns 8.79 ns 8.22 ns 0.0057 104 B
PredicateRoundTrip False False True 957.2 ns 7.63 ns 7.14 ns 0.0057 104 B
PredicateRoundTrip False True False 1,192.9 ns 6.27 ns 4.89 ns 0.0114 200 B
PredicateRoundTrip False True True 4,041.1 ns 25.26 ns 22.39 ns 0.0381 760 B
PredicateRoundTrip True False False 377.1 ns 2.87 ns 2.69 ns 0.0014 24 B
PredicateRoundTrip True False True 396.8 ns 3.13 ns 2.77 ns 0.0014 24 B
PredicateRoundTrip True True False 596.6 ns 2.72 ns 2.55 ns 0.0067 120 B
PredicateRoundTrip True True True 3,444.6 ns 10.06 ns 9.41 ns 0.0381 680 B

core-ubuntu-24.04_net10.0_graalvm_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 470.90 ns 3.465 ns 3.241 ns 0.0045 80 B
PredicateSustained False False True 457.88 ns 5.281 ns 4.681 ns 0.0045 80 B
PredicateSustained False True False 699.52 ns 3.565 ns 3.334 ns 0.0100 176 B
PredicateSustained False True True 3,529.87 ns 17.451 ns 14.572 ns 0.0400 736 B
PredicateSustained True False False 30.72 ns 0.215 ns 0.190 ns - -
PredicateSustained True False True 31.04 ns 0.209 ns 0.196 ns - -
PredicateSustained True True False 183.68 ns 1.212 ns 1.134 ns 0.0056 96 B
PredicateSustained True True True 2,912.71 ns 11.541 ns 9.637 ns 0.0350 656 B

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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 552.6 ns 6.61 ns 6.19 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 6,006.9 ns 40.55 ns 33.86 ns 10.87 0.13 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,218.9 ns 5.69 ns 5.05 ns 2.21 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,159.9 ns 9.43 ns 8.83 ns 2.10 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,225.7 ns 60.79 ns 56.87 ns 14.89 0.19 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 560.0 ns 4.54 ns 3.79 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 419,580.8 ns 2,369.69 ns 2,216.61 ns 749.32 6.23 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,609.1 ns 9.53 ns 8.91 ns 2.87 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,602.2 ns 10.02 ns 8.89 ns 2.86 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 656,125.8 ns 5,080.49 ns 4,752.29 ns 1,171.76 11.25 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 555.9 ns 5.49 ns 4.87 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 52,783,387.8 ns 465,850.05 ns 389,005.89 ns 94,951.71 1,055.23 1100.0000 1000.0000 300.0000 16001408 B 51,286.56
InvokeIntArrayFixed 100000 41,610.3 ns 701.92 ns 656.57 ns 74.85 1.31 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 41,658.8 ns 599.14 ns 560.43 ns 74.94 1.17 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 80,785,717.3 ns 1,350,385.99 ns 1,263,151.89 ns 145,324.92 2,526.83 2142.8571 2000.0000 1000.0000 27896531 B 89,411.96

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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.090 μs 0.0043 μs 0.0038 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.087 μs 0.0029 μs 0.0024 μs 1.00 0.0210 360 B 1.00
DeclaredNewEmpty 1.114 μs 0.0070 μs 0.0065 μs 1.02 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 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.57 ns 0.396 ns 0.351 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 91.37 ns 0.970 ns 0.907 ns 1.23 0.01 0.0014 24 B 1.00
GetInstanceStringField 75.27 ns 1.237 ns 1.157 ns 1.01 0.02 - - 0.00
SetInstanceStringField 563.52 ns 4.562 ns 4.044 ns 7.56 0.06 0.0153 256 B 10.67
GetStaticIntField 79.78 ns 0.840 ns 0.786 ns 1.07 0.01 0.0014 24 B 1.00
SetStaticIntField 85.41 ns 1.190 ns 1.113 ns 1.15 0.02 0.0014 24 B 1.00
GetStaticStringField 76.15 ns 1.235 ns 1.156 ns 1.02 0.02 - - 0.00
SetStaticStringField 551.51 ns 2.890 ns 2.413 ns 7.40 0.05 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 90.90 ns 0.876 ns 0.819 ns 1.22 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 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 259.8 ns 3.69 ns 3.45 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 257.0 ns 3.59 ns 3.36 ns 0.99 0.02 - - NA
InvokeStaticWithFeedback 506.5 ns 4.58 ns 4.06 ns 1.95 0.03 0.0181 312 B NA
InvokeInstanceEmpty 265.3 ns 3.26 ns 3.05 ns 1.02 0.02 - - NA
InvokeInstanceWithFeedback 563.7 ns 4.29 ns 4.02 ns 2.17 0.03 0.0181 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 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.353 μs 0.0076 μs 0.0067 μs 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 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,031.9 ns 8.31 ns 7.78 ns 0.0057 104 B
PredicateRoundTrip False False True 1,022.4 ns 14.75 ns 13.80 ns 0.0057 104 B
PredicateRoundTrip False True False 1,275.5 ns 6.42 ns 5.69 ns 0.0114 200 B
PredicateRoundTrip False True True 4,345.0 ns 30.27 ns 28.31 ns 0.0381 760 B
PredicateRoundTrip True False False 413.9 ns 4.58 ns 4.29 ns 0.0014 24 B
PredicateRoundTrip True False True 420.1 ns 5.14 ns 4.81 ns 0.0014 24 B
PredicateRoundTrip True True False 662.4 ns 4.43 ns 4.14 ns 0.0067 120 B
PredicateRoundTrip True True True 3,719.1 ns 10.93 ns 9.69 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 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 489.57 ns 6.098 ns 5.704 ns 0.0040 80 B
PredicateSustained False False True 484.20 ns 6.617 ns 5.865 ns 0.0045 80 B
PredicateSustained False True False 797.50 ns 2.194 ns 1.832 ns 0.0100 176 B
PredicateSustained False True True 3,751.91 ns 23.603 ns 19.709 ns 0.0400 736 B
PredicateSustained True False False 29.32 ns 0.345 ns 0.323 ns - -
PredicateSustained True False True 30.23 ns 0.290 ns 0.271 ns - -
PredicateSustained True True False 191.27 ns 1.293 ns 1.146 ns 0.0056 96 B
PredicateSustained True True True 3,184.39 ns 20.404 ns 19.086 ns 0.0300 656 B

core-ubuntu-24.04_net10.0_microsoft_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 552.8 ns 8.46 ns 7.92 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 6,491.4 ns 23.74 ns 22.21 ns 11.74 0.17 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,217.9 ns 8.30 ns 7.35 ns 2.20 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,218.7 ns 7.82 ns 7.32 ns 2.20 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,522.1 ns 57.52 ns 53.80 ns 15.42 0.23 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 573.7 ns 6.12 ns 5.72 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 475,396.4 ns 3,258.42 ns 2,720.93 ns 828.66 9.19 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,889.5 ns 6.22 ns 5.20 ns 3.29 0.03 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,937.4 ns 7.14 ns 5.96 ns 3.38 0.03 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 635,349.8 ns 3,511.06 ns 2,931.89 ns 1,107.47 11.74 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 570.0 ns 4.35 ns 3.85 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 55,672,538.9 ns 606,644.98 ns 567,456.09 ns 97,674.76 1,156.14 1111.1111 1000.0000 333.3333 16001934 B 51,288.25
InvokeIntArrayFixed 100000 65,989.9 ns 479.54 ns 448.56 ns 115.78 1.07 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 66,413.7 ns 467.24 ns 437.05 ns 116.52 1.06 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 81,398,582.2 ns 1,599,458.14 ns 1,496,134.13 ns 142,809.85 2,707.77 2142.8571 2000.0000 1000.0000 27897002 B 89,413.47

core-ubuntu-24.04_net10.0_microsoft_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
NewEmpty 1.102 μs 0.0141 μs 0.0132 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.129 μs 0.0086 μs 0.0076 μs 1.02 0.01 0.0210 360 B 1.00
DeclaredNewEmpty 1.120 μs 0.0031 μs 0.0029 μs 1.02 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 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.70 ns 0.630 ns 0.589 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 88.91 ns 0.869 ns 0.813 ns 1.16 0.01 0.0014 24 B 1.00
GetInstanceStringField 88.12 ns 0.791 ns 0.740 ns 1.15 0.01 - - 0.00
SetInstanceStringField 645.87 ns 4.630 ns 4.331 ns 8.42 0.08 0.0153 256 B 10.67
GetStaticIntField 83.27 ns 1.117 ns 0.990 ns 1.09 0.01 0.0014 24 B 1.00
SetStaticIntField 84.20 ns 0.974 ns 0.911 ns 1.10 0.01 0.0014 24 B 1.00
GetStaticStringField 83.91 ns 0.903 ns 0.801 ns 1.09 0.01 - - 0.00
SetStaticStringField 641.14 ns 6.898 ns 6.115 ns 8.36 0.10 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 88.86 ns 0.990 ns 0.926 ns 1.16 0.01 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 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 322.7 ns 4.79 ns 4.48 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 338.7 ns 5.09 ns 4.76 ns 1.05 0.02 - - NA
InvokeStaticWithFeedback 519.0 ns 6.25 ns 5.54 ns 1.61 0.03 0.0181 312 B NA
InvokeInstanceEmpty 359.6 ns 4.01 ns 3.75 ns 1.11 0.02 - - NA
InvokeInstanceWithFeedback 546.8 ns 5.03 ns 4.20 ns 1.69 0.03 0.0181 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 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.411 μs 0.0113 μs 0.0100 μs 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 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,106.3 ns 14.47 ns 12.82 ns 0.0057 104 B
PredicateRoundTrip False False True 1,074.4 ns 9.74 ns 9.11 ns 0.0057 104 B
PredicateRoundTrip False True False 1,328.1 ns 7.26 ns 6.43 ns 0.0114 200 B
PredicateRoundTrip False True True 4,538.9 ns 17.30 ns 14.45 ns 0.0381 760 B
PredicateRoundTrip True False False 419.3 ns 4.53 ns 4.24 ns 0.0014 24 B
PredicateRoundTrip True False True 391.9 ns 4.88 ns 4.56 ns 0.0014 24 B
PredicateRoundTrip True True False 684.8 ns 3.95 ns 3.50 ns 0.0067 120 B
PredicateRoundTrip True True True 3,870.6 ns 20.33 ns 15.87 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 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 634.62 ns 6.407 ns 5.679 ns 0.0038 80 B
PredicateSustained False False True 559.64 ns 5.343 ns 4.998 ns 0.0040 80 B
PredicateSustained False True False 769.25 ns 6.835 ns 6.394 ns 0.0100 176 B
PredicateSustained False True True 3,994.32 ns 25.036 ns 20.906 ns 0.0400 736 B
PredicateSustained True False False 29.46 ns 0.386 ns 0.361 ns - -
PredicateSustained True False True 28.65 ns 0.283 ns 0.265 ns - -
PredicateSustained True True False 196.80 ns 1.158 ns 1.026 ns 0.0056 96 B
PredicateSustained True True True 3,309.75 ns 34.504 ns 30.587 ns 0.0300 656 B

core-ubuntu-24.04_net10.0_microsoft_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.72GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 600.8 ns 4.26 ns 3.99 ns 1.00 0.01 0.0124 - - 312 B 1.00
InvokeStringArrayFixed 10 7,013.2 ns 38.69 ns 34.29 ns 11.67 0.09 0.0763 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,209.2 ns 18.91 ns 17.69 ns 2.01 0.03 0.0153 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,196.7 ns 6.82 ns 6.04 ns 1.99 0.02 0.0153 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,035.0 ns 50.87 ns 47.58 ns 15.04 0.12 0.1373 - - 3488 B 11.18
InvokeIntParam 1000 590.9 ns 3.81 ns 3.38 ns 1.00 0.01 0.0124 - - 312 B 1.00
InvokeStringArrayFixed 1000 528,350.9 ns 4,098.16 ns 3,632.91 ns 894.18 7.72 5.8594 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,980.8 ns 26.32 ns 24.62 ns 3.35 0.04 0.0153 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,996.6 ns 26.51 ns 23.50 ns 3.38 0.04 0.0153 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 734,641.0 ns 5,289.65 ns 4,947.94 ns 1,243.30 10.62 9.7656 2.9297 - 265856 B 852.10
InvokeIntParam 100000 573.2 ns 2.74 ns 2.56 ns 1.00 0.01 0.0124 - - 312 B 1.00
InvokeStringArrayFixed 100000 66,648,327.0 ns 499,291.59 ns 467,037.66 ns 116,281.88 934.68 875.0000 750.0000 375.0000 16000697 B 51,284.29
InvokeIntArrayFixed 100000 77,260.1 ns 1,184.87 ns 1,050.36 ns 134.80 1.86 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 77,555.4 ns 679.84 ns 635.92 ns 135.31 1.22 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 90,484,440.3 ns 1,493,935.76 ns 1,324,335.14 ns 157,868.95 2,333.30 1666.6667 1500.0000 1000.0000 27897435 B 89,414.86

core-ubuntu-24.04_net10.0_microsoft_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.72GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.169 μs 0.0073 μs 0.0068 μs 1.00 0.0134 360 B 1.00
NewWithSignature 1.161 μs 0.0081 μs 0.0076 μs 0.99 0.0134 360 B 1.00
DeclaredNewEmpty 1.161 μs 0.0064 μs 0.0057 μs 0.99 0.0134 360 B 1.00

core-ubuntu-24.04_net10.0_microsoft_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.72GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.16 ns 0.481 ns 0.450 ns 1.00 0.01 0.0010 24 B 1.00
SetInstanceIntField 85.88 ns 0.436 ns 0.408 ns 1.11 0.01 0.0010 24 B 1.00
GetInstanceStringField 72.70 ns 0.270 ns 0.253 ns 0.94 0.01 - - 0.00
SetInstanceStringField 657.68 ns 3.560 ns 3.330 ns 8.52 0.06 0.0095 256 B 10.67
GetStaticIntField 80.72 ns 0.435 ns 0.363 ns 1.05 0.01 0.0010 24 B 1.00
SetStaticIntField 85.82 ns 0.493 ns 0.461 ns 1.11 0.01 0.0010 24 B 1.00
GetStaticStringField 71.40 ns 0.246 ns 0.230 ns 0.93 0.01 - - 0.00
SetStaticStringField 642.72 ns 3.907 ns 3.464 ns 8.33 0.06 0.0095 256 B 10.67
GetInstanceIntFieldGeneric 83.20 ns 0.556 ns 0.520 ns 1.08 0.01 0.0010 24 B 1.00

core-ubuntu-24.04_net10.0_microsoft_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.72GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 259.2 ns 2.22 ns 2.08 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 267.3 ns 1.87 ns 1.75 ns 1.03 0.01 - - NA
InvokeStaticWithFeedback 566.4 ns 2.27 ns 2.01 ns 2.19 0.02 0.0124 312 B NA
InvokeInstanceEmpty 267.1 ns 0.84 ns 0.75 ns 1.03 0.01 - - NA
InvokeInstanceWithFeedback 583.3 ns 3.47 ns 3.07 ns 2.25 0.02 0.0124 312 B NA

core-ubuntu-24.04_net10.0_microsoft_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.72GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.406 μs 0.0126 μs 0.0118 μs 1.00 0.0267 680 B 1.00

core-ubuntu-24.04_net10.0_microsoft_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.72GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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,014.4 ns 5.29 ns 4.69 ns 0.0038 104 B
PredicateRoundTrip False False True 1,022.1 ns 6.75 ns 6.31 ns 0.0038 104 B
PredicateRoundTrip False True False 1,330.2 ns 8.74 ns 7.74 ns 0.0076 200 B
PredicateRoundTrip False True True 4,614.7 ns 35.16 ns 32.89 ns 0.0229 760 B
PredicateRoundTrip True False False 446.3 ns 1.21 ns 1.07 ns 0.0010 24 B
PredicateRoundTrip True False True 465.2 ns 5.25 ns 4.92 ns 0.0010 24 B
PredicateRoundTrip True True False 742.2 ns 5.24 ns 4.90 ns 0.0048 120 B
PredicateRoundTrip True True True 4,010.5 ns 31.04 ns 29.04 ns 0.0229 680 B

core-ubuntu-24.04_net10.0_microsoft_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz (Max: 2.72GHz), 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 533.06 ns 4.625 ns 4.326 ns 0.0030 80 B
PredicateSustained False False True 529.18 ns 4.757 ns 4.450 ns 0.0030 80 B
PredicateSustained False True False 753.20 ns 5.729 ns 5.359 ns 0.0057 176 B
PredicateSustained False True True 3,969.26 ns 41.759 ns 39.062 ns 0.0200 736 B
PredicateSustained True False False 48.00 ns 0.959 ns 1.655 ns - -
PredicateSustained True False True 53.10 ns 1.052 ns 1.729 ns - -
PredicateSustained True True False 235.03 ns 1.327 ns 1.176 ns 0.0038 96 B
PredicateSustained True True True 3,450.76 ns 26.658 ns 24.936 ns 0.0200 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 533.6 ns 6.54 ns 6.12 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 5,813.9 ns 51.85 ns 45.96 ns 10.90 0.15 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,148.1 ns 6.55 ns 5.47 ns 2.15 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,202.0 ns 7.07 ns 5.52 ns 2.25 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 7,753.6 ns 103.90 ns 97.19 ns 14.53 0.24 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 528.2 ns 6.79 ns 6.02 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 446,728.8 ns 3,496.75 ns 3,270.86 ns 845.79 11.03 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,812.7 ns 18.53 ns 16.43 ns 3.43 0.05 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,794.7 ns 8.47 ns 7.92 ns 3.40 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 630,244.9 ns 7,644.93 ns 7,151.07 ns 1,193.25 18.51 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 551.4 ns 6.74 ns 6.30 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 55,078,842.1 ns 723,435.38 ns 676,701.90 ns 99,904.40 1,623.48 1111.1111 1000.0000 333.3333 16001628 B 51,287.27
InvokeIntArrayFixed 100000 65,529.1 ns 303.78 ns 269.29 ns 118.86 1.40 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 65,460.8 ns 340.65 ns 318.64 ns 118.74 1.43 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 79,047,484.0 ns 1,142,317.08 ns 1,068,524.11 ns 143,379.76 2,457.89 2142.8571 2000.0000 1000.0000 27897431 B 89,414.84

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.068 μs 0.0042 μs 0.0035 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.071 μs 0.0086 μs 0.0077 μs 1.00 0.0210 360 B 1.00
DeclaredNewEmpty 1.071 μs 0.0062 μs 0.0055 μ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.88 ns 1.066 ns 0.945 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 80.74 ns 1.032 ns 0.966 ns 1.08 0.02 0.0014 24 B 1.00
GetInstanceStringField 77.39 ns 1.171 ns 1.096 ns 1.03 0.02 - - 0.00
SetInstanceStringField 579.93 ns 8.755 ns 7.761 ns 7.75 0.14 0.0153 256 B 10.67
GetStaticIntField 76.12 ns 0.830 ns 0.777 ns 1.02 0.02 0.0014 24 B 1.00
SetStaticIntField 85.97 ns 0.698 ns 0.653 ns 1.15 0.02 0.0014 24 B 1.00
GetStaticStringField 73.87 ns 0.342 ns 0.303 ns 0.99 0.01 - - 0.00
SetStaticStringField 583.74 ns 2.219 ns 1.967 ns 7.80 0.10 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 83.43 ns 0.622 ns 0.582 ns 1.11 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 261.7 ns 3.59 ns 3.36 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 258.7 ns 3.42 ns 3.20 ns 0.99 0.02 - - NA
InvokeStaticWithFeedback 511.3 ns 5.08 ns 4.51 ns 1.95 0.03 0.0181 312 B NA
InvokeInstanceEmpty 273.6 ns 2.90 ns 2.71 ns 1.05 0.02 - - NA
InvokeInstanceWithFeedback 536.5 ns 6.87 ns 6.42 ns 2.05 0.03 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.317 μs 0.0133 μs 0.0118 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,003.6 ns 9.31 ns 8.26 ns 0.0057 104 B
PredicateRoundTrip False False True 981.2 ns 11.57 ns 10.25 ns 0.0057 104 B
PredicateRoundTrip False True False 1,251.1 ns 3.74 ns 3.32 ns 0.0114 200 B
PredicateRoundTrip False True True 4,202.3 ns 27.11 ns 25.36 ns 0.0381 760 B
PredicateRoundTrip True False False 390.0 ns 4.84 ns 4.53 ns 0.0014 24 B
PredicateRoundTrip True False True 381.1 ns 5.85 ns 5.47 ns 0.0014 24 B
PredicateRoundTrip True True False 632.3 ns 2.55 ns 2.39 ns 0.0067 120 B
PredicateRoundTrip True True True 3,574.5 ns 9.20 ns 8.16 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 481.95 ns 5.872 ns 5.493 ns 0.0045 80 B
PredicateSustained False False True 504.88 ns 3.965 ns 3.709 ns 0.0040 80 B
PredicateSustained False True False 719.39 ns 6.748 ns 6.312 ns 0.0100 176 B
PredicateSustained False True True 3,694.09 ns 24.924 ns 20.813 ns 0.0400 736 B
PredicateSustained True False False 29.68 ns 0.286 ns 0.267 ns - -
PredicateSustained True False True 27.79 ns 0.243 ns 0.227 ns - -
PredicateSustained True True False 190.01 ns 1.351 ns 1.198 ns 0.0056 96 B
PredicateSustained True True True 3,013.93 ns 12.182 ns 10.799 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 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 571.1 ns 4.71 ns 4.41 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 6,224.3 ns 33.80 ns 29.96 ns 10.90 0.10 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,199.4 ns 4.89 ns 4.08 ns 2.10 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,186.6 ns 7.05 ns 6.25 ns 2.08 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,346.7 ns 43.66 ns 40.84 ns 14.61 0.13 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 552.0 ns 7.09 ns 6.63 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 471,363.1 ns 3,005.58 ns 2,811.42 ns 854.01 11.25 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,856.2 ns 8.83 ns 7.82 ns 3.36 0.04 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,865.8 ns 15.32 ns 14.33 ns 3.38 0.05 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 641,134.8 ns 6,003.25 ns 5,321.72 ns 1,161.60 16.61 15.6250 5.8594 - 265856 B 852.10
InvokeIntParam 100000 538.4 ns 7.21 ns 6.39 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 55,067,007.3 ns 675,232.97 ns 631,613.34 ns 102,296.24 1,625.88 1100.0000 1000.0000 300.0000 16001461 B 51,286.73
InvokeIntArrayFixed 100000 69,408.1 ns 475.19 ns 444.49 ns 128.94 1.67 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 69,434.7 ns 605.72 ns 566.59 ns 128.99 1.79 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 81,686,686.6 ns 1,620,727.93 ns 1,436,733.10 ns 151,746.78 3,102.58 2000.0000 1833.3333 1000.0000 27897324 B 89,414.50

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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.095 μs 0.0100 μs 0.0093 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.095 μs 0.0062 μs 0.0058 μs 1.00 0.0210 360 B 1.00
DeclaredNewEmpty 1.090 μs 0.0075 μs 0.0070 μs 1.00 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 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.62 ns 0.603 ns 0.564 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 84.15 ns 0.761 ns 0.675 ns 1.16 0.01 0.0014 24 B 1.00
GetInstanceStringField 74.39 ns 1.328 ns 1.243 ns 1.02 0.02 - - 0.00
SetInstanceStringField 567.80 ns 3.611 ns 3.378 ns 7.82 0.07 0.0153 256 B 10.67
GetStaticIntField 79.96 ns 0.756 ns 0.707 ns 1.10 0.01 0.0014 24 B 1.00
SetStaticIntField 79.24 ns 0.668 ns 0.625 ns 1.09 0.01 0.0014 24 B 1.00
GetStaticStringField 69.36 ns 0.893 ns 0.836 ns 0.96 0.01 - - 0.00
SetStaticStringField 580.62 ns 5.563 ns 4.932 ns 8.00 0.09 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 90.18 ns 0.376 ns 0.314 ns 1.24 0.01 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 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 271.1 ns 2.97 ns 2.78 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 265.1 ns 2.42 ns 2.26 ns 0.98 0.01 - - NA
InvokeStaticWithFeedback 561.5 ns 7.12 ns 6.66 ns 2.07 0.03 0.0181 312 B NA
InvokeInstanceEmpty 272.4 ns 3.09 ns 2.74 ns 1.00 0.01 - - NA
InvokeInstanceWithFeedback 562.9 ns 7.38 ns 6.91 ns 2.08 0.03 0.0181 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 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.417 μs 0.0126 μs 0.0118 μs 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 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,018.9 ns 8.86 ns 7.85 ns 0.0057 104 B
PredicateRoundTrip False False True 1,016.3 ns 8.06 ns 7.54 ns 0.0057 104 B
PredicateRoundTrip False True False 1,247.4 ns 6.54 ns 6.12 ns 0.0114 200 B
PredicateRoundTrip False True True 4,383.6 ns 26.16 ns 23.19 ns 0.0381 760 B
PredicateRoundTrip True False False 430.5 ns 2.58 ns 2.42 ns 0.0014 24 B
PredicateRoundTrip True False True 453.2 ns 4.79 ns 4.48 ns 0.0014 24 B
PredicateRoundTrip True True False 675.2 ns 2.37 ns 2.10 ns 0.0067 120 B
PredicateRoundTrip True True True 3,718.2 ns 9.83 ns 8.21 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 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 506.48 ns 5.639 ns 5.275 ns 0.0040 80 B
PredicateSustained False False True 505.99 ns 5.482 ns 5.128 ns 0.0040 80 B
PredicateSustained False True False 701.48 ns 6.332 ns 5.923 ns 0.0100 176 B
PredicateSustained False True True 3,790.13 ns 20.469 ns 17.093 ns 0.0400 736 B
PredicateSustained True False False 28.99 ns 0.292 ns 0.273 ns - -
PredicateSustained True False True 29.33 ns 0.228 ns 0.213 ns - -
PredicateSustained True True False 191.36 ns 1.055 ns 0.881 ns 0.0056 96 B
PredicateSustained True True True 3,177.88 ns 23.383 ns 19.526 ns 0.0350 656 B

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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 567.0 ns 6.38 ns 5.65 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 5,976.0 ns 40.77 ns 38.14 ns 10.54 0.12 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,172.7 ns 7.89 ns 6.99 ns 2.07 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,189.5 ns 6.72 ns 6.28 ns 2.10 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,204.2 ns 106.36 ns 99.49 ns 14.47 0.22 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 525.2 ns 4.76 ns 4.22 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 471,711.7 ns 2,828.89 ns 2,646.14 ns 898.17 8.52 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,826.6 ns 6.82 ns 6.04 ns 3.48 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,845.1 ns 8.26 ns 7.32 ns 3.51 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 648,272.6 ns 4,145.05 ns 3,674.48 ns 1,234.36 11.75 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 539.8 ns 4.24 ns 3.54 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 58,117,741.5 ns 390,675.90 ns 365,438.48 ns 107,676.69 945.08 1111.1111 1000.0000 333.3333 16001846 B 51,287.97
InvokeIntArrayFixed 100000 65,781.9 ns 610.67 ns 509.94 ns 121.88 1.19 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 66,297.0 ns 304.95 ns 285.25 ns 122.83 0.93 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 82,098,188.0 ns 1,220,649.00 ns 1,141,795.83 ns 152,106.07 2,263.31 2142.8571 2000.0000 1000.0000 27897538 B 89,415.19

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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.128 μs 0.0074 μs 0.0062 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.116 μs 0.0074 μs 0.0069 μs 0.99 0.0210 360 B 1.00
DeclaredNewEmpty 1.104 μs 0.0088 μs 0.0078 μs 0.98 0.0210 360 B 1.00

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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 82.92 ns 0.742 ns 0.694 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 85.12 ns 0.895 ns 0.838 ns 1.03 0.01 0.0014 24 B 1.00
GetInstanceStringField 78.72 ns 0.811 ns 0.758 ns 0.95 0.01 - - 0.00
SetInstanceStringField 602.52 ns 4.791 ns 4.247 ns 7.27 0.08 0.0153 256 B 10.67
GetStaticIntField 81.58 ns 0.658 ns 0.583 ns 0.98 0.01 0.0014 24 B 1.00
SetStaticIntField 84.77 ns 0.750 ns 0.665 ns 1.02 0.01 0.0014 24 B 1.00
GetStaticStringField 75.90 ns 0.650 ns 0.576 ns 0.92 0.01 - - 0.00
SetStaticStringField 592.34 ns 3.988 ns 3.730 ns 7.14 0.07 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 84.83 ns 0.687 ns 0.574 ns 1.02 0.01 0.0014 24 B 1.00

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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.9 ns 1.91 ns 1.69 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 254.6 ns 1.89 ns 1.77 ns 0.95 0.01 - - NA
InvokeStaticWithFeedback 534.8 ns 8.58 ns 8.03 ns 1.99 0.03 0.0181 312 B NA
InvokeInstanceEmpty 278.5 ns 2.06 ns 1.83 ns 1.04 0.01 - - NA
InvokeInstanceWithFeedback 536.1 ns 7.43 ns 6.95 ns 1.99 0.03 0.0181 312 B NA

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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.412 μs 0.0068 μs 0.0064 μs 1.00 0.0401 680 B 1.00

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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,020.2 ns 14.59 ns 12.94 ns 0.0057 104 B
PredicateRoundTrip False False True 1,025.6 ns 14.91 ns 13.95 ns 0.0057 104 B
PredicateRoundTrip False True False 1,257.2 ns 4.67 ns 4.14 ns 0.0114 200 B
PredicateRoundTrip False True True 4,271.0 ns 11.35 ns 10.06 ns 0.0381 760 B
PredicateRoundTrip True False False 408.2 ns 2.47 ns 2.19 ns 0.0014 24 B
PredicateRoundTrip True False True 399.3 ns 6.79 ns 6.36 ns 0.0014 24 B
PredicateRoundTrip True True False 656.3 ns 3.15 ns 2.63 ns 0.0067 120 B
PredicateRoundTrip True True True 3,652.0 ns 11.11 ns 9.28 ns 0.0381 680 B

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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 580.68 ns 5.524 ns 5.167 ns 0.0044 80 B
PredicateSustained False False True 610.26 ns 5.087 ns 4.509 ns 0.0044 80 B
PredicateSustained False True False 828.56 ns 3.963 ns 3.707 ns 0.0100 176 B
PredicateSustained False True True 3,837.53 ns 26.508 ns 22.136 ns 0.0400 736 B
PredicateSustained True False False 27.57 ns 0.216 ns 0.192 ns - -
PredicateSustained True False True 27.57 ns 0.263 ns 0.246 ns - -
PredicateSustained True True False 187.96 ns 2.445 ns 2.168 ns 0.0056 96 B
PredicateSustained True True True 3,113.22 ns 18.143 ns 16.971 ns 0.0350 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-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 372.7 ns 5.61 ns 5.24 ns 1.00 0.02 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 10 4,262.9 ns 52.31 ns 48.93 ns 11.44 0.20 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 872.5 ns 6.86 ns 6.41 ns 2.34 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 889.8 ns 3.85 ns 3.60 ns 2.39 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 5,986.2 ns 113.74 ns 106.40 ns 16.06 0.35 0.2060 - - 3488 B 11.18
InvokeIntParam 1000 380.8 ns 3.93 ns 3.68 ns 1.00 0.01 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 1000 305,191.5 ns 2,742.49 ns 2,565.33 ns 801.44 9.96 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,470.2 ns 6.78 ns 6.01 ns 3.86 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,488.6 ns 6.88 ns 6.43 ns 3.91 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 466,215.2 ns 4,292.46 ns 3,805.15 ns 1,224.30 15.01 15.6250 7.3242 - 265856 B 852.10
InvokeIntParam 100000 377.8 ns 4.80 ns 4.25 ns 1.00 0.02 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 100000 39,739,478.0 ns 516,451.55 ns 483,089.10 ns 105,205.06 1,687.58 1142.8571 1000.0000 357.1429 16001866 B 51,288.03
InvokeIntArrayFixed 100000 51,076.2 ns 205.55 ns 182.21 ns 135.22 1.55 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 50,992.0 ns 167.04 ns 139.49 ns 134.99 1.51 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 60,153,444.7 ns 1,190,810.72 ns 1,462,422.64 ns 159,248.36 4,166.76 2125.0000 2000.0000 1000.0000 27897206 B 89,414.12

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-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 836.0 ns 9.44 ns 8.83 ns 1.00 0.0210 360 B 1.00
NewWithSignature 800.6 ns 9.43 ns 8.82 ns 0.96 0.0210 360 B 1.00
DeclaredNewEmpty 793.9 ns 3.89 ns 3.44 ns 0.95 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-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.80 ns 0.417 ns 0.369 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 65.67 ns 0.299 ns 0.250 ns 1.03 0.01 0.0014 24 B 1.00
GetInstanceStringField 65.54 ns 0.683 ns 0.639 ns 1.03 0.01 - - 0.00
SetInstanceStringField 394.83 ns 2.107 ns 1.759 ns 6.19 0.04 0.0153 256 B 10.67
GetStaticIntField 65.31 ns 0.553 ns 0.517 ns 1.02 0.01 0.0014 24 B 1.00
SetStaticIntField 64.49 ns 0.471 ns 0.418 ns 1.01 0.01 0.0014 24 B 1.00
GetStaticStringField 59.34 ns 0.437 ns 0.409 ns 0.93 0.01 - - 0.00
SetStaticStringField 393.79 ns 4.643 ns 4.343 ns 6.17 0.07 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 74.55 ns 0.548 ns 0.513 ns 1.17 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-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 190.8 ns 1.43 ns 1.33 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 195.2 ns 1.46 ns 1.37 ns 1.02 0.01 - - NA
InvokeStaticWithFeedback 370.2 ns 3.88 ns 3.63 ns 1.94 0.02 0.0186 312 B NA
InvokeInstanceEmpty 201.0 ns 1.55 ns 1.45 ns 1.05 0.01 - - NA
InvokeInstanceWithFeedback 372.6 ns 3.86 ns 3.61 ns 1.95 0.02 0.0186 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-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.017 μs 0.0089 μs 0.0079 μ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-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 707.1 ns 4.67 ns 4.37 ns 0.0057 104 B
PredicateRoundTrip False False True 710.2 ns 3.95 ns 3.69 ns 0.0057 104 B
PredicateRoundTrip False True False 923.2 ns 3.33 ns 3.12 ns 0.0114 200 B
PredicateRoundTrip False True True 3,213.5 ns 11.81 ns 11.05 ns 0.0420 760 B
PredicateRoundTrip True False False 282.6 ns 2.28 ns 2.14 ns 0.0014 24 B
PredicateRoundTrip True False True 284.2 ns 2.28 ns 2.13 ns 0.0014 24 B
PredicateRoundTrip True True False 465.2 ns 2.18 ns 2.04 ns 0.0072 120 B
PredicateRoundTrip True True True 2,714.0 ns 18.23 ns 16.16 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-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 358.10 ns 2.284 ns 2.136 ns 0.0043 80 B
PredicateSustained False False True 364.81 ns 2.278 ns 2.019 ns 0.0043 80 B
PredicateSustained False True False 498.58 ns 3.418 ns 3.030 ns 0.0100 176 B
PredicateSustained False True True 2,746.33 ns 17.125 ns 15.181 ns 0.0400 736 B
PredicateSustained True False False 23.70 ns 0.144 ns 0.127 ns - -
PredicateSustained True False True 23.26 ns 0.168 ns 0.149 ns - -
PredicateSustained True True False 145.02 ns 0.693 ns 0.615 ns 0.0056 96 B
PredicateSustained True True True 2,250.84 ns 11.349 ns 10.060 ns 0.0367 656 B

core-ubuntu-24.04_net10.0_oracle_25


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 439.6 ns 4.94 ns 4.38 ns 1.00 0.01 0.0033 - - 312 B 1.00
InvokeStringArrayFixed 10 5,690.5 ns 26.98 ns 22.53 ns 12.95 0.13 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 915.5 ns 8.17 ns 7.64 ns 2.08 0.03 0.0048 - - 416 B 1.33
InvokeVarArgsWholeArray 10 928.2 ns 7.00 ns 6.20 ns 2.11 0.02 0.0048 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,254.2 ns 182.85 ns 224.56 ns 21.05 0.54 0.0305 - - 3488 B 11.18
InvokeIntParam 1000 440.9 ns 3.36 ns 3.14 ns 1.00 0.01 0.0033 - - 312 B 1.00
InvokeStringArrayFixed 1000 452,637.9 ns 1,883.43 ns 1,669.61 ns 1,026.74 7.96 1.4648 0.4883 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,750.5 ns 12.21 ns 10.82 ns 3.97 0.04 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,762.2 ns 10.16 ns 9.00 ns 4.00 0.03 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 782,411.8 ns 15,493.03 ns 17,841.80 ns 1,774.78 41.36 2.9297 - - 265856 B 852.10
InvokeIntParam 100000 438.3 ns 4.05 ns 3.79 ns 1.00 0.01 0.0033 - - 312 B 1.00
InvokeStringArrayFixed 100000 50,755,130.8 ns 427,801.32 ns 400,165.62 ns 115,801.74 1,315.00 300.0000 200.0000 200.0000 16001500 B 51,286.86
InvokeIntArrayFixed 100000 78,693.7 ns 465.26 ns 363.24 ns 179.55 1.71 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 78,759.2 ns 263.07 ns 246.08 ns 179.70 1.61 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 87,854,383.6 ns 1,311,051.01 ns 1,162,212.57 ns 200,446.54 3,066.13 1166.6667 1000.0000 1000.0000 27898327 B 89,417.71

core-ubuntu-24.04_net10.0_oracle_25


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 923.9 ns 9.40 ns 8.79 ns 1.00 0.0038 360 B 1.00
NewWithSignature 920.7 ns 4.47 ns 4.18 ns 1.00 0.0038 360 B 1.00
DeclaredNewEmpty 921.9 ns 5.41 ns 4.22 ns 1.00 0.0038 360 B 1.00

core-ubuntu-24.04_net10.0_oracle_25


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 70.91 ns 0.614 ns 0.512 ns 1.00 0.01 0.0002 24 B 1.00
SetInstanceIntField 78.08 ns 0.381 ns 0.318 ns 1.10 0.01 0.0002 24 B 1.00
GetInstanceStringField 70.73 ns 0.325 ns 0.304 ns 1.00 0.01 - - 0.00
SetInstanceStringField 524.81 ns 5.019 ns 4.449 ns 7.40 0.08 0.0029 256 B 10.67
GetStaticIntField 81.03 ns 0.853 ns 0.798 ns 1.14 0.01 0.0002 24 B 1.00
SetStaticIntField 79.90 ns 0.500 ns 0.444 ns 1.13 0.01 0.0002 24 B 1.00
GetStaticStringField 73.02 ns 0.773 ns 0.723 ns 1.03 0.01 - - 0.00
SetStaticStringField 512.75 ns 4.203 ns 3.725 ns 7.23 0.07 0.0029 256 B 10.67
GetInstanceIntFieldGeneric 76.92 ns 0.427 ns 0.356 ns 1.08 0.01 0.0002 24 B 1.00

core-ubuntu-24.04_net10.0_oracle_25


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 217.8 ns 2.50 ns 2.34 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 217.7 ns 2.32 ns 2.06 ns 1.00 0.01 - - NA
InvokeStaticWithFeedback 426.0 ns 4.41 ns 3.91 ns 1.96 0.03 0.0033 312 B NA
InvokeInstanceEmpty 225.9 ns 2.46 ns 2.18 ns 1.04 0.01 - - NA
InvokeInstanceWithFeedback 439.1 ns 2.30 ns 2.04 ns 2.02 0.02 0.0033 312 B NA

core-ubuntu-24.04_net10.0_oracle_25


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
InvokeMultiParam 1.091 μs 0.0170 μs 0.0159 μs 1.00 0.02 0.0076 680 B 1.00

core-ubuntu-24.04_net10.0_oracle_25


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 838.5 ns 8.46 ns 7.91 ns 0.0010 104 B
PredicateRoundTrip False False True 840.3 ns 5.44 ns 5.09 ns 0.0010 104 B
PredicateRoundTrip False True False 1,012.7 ns 10.09 ns 9.44 ns 0.0019 200 B
PredicateRoundTrip False True True 3,890.8 ns 57.76 ns 51.20 ns 0.0076 760 B
PredicateRoundTrip True False False 334.9 ns 2.48 ns 2.20 ns - 24 B
PredicateRoundTrip True False True 364.9 ns 5.40 ns 5.05 ns - 24 B
PredicateRoundTrip True True False 537.6 ns 5.10 ns 4.26 ns 0.0010 120 B
PredicateRoundTrip True True True 3,521.2 ns 49.25 ns 46.07 ns 0.0076 680 B

core-ubuntu-24.04_net10.0_oracle_25


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 474.64 ns 3.550 ns 3.147 ns 0.0009 80 B
PredicateSustained False False True 473.61 ns 1.852 ns 1.732 ns - 80 B
PredicateSustained False True False 653.41 ns 2.479 ns 2.198 ns 0.0013 176 B
PredicateSustained False True True 3,516.09 ns 65.729 ns 61.483 ns - 736 B
PredicateSustained True False False 46.35 ns 0.926 ns 1.693 ns - -
PredicateSustained True False True 46.16 ns 0.904 ns 1.559 ns - -
PredicateSustained True True False 194.94 ns 1.305 ns 1.221 ns 0.0009 96 B
PredicateSustained True True True 3,003.16 ns 42.597 ns 39.846 ns 0.0050 656 B

core-ubuntu-24.04_net10.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
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 400.0 ns 2.96 ns 2.62 ns 1.00 0.01 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 10 4,605.4 ns 49.36 ns 46.17 ns 11.51 0.13 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 929.4 ns 3.94 ns 3.29 ns 2.32 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 937.1 ns 5.79 ns 4.83 ns 2.34 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 6,159.2 ns 46.98 ns 43.94 ns 15.40 0.14 0.2060 - - 3488 B 11.18
InvokeIntParam 1000 396.0 ns 3.24 ns 3.03 ns 1.00 0.01 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 1000 333,479.9 ns 971.86 ns 909.07 ns 842.23 6.61 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,523.9 ns 11.82 ns 10.48 ns 3.85 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,538.3 ns 8.27 ns 7.74 ns 3.89 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 477,983.1 ns 1,918.32 ns 1,700.54 ns 1,207.18 9.84 15.6250 7.3242 - 265856 B 852.10
InvokeIntParam 100000 419.1 ns 2.74 ns 2.43 ns 1.00 0.01 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 100000 41,228,930.7 ns 672,675.48 ns 561,714.49 ns 98,370.67 1,403.46 1076.9231 923.0769 307.6923 16001458 B 51,286.72
InvokeIntArrayFixed 100000 52,070.7 ns 143.51 ns 112.04 ns 124.24 0.74 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 51,932.0 ns 145.27 ns 128.78 ns 123.91 0.75 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 62,102,456.1 ns 1,212,985.85 ns 1,297,881.27 ns 148,174.11 3,127.03 2125.0000 2000.0000 1000.0000 27895535 B 89,408.77

core-ubuntu-24.04_net10.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
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 848.1 ns 2.80 ns 2.19 ns 1.00 0.0210 360 B 1.00
NewWithSignature 860.2 ns 1.77 ns 1.48 ns 1.01 0.0210 360 B 1.00
DeclaredNewEmpty 862.6 ns 5.55 ns 4.92 ns 1.02 0.0210 360 B 1.00

core-ubuntu-24.04_net10.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
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 66.27 ns 0.803 ns 0.751 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 68.65 ns 0.570 ns 0.533 ns 1.04 0.01 0.0014 24 B 1.00
GetInstanceStringField 69.03 ns 1.070 ns 0.894 ns 1.04 0.02 - - 0.00
SetInstanceStringField 441.08 ns 3.953 ns 3.697 ns 6.66 0.09 0.0153 256 B 10.67
GetStaticIntField 69.49 ns 0.497 ns 0.465 ns 1.05 0.01 0.0014 24 B 1.00
SetStaticIntField 68.85 ns 1.402 ns 1.312 ns 1.04 0.02 0.0014 24 B 1.00
GetStaticStringField 67.09 ns 0.423 ns 0.375 ns 1.01 0.01 - - 0.00
SetStaticStringField 441.02 ns 4.694 ns 3.920 ns 6.66 0.09 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 69.53 ns 0.466 ns 0.413 ns 1.05 0.01 0.0014 24 B 1.00

core-ubuntu-24.04_net10.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
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 221.5 ns 1.40 ns 1.31 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 226.5 ns 1.53 ns 1.36 ns 1.02 0.01 - - NA
InvokeStaticWithFeedback 384.3 ns 1.60 ns 1.49 ns 1.73 0.01 0.0186 312 B NA
InvokeInstanceEmpty 242.7 ns 1.32 ns 1.17 ns 1.10 0.01 - - NA
InvokeInstanceWithFeedback 398.3 ns 4.23 ns 3.75 ns 1.80 0.02 0.0186 312 B NA

core-ubuntu-24.04_net10.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
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.078 μs 0.0069 μs 0.0058 μs 1.00 0.0401 680 B 1.00

core-ubuntu-24.04_net10.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
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 797.7 ns 3.96 ns 3.09 ns 0.0057 104 B
PredicateRoundTrip False False True 808.9 ns 4.30 ns 3.81 ns 0.0057 104 B
PredicateRoundTrip False True False 1,004.6 ns 5.10 ns 4.26 ns 0.0114 200 B
PredicateRoundTrip False True True 3,521.5 ns 14.50 ns 12.85 ns 0.0420 760 B
PredicateRoundTrip True False False 295.0 ns 1.87 ns 1.66 ns 0.0014 24 B
PredicateRoundTrip True False True 305.4 ns 1.35 ns 1.20 ns 0.0014 24 B
PredicateRoundTrip True True False 516.3 ns 3.33 ns 2.95 ns 0.0067 120 B
PredicateRoundTrip True True True 2,851.9 ns 24.53 ns 21.74 ns 0.0381 680 B

core-ubuntu-24.04_net10.0_temurin_11


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
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 397.28 ns 4.463 ns 4.175 ns 0.0046 80 B
PredicateSustained False False True 404.33 ns 5.074 ns 4.746 ns 0.0046 80 B
PredicateSustained False True False 542.22 ns 3.257 ns 2.720 ns 0.0100 176 B
PredicateSustained False True True 2,952.74 ns 23.224 ns 19.393 ns 0.0400 736 B
PredicateSustained True False False 23.26 ns 0.121 ns 0.101 ns - -
PredicateSustained True False True 23.26 ns 0.303 ns 0.283 ns - -
PredicateSustained True True False 142.37 ns 0.811 ns 0.759 ns 0.0056 96 B
PredicateSustained True True True 2,445.05 ns 8.692 ns 8.131 ns 0.0350 656 B

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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 477.7 ns 2.29 ns 1.91 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 5,789.9 ns 23.13 ns 20.50 ns 12.12 0.06 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,106.9 ns 4.15 ns 3.47 ns 2.32 0.01 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,108.4 ns 5.80 ns 5.15 ns 2.32 0.01 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 7,448.2 ns 35.68 ns 33.38 ns 15.59 0.09 0.2060 - - 3488 B 11.18
InvokeIntParam 1000 463.8 ns 4.09 ns 3.83 ns 1.00 0.01 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 1000 391,078.9 ns 1,619.13 ns 1,435.32 ns 843.19 7.38 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,863.9 ns 7.74 ns 6.87 ns 4.02 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,854.5 ns 6.62 ns 5.87 ns 4.00 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 602,408.2 ns 3,571.85 ns 3,341.11 ns 1,298.82 12.52 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 485.9 ns 3.92 ns 3.66 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 51,654,197.6 ns 620,041.95 ns 549,651.04 ns 106,301.24 1,338.64 1100.0000 1000.0000 300.0000 16001534 B 51,286.97
InvokeIntArrayFixed 100000 62,057.2 ns 257.03 ns 240.43 ns 127.71 1.05 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 62,037.9 ns 196.78 ns 174.44 ns 127.67 0.99 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 77,924,435.7 ns 1,508,397.12 ns 1,737,072.36 ns 160,363.81 3,679.76 2142.8571 2000.0000 1000.0000 27897597 B 89,415.38

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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.049 μs 0.0125 μs 0.0117 μs 1.00 0.02 0.0210 360 B 1.00
NewWithSignature 1.041 μs 0.0063 μs 0.0052 μs 0.99 0.01 0.0210 360 B 1.00
DeclaredNewEmpty 1.037 μs 0.0054 μs 0.0050 μs 0.99 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 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 82.73 ns 0.389 ns 0.325 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 95.94 ns 0.918 ns 0.859 ns 1.16 0.01 0.0014 24 B 1.00
GetInstanceStringField 79.11 ns 0.543 ns 0.481 ns 0.96 0.01 - - 0.00
SetInstanceStringField 528.38 ns 4.154 ns 3.683 ns 6.39 0.05 0.0153 256 B 10.67
GetStaticIntField 84.76 ns 0.552 ns 0.516 ns 1.02 0.01 0.0014 24 B 1.00
SetStaticIntField 88.55 ns 0.485 ns 0.454 ns 1.07 0.01 0.0014 24 B 1.00
GetStaticStringField 76.39 ns 0.991 ns 0.878 ns 0.92 0.01 - - 0.00
SetStaticStringField 509.52 ns 3.859 ns 3.609 ns 6.16 0.05 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 86.50 ns 0.785 ns 0.734 ns 1.05 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 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 242.5 ns 3.00 ns 2.80 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 243.8 ns 2.50 ns 2.33 ns 1.01 0.01 - - NA
InvokeStaticWithFeedback 458.5 ns 2.98 ns 2.64 ns 1.89 0.02 0.0186 312 B NA
InvokeInstanceEmpty 244.9 ns 2.41 ns 2.02 ns 1.01 0.01 - - NA
InvokeInstanceWithFeedback 471.0 ns 3.48 ns 3.08 ns 1.94 0.03 0.0186 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 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.287 μs 0.0087 μs 0.0081 μ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 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 919.7 ns 7.21 ns 6.74 ns 0.0057 104 B
PredicateRoundTrip False False True 942.3 ns 6.93 ns 5.79 ns 0.0057 104 B
PredicateRoundTrip False True False 1,182.2 ns 2.91 ns 2.27 ns 0.0114 200 B
PredicateRoundTrip False True True 4,169.5 ns 19.71 ns 17.47 ns 0.0381 760 B
PredicateRoundTrip True False False 358.3 ns 2.93 ns 2.74 ns 0.0014 24 B
PredicateRoundTrip True False True 364.7 ns 3.00 ns 2.66 ns 0.0014 24 B
PredicateRoundTrip True True False 638.7 ns 3.04 ns 2.84 ns 0.0067 120 B
PredicateRoundTrip True True True 3,518.1 ns 14.86 ns 13.17 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 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 493.46 ns 2.950 ns 2.615 ns 0.0045 80 B
PredicateSustained False False True 471.58 ns 5.839 ns 5.462 ns 0.0045 80 B
PredicateSustained False True False 640.28 ns 4.421 ns 4.135 ns 0.0100 176 B
PredicateSustained False True True 3,518.10 ns 17.184 ns 14.350 ns 0.0400 736 B
PredicateSustained True False False 40.03 ns 0.210 ns 0.196 ns - -
PredicateSustained True False True 29.22 ns 0.193 ns 0.172 ns - -
PredicateSustained True True False 183.58 ns 1.286 ns 1.004 ns 0.0056 96 B
PredicateSustained True True True 2,976.73 ns 18.471 ns 16.374 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 535.4 ns 4.50 ns 3.75 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 5,748.1 ns 19.02 ns 15.89 ns 10.74 0.08 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,153.0 ns 5.93 ns 5.55 ns 2.15 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,150.8 ns 9.98 ns 8.84 ns 2.15 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,083.6 ns 87.00 ns 81.38 ns 15.10 0.18 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 574.4 ns 6.20 ns 5.80 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 438,410.8 ns 1,835.45 ns 1,716.88 ns 763.36 8.08 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,829.7 ns 18.09 ns 16.03 ns 3.19 0.04 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,810.7 ns 6.29 ns 5.58 ns 3.15 0.03 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 631,664.9 ns 3,447.79 ns 2,879.06 ns 1,099.85 11.90 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 541.6 ns 5.68 ns 5.31 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 52,400,989.6 ns 490,813.02 ns 459,106.80 ns 96,764.37 1,233.65 1100.0000 1000.0000 300.0000 16001793 B 51,287.80
InvokeIntArrayFixed 100000 64,947.4 ns 255.13 ns 226.17 ns 119.93 1.21 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 65,240.5 ns 401.55 ns 375.61 ns 120.47 1.33 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 80,527,673.8 ns 1,289,824.54 ns 1,206,502.67 ns 148,703.48 2,580.04 2142.8571 2000.0000 1000.0000 27897304 B 89,414.44

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.056 μs 0.0045 μs 0.0042 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.069 μs 0.0023 μs 0.0018 μs 1.01 0.0210 360 B 1.00
DeclaredNewEmpty 1.087 μs 0.0088 μs 0.0082 μs 1.03 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 74.47 ns 0.902 ns 0.844 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 79.95 ns 0.993 ns 0.929 ns 1.07 0.02 0.0014 24 B 1.00
GetInstanceStringField 74.17 ns 1.380 ns 1.291 ns 1.00 0.02 - - 0.00
SetInstanceStringField 592.24 ns 3.759 ns 3.516 ns 7.95 0.10 0.0153 256 B 10.67
GetStaticIntField 76.87 ns 0.695 ns 0.650 ns 1.03 0.01 0.0014 24 B 1.00
SetStaticIntField 81.52 ns 0.913 ns 0.854 ns 1.09 0.02 0.0014 24 B 1.00
GetStaticStringField 72.51 ns 1.014 ns 0.949 ns 0.97 0.02 - - 0.00
SetStaticStringField 604.61 ns 2.538 ns 2.374 ns 8.12 0.09 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 82.50 ns 0.864 ns 0.808 ns 1.11 0.02 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 262.7 ns 2.76 ns 2.59 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 263.0 ns 2.99 ns 2.65 ns 1.00 0.01 - - NA
InvokeStaticWithFeedback 517.9 ns 5.09 ns 4.76 ns 1.97 0.03 0.0181 312 B NA
InvokeInstanceEmpty 272.5 ns 2.45 ns 2.29 ns 1.04 0.01 - - NA
InvokeInstanceWithFeedback 540.2 ns 6.14 ns 5.75 ns 2.06 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.393 μs 0.0064 μs 0.0057 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,001.1 ns 13.43 ns 12.56 ns 0.0057 104 B
PredicateRoundTrip False False True 979.4 ns 11.75 ns 10.99 ns 0.0057 104 B
PredicateRoundTrip False True False 1,279.6 ns 6.11 ns 5.72 ns 0.0114 200 B
PredicateRoundTrip False True True 4,198.9 ns 25.46 ns 23.82 ns 0.0381 760 B
PredicateRoundTrip True False False 411.2 ns 3.29 ns 2.92 ns 0.0014 24 B
PredicateRoundTrip True False True 405.0 ns 7.19 ns 6.73 ns 0.0014 24 B
PredicateRoundTrip True True False 666.2 ns 2.25 ns 2.10 ns 0.0067 120 B
PredicateRoundTrip True True True 3,656.8 ns 11.15 ns 9.88 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 455.03 ns 5.101 ns 4.771 ns 0.0045 80 B
PredicateSustained False False True 476.06 ns 3.532 ns 3.304 ns 0.0045 80 B
PredicateSustained False True False 662.44 ns 5.408 ns 4.794 ns 0.0100 176 B
PredicateSustained False True True 3,711.16 ns 25.168 ns 22.311 ns 0.0400 736 B
PredicateSustained True False False 27.76 ns 0.248 ns 0.232 ns - -
PredicateSustained True False True 28.84 ns 0.201 ns 0.178 ns - -
PredicateSustained True True False 194.95 ns 1.566 ns 1.465 ns 0.0056 96 B
PredicateSustained True True True 3,104.30 ns 12.279 ns 11.486 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 7763 2.61GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 Median Ratio RatioSD Gen0 Gen1 Gen2 Allocated Alloc Ratio
InvokeIntParam 10 595.2 ns 11.44 ns 11.75 ns 593.3 ns 1.00 0.03 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 6,262.1 ns 124.35 ns 325.40 ns 6,140.8 ns 10.52 0.58 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,187.9 ns 21.95 ns 25.28 ns 1,188.3 ns 2.00 0.06 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,183.0 ns 19.15 ns 15.99 ns 1,179.1 ns 1.99 0.05 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 9,071.7 ns 185.40 ns 546.67 ns 8,984.1 ns 15.25 0.96 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 614.8 ns 17.35 ns 51.16 ns 593.9 ns 1.01 0.12 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 462,730.5 ns 8,119.98 ns 6,780.55 ns 460,741.9 ns 757.58 61.17 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,998.9 ns 54.59 ns 160.96 ns 1,925.3 ns 3.27 0.37 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,890.5 ns 37.69 ns 97.29 ns 1,852.5 ns 3.10 0.29 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 660,703.4 ns 12,833.91 ns 28,439.06 ns 648,035.2 ns 1,081.71 97.65 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 549.3 ns 9.46 ns 7.90 ns 546.7 ns 1.00 0.02 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 53,696,166.1 ns 967,185.89 ns 1,589,114.29 ns 53,403,463.0 ns 97,763.58 3,144.34 1100.0000 1000.0000 300.0000 16001771 B 51,287.73
InvokeIntArrayFixed 100000 67,119.4 ns 1,262.24 ns 1,596.33 ns 66,376.6 ns 122.20 3.29 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 70,689.0 ns 1,584.52 ns 4,672.00 ns 68,663.4 ns 128.70 8.64 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 82,316,784.3 ns 1,640,687.74 ns 3,899,268.29 ns 80,857,434.2 ns 149,872.60 7,334.09 1833.3333 1666.6667 833.3333 27895587 B 89,408.93

core-ubuntu-24.04_net10.0_temurin_25


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.61GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.109 μs 0.0216 μs 0.0231 μs 1.00 0.03 0.0210 360 B 1.00
NewWithSignature 1.108 μs 0.0199 μs 0.0187 μs 1.00 0.03 0.0210 360 B 1.00
DeclaredNewEmpty 1.121 μs 0.0222 μs 0.0247 μs 1.01 0.03 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 7763 2.61GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 Median Ratio RatioSD Gen0 Allocated Alloc Ratio
GetInstanceIntField 76.21 ns 0.683 ns 0.605 ns 76.17 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 81.41 ns 1.642 ns 3.280 ns 80.57 ns 1.07 0.04 0.0014 24 B 1.00
GetInstanceStringField 73.62 ns 0.779 ns 0.729 ns 73.45 ns 0.97 0.01 - - 0.00
SetInstanceStringField 605.94 ns 12.046 ns 23.777 ns 597.24 ns 7.95 0.31 0.0153 256 B 10.67
GetStaticIntField 78.22 ns 0.943 ns 0.836 ns 78.04 ns 1.03 0.01 0.0014 24 B 1.00
SetStaticIntField 79.80 ns 1.077 ns 1.007 ns 79.64 ns 1.05 0.02 0.0014 24 B 1.00
GetStaticStringField 70.28 ns 0.572 ns 0.478 ns 70.36 ns 0.92 0.01 - - 0.00
SetStaticStringField 625.23 ns 14.024 ns 41.351 ns 607.26 ns 8.20 0.54 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 82.22 ns 1.187 ns 1.110 ns 82.59 ns 1.08 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 7763 2.61GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 275.7 ns 1.96 ns 1.84 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 267.7 ns 4.83 ns 6.77 ns 0.97 0.02 - - NA
InvokeStaticWithFeedback 568.0 ns 11.23 ns 12.94 ns 2.06 0.05 0.0181 312 B NA
InvokeInstanceEmpty 283.2 ns 2.33 ns 1.94 ns 1.03 0.01 - - NA
InvokeInstanceWithFeedback 587.4 ns 9.12 ns 7.62 ns 2.13 0.03 0.0181 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 7763 2.61GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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.390 μs 0.0253 μs 0.0212 μs 1.00 0.02 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 7763 2.61GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 Median Gen0 Allocated
PredicateRoundTrip False False False 1,039.7 ns 18.64 ns 31.14 ns 1,030.2 ns 0.0057 104 B
PredicateRoundTrip False False True 1,112.1 ns 31.14 ns 91.83 ns 1,104.4 ns 0.0057 104 B
PredicateRoundTrip False True False 1,353.7 ns 25.93 ns 64.09 ns 1,323.3 ns 0.0114 200 B
PredicateRoundTrip False True True 4,407.8 ns 84.18 ns 96.95 ns 4,392.5 ns 0.0381 760 B
PredicateRoundTrip True False False 471.3 ns 9.66 ns 28.48 ns 458.9 ns 0.0014 24 B
PredicateRoundTrip True False True 433.7 ns 8.46 ns 7.50 ns 434.6 ns 0.0014 24 B
PredicateRoundTrip True True False 657.8 ns 8.30 ns 6.93 ns 658.4 ns 0.0067 120 B
PredicateRoundTrip True True True 3,706.6 ns 70.20 ns 65.67 ns 3,688.1 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 7763 2.61GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 10.0.11 (10.0.11, 10.0.1126.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 497.23 ns 8.406 ns 7.452 ns 0.0045 80 B
PredicateSustained False False True 471.38 ns 5.553 ns 4.923 ns 0.0045 80 B
PredicateSustained False True False 692.78 ns 9.403 ns 8.335 ns 0.0100 176 B
PredicateSustained False True True 4,081.78 ns 112.861 ns 332.772 ns 0.0400 736 B
PredicateSustained True False False 30.49 ns 0.363 ns 0.340 ns - -
PredicateSustained True False True 29.50 ns 0.362 ns 0.339 ns - -
PredicateSustained True True False 204.38 ns 3.118 ns 2.916 ns 0.0056 96 B
PredicateSustained True True True 3,133.33 ns 60.171 ns 84.352 ns 0.0300 656 B

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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 478.4 ns 3.36 ns 2.98 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 10 5,982.6 ns 34.04 ns 30.18 ns 12.51 0.10 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,157.0 ns 8.91 ns 8.33 ns 2.42 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,152.1 ns 4.91 ns 4.35 ns 2.41 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 7,723.8 ns 49.23 ns 46.05 ns 16.14 0.13 0.1984 - - 3488 B 11.18
InvokeIntParam 1000 507.7 ns 4.21 ns 3.73 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 1000 433,065.3 ns 2,252.24 ns 1,996.55 ns 853.11 7.17 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,885.8 ns 8.56 ns 8.00 ns 3.71 0.03 0.0229 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,904.2 ns 7.01 ns 6.56 ns 3.75 0.03 0.0229 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 625,186.0 ns 3,658.32 ns 3,421.99 ns 1,231.57 10.94 15.6250 6.8359 - 265856 B 852.10
InvokeIntParam 100000 503.1 ns 3.61 ns 3.38 ns 1.00 0.01 0.0181 - - 312 B 1.00
InvokeStringArrayFixed 100000 54,751,418.9 ns 621,399.40 ns 581,257.39 ns 108,837.40 1,323.62 1100.0000 1000.0000 300.0000 16002474 B 51,289.98
InvokeIntArrayFixed 100000 63,178.5 ns 129.33 ns 114.64 ns 125.59 0.85 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 63,164.5 ns 216.26 ns 191.70 ns 125.56 0.90 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 78,565,705.2 ns 1,520,709.59 ns 2,229,036.59 ns 156,176.54 4,475.38 2142.8571 2000.0000 1000.0000 27898059 B 89,416.86

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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.067 μs 0.0094 μs 0.0088 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.065 μs 0.0069 μs 0.0065 μs 1.00 0.0210 360 B 1.00
DeclaredNewEmpty 1.122 μs 0.0042 μs 0.0035 μs 1.05 0.0210 360 B 1.00

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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.31 ns 0.436 ns 0.408 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 88.84 ns 0.578 ns 0.483 ns 1.07 0.01 0.0014 24 B 1.00
GetInstanceStringField 88.02 ns 1.438 ns 1.345 ns 1.06 0.02 - - 0.00
SetInstanceStringField 543.50 ns 3.826 ns 3.579 ns 6.52 0.05 0.0153 256 B 10.67
GetStaticIntField 89.60 ns 0.513 ns 0.455 ns 1.08 0.01 0.0014 24 B 1.00
SetStaticIntField 98.46 ns 0.691 ns 0.646 ns 1.18 0.01 0.0014 24 B 1.00
GetStaticStringField 84.39 ns 0.825 ns 0.772 ns 1.01 0.01 - - 0.00
SetStaticStringField 566.70 ns 3.311 ns 2.936 ns 6.80 0.05 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 86.75 ns 0.571 ns 0.534 ns 1.04 0.01 0.0014 24 B 1.00

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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 288.6 ns 3.71 ns 3.47 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 286.7 ns 1.44 ns 1.28 ns 0.99 0.01 - - NA
InvokeStaticWithFeedback 460.5 ns 2.76 ns 2.58 ns 1.60 0.02 0.0186 312 B NA
InvokeInstanceEmpty 334.9 ns 2.73 ns 2.55 ns 1.16 0.02 - - NA
InvokeInstanceWithFeedback 507.8 ns 2.79 ns 2.47 ns 1.76 0.02 0.0181 312 B NA

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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.0079 μs 0.0070 μs 1.00 0.0401 680 B 1.00

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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,007.3 ns 8.22 ns 7.29 ns 0.0057 104 B
PredicateRoundTrip False False True 1,067.3 ns 8.76 ns 8.20 ns 0.0057 104 B
PredicateRoundTrip False True False 1,265.6 ns 5.01 ns 4.18 ns 0.0114 200 B
PredicateRoundTrip False True True 4,430.7 ns 15.83 ns 14.03 ns 0.0381 760 B
PredicateRoundTrip True False False 382.0 ns 2.29 ns 2.14 ns 0.0014 24 B
PredicateRoundTrip True False True 368.0 ns 1.94 ns 1.82 ns 0.0014 24 B
PredicateRoundTrip True True False 625.1 ns 3.60 ns 3.37 ns 0.0067 120 B
PredicateRoundTrip True True True 3,717.7 ns 10.86 ns 9.06 ns 0.0381 680 B

core-ubuntu-24.04_net10.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 10.0.11 (10.0.11, 10.0.1126.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 509.82 ns 7.095 ns 6.637 ns 0.0040 80 B
PredicateSustained False False True 523.62 ns 4.787 ns 4.244 ns 0.0040 80 B
PredicateSustained False True False 694.02 ns 5.108 ns 4.528 ns 0.0100 176 B
PredicateSustained False True True 3,838.16 ns 20.253 ns 18.944 ns 0.0400 736 B
PredicateSustained True False False 32.29 ns 0.259 ns 0.242 ns - -
PredicateSustained True False True 31.93 ns 0.280 ns 0.262 ns - -
PredicateSustained True True False 183.54 ns 0.991 ns 0.828 ns 0.0056 96 B
PredicateSustained True True True 3,104.59 ns 11.602 ns 9.688 ns 0.0350 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.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 382.1 ns 2.99 ns 2.65 ns 1.00 0.01 0.0033 - - 312 B 1.00
InvokeStringArrayFixed 10 4,909.0 ns 44.80 ns 39.71 ns 12.85 0.13 0.0229 - - 2016 B 6.46
InvokeIntArrayFixed 10 745.6 ns 2.08 ns 1.73 ns 1.95 0.01 0.0048 - - 416 B 1.33
InvokeVarArgsWholeArray 10 755.2 ns 5.43 ns 4.54 ns 1.98 0.02 0.0048 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 7,686.2 ns 81.32 ns 67.91 ns 20.12 0.22 0.0381 - - 3488 B 11.18
InvokeIntParam 1000 387.5 ns 3.99 ns 3.54 ns 1.00 0.01 0.0033 - - 312 B 1.00
InvokeStringArrayFixed 1000 391,477.9 ns 1,690.06 ns 1,498.19 ns 1,010.25 9.64 1.4648 0.4883 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,570.0 ns 12.87 ns 11.41 ns 4.05 0.05 0.0038 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,526.9 ns 12.82 ns 10.70 ns 3.94 0.04 0.0038 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 649,132.3 ns 12,416.44 ns 11,614.34 ns 1,675.16 32.55 2.9297 - - 265856 B 852.10
InvokeIntParam 100000 385.5 ns 3.20 ns 2.67 ns 1.00 0.01 0.0033 - - 312 B 1.00
InvokeStringArrayFixed 100000 43,223,393.1 ns 220,137.84 ns 205,917.07 ns 112,124.87 908.48 250.0000 166.6667 166.6667 16000866 B 51,284.83
InvokeIntArrayFixed 100000 72,571.4 ns 1,095.17 ns 1,024.42 ns 188.26 2.86 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 71,514.8 ns 592.97 ns 495.15 ns 185.51 1.75 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 72,600,034.0 ns 1,319,414.57 ns 1,169,626.65 ns 188,330.18 3,188.99 1142.8571 1000.0000 1000.0000 27899357 B 89,421.02

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.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 784.7 ns 5.08 ns 4.25 ns 1.00 0.0038 360 B 1.00
NewWithSignature 803.9 ns 9.47 ns 8.40 ns 1.02 0.0038 360 B 1.00
DeclaredNewEmpty 792.2 ns 6.12 ns 5.43 ns 1.01 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.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 61.74 ns 0.439 ns 0.366 ns 1.00 0.01 0.0002 24 B 1.00
SetInstanceIntField 70.97 ns 0.783 ns 0.654 ns 1.15 0.01 0.0002 24 B 1.00
GetInstanceStringField 66.88 ns 0.485 ns 0.430 ns 1.08 0.01 - - 0.00
SetInstanceStringField 457.17 ns 3.561 ns 3.157 ns 7.40 0.07 0.0029 256 B 10.67
GetStaticIntField 66.61 ns 0.321 ns 0.285 ns 1.08 0.01 0.0002 24 B 1.00
SetStaticIntField 68.78 ns 0.605 ns 0.566 ns 1.11 0.01 0.0002 24 B 1.00
GetStaticStringField 61.45 ns 0.788 ns 0.737 ns 1.00 0.01 - - 0.00
SetStaticStringField 474.14 ns 6.568 ns 6.144 ns 7.68 0.11 0.0029 256 B 10.67
GetInstanceIntFieldGeneric 68.50 ns 0.360 ns 0.301 ns 1.11 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.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 189.2 ns 2.06 ns 1.82 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 187.8 ns 1.07 ns 0.89 ns 0.99 0.01 - - NA
InvokeStaticWithFeedback 379.6 ns 4.21 ns 3.51 ns 2.01 0.03 0.0033 312 B NA
InvokeInstanceEmpty 191.4 ns 1.55 ns 1.38 ns 1.01 0.01 - - NA
InvokeInstanceWithFeedback 382.6 ns 7.32 ns 6.85 ns 2.02 0.04 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.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 943.1 ns 6.23 ns 5.52 ns 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.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 742.9 ns 8.30 ns 7.76 ns 0.0010 104 B
PredicateRoundTrip False False True 735.4 ns 9.77 ns 8.66 ns 0.0010 104 B
PredicateRoundTrip False True False 898.1 ns 5.45 ns 4.83 ns 0.0019 200 B
PredicateRoundTrip False True True 3,297.0 ns 33.05 ns 25.80 ns 0.0076 760 B
PredicateRoundTrip True False False 288.9 ns 2.45 ns 2.17 ns - 24 B
PredicateRoundTrip True False True 288.0 ns 2.99 ns 2.50 ns - 24 B
PredicateRoundTrip True True False 467.4 ns 8.40 ns 7.01 ns 0.0010 120 B
PredicateRoundTrip True True True 2,870.9 ns 18.88 ns 17.66 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.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 432.59 ns 7.812 ns 6.926 ns 0.0008 80 B
PredicateSustained False False True 427.33 ns 5.889 ns 4.918 ns 0.0008 80 B
PredicateSustained False True False 579.29 ns 2.973 ns 2.781 ns 0.0011 176 B
PredicateSustained False True True 2,990.59 ns 20.559 ns 19.230 ns 0.0050 736 B
PredicateSustained True False False 43.19 ns 0.501 ns 0.468 ns - -
PredicateSustained True False True 42.48 ns 0.564 ns 0.527 ns - -
PredicateSustained True True False 167.89 ns 1.256 ns 0.981 ns 0.0009 96 B
PredicateSustained True True True 2,512.51 ns 31.360 ns 27.800 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)
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 487.1 ns 1.79 ns 1.59 ns 1.00 0.00 0.0124 - - 312 B 1.00
InvokeStringArrayFixed 10 6,317.2 ns 52.05 ns 48.69 ns 12.97 0.11 0.0763 - - 2016 B 6.46
InvokeIntArrayFixed 10 1,088.5 ns 5.31 ns 4.71 ns 2.23 0.01 0.0153 - - 416 B 1.33
InvokeVarArgsWholeArray 10 1,089.8 ns 6.60 ns 6.18 ns 2.24 0.01 0.0153 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 8,333.5 ns 45.22 ns 40.08 ns 17.11 0.10 0.1373 - - 3488 B 11.18
InvokeIntParam 1000 504.9 ns 3.95 ns 3.69 ns 1.00 0.01 0.0124 - - 312 B 1.00
InvokeStringArrayFixed 1000 482,471.3 ns 4,083.07 ns 3,819.30 ns 955.58 9.96 5.8594 1.9531 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,879.1 ns 8.93 ns 7.91 ns 3.72 0.03 0.0153 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,866.4 ns 10.94 ns 10.24 ns 3.70 0.03 0.0153 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 670,145.4 ns 4,304.39 ns 4,026.33 ns 1,327.28 12.15 9.7656 2.9297 - 265856 B 852.10
InvokeIntParam 100000 491.0 ns 2.41 ns 2.26 ns 1.00 0.01 0.0124 - - 312 B 1.00
InvokeStringArrayFixed 100000 57,974,402.7 ns 496,046.77 ns 464,002.45 ns 118,076.81 1,055.08 777.7778 666.6667 333.3333 16000670 B 51,284.20
InvokeIntArrayFixed 100000 75,247.1 ns 300.37 ns 280.96 ns 153.26 0.88 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 75,238.0 ns 400.52 ns 374.64 ns 153.24 1.01 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 81,366,408.0 ns 666,330.25 ns 590,684.41 ns 165,719.44 1,376.24 1714.2857 1571.4286 1000.0000 27898296 B 89,417.62

core-ubuntu-24.04_net10.0_zulu_21


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.084 μs 0.0064 μs 0.0057 μs 1.00 0.0134 360 B 1.00
NewWithSignature 1.110 μs 0.0089 μs 0.0083 μs 1.02 0.0134 360 B 1.00
DeclaredNewEmpty 1.096 μs 0.0110 μs 0.0092 μs 1.01 0.0134 360 B 1.00

core-ubuntu-24.04_net10.0_zulu_21


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 76.86 ns 0.399 ns 0.373 ns 1.00 0.01 0.0010 24 B 1.00
SetInstanceIntField 87.49 ns 0.569 ns 0.532 ns 1.14 0.01 0.0010 24 B 1.00
GetInstanceStringField 77.07 ns 0.618 ns 0.578 ns 1.00 0.01 - - 0.00
SetInstanceStringField 663.10 ns 3.995 ns 3.737 ns 8.63 0.06 0.0095 256 B 10.67
GetStaticIntField 79.87 ns 0.651 ns 0.609 ns 1.04 0.01 0.0010 24 B 1.00
SetStaticIntField 85.67 ns 0.480 ns 0.401 ns 1.11 0.01 0.0010 24 B 1.00
GetStaticStringField 71.49 ns 0.513 ns 0.480 ns 0.93 0.01 - - 0.00
SetStaticStringField 650.69 ns 5.368 ns 5.021 ns 8.47 0.07 0.0095 256 B 10.67
GetInstanceIntFieldGeneric 84.76 ns 0.350 ns 0.311 ns 1.10 0.01 0.0010 24 B 1.00

core-ubuntu-24.04_net10.0_zulu_21


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 262.0 ns 2.01 ns 1.68 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 264.5 ns 2.21 ns 2.07 ns 1.01 0.01 - - NA
InvokeStaticWithFeedback 494.0 ns 3.88 ns 3.63 ns 1.89 0.02 0.0124 312 B NA
InvokeInstanceEmpty 276.2 ns 2.63 ns 2.33 ns 1.05 0.01 - - NA
InvokeInstanceWithFeedback 500.9 ns 6.45 ns 6.04 ns 1.91 0.03 0.0124 312 B NA

core-ubuntu-24.04_net10.0_zulu_21


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.293 μs 0.0049 μs 0.0044 μs 1.00 0.0267 680 B 1.00

core-ubuntu-24.04_net10.0_zulu_21


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 967.7 ns 9.26 ns 8.21 ns 0.0038 104 B
PredicateRoundTrip False False True 986.3 ns 5.37 ns 4.48 ns 0.0038 104 B
PredicateRoundTrip False True False 1,302.7 ns 11.62 ns 10.87 ns 0.0076 200 B
PredicateRoundTrip False True True 4,236.9 ns 14.44 ns 12.80 ns 0.0229 760 B
PredicateRoundTrip True False False 399.8 ns 2.11 ns 1.87 ns 0.0010 24 B
PredicateRoundTrip True False True 403.5 ns 2.36 ns 2.09 ns 0.0010 24 B
PredicateRoundTrip True True False 659.1 ns 3.43 ns 3.04 ns 0.0048 120 B
PredicateRoundTrip True True True 3,661.4 ns 22.54 ns 21.09 ns 0.0267 680 B

core-ubuntu-24.04_net10.0_zulu_21


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 491.50 ns 3.362 ns 3.145 ns 0.0027 80 B
PredicateSustained False False True 497.64 ns 3.895 ns 3.453 ns 0.0030 80 B
PredicateSustained False True False 820.44 ns 3.485 ns 3.260 ns 0.0057 176 B
PredicateSustained False True True 3,674.84 ns 40.307 ns 37.703 ns 0.0200 736 B
PredicateSustained True False False 52.35 ns 0.227 ns 0.190 ns - -
PredicateSustained True False True 51.58 ns 0.241 ns 0.189 ns - -
PredicateSustained True True False 228.59 ns 1.604 ns 1.501 ns 0.0038 96 B
PredicateSustained True True True 3,049.48 ns 19.533 ns 18.271 ns 0.0250 656 B

core-ubuntu-24.04_net10.0_zulu_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 376.1 ns 2.16 ns 2.02 ns 1.00 0.01 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 10 4,256.9 ns 17.14 ns 16.03 ns 11.32 0.07 0.1144 - - 2016 B 6.46
InvokeIntArrayFixed 10 899.9 ns 6.28 ns 5.57 ns 2.39 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 10 880.2 ns 2.35 ns 2.19 ns 2.34 0.01 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 10 5,926.1 ns 24.46 ns 22.88 ns 15.76 0.10 0.2060 - - 3488 B 11.18
InvokeIntParam 1000 394.3 ns 2.60 ns 2.43 ns 1.00 0.01 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 1000 310,499.9 ns 1,467.23 ns 1,300.67 ns 787.49 5.68 9.2773 2.9297 - 160416 B 514.15
InvokeIntArrayFixed 1000 1,473.0 ns 4.00 ns 3.55 ns 3.74 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsWholeArray 1000 1,483.2 ns 4.03 ns 3.57 ns 3.76 0.02 0.0248 - - 416 B 1.33
InvokeVarArgsSpreadElements 1000 463,995.4 ns 1,128.04 ns 1,055.17 ns 1,176.78 7.48 15.6250 7.3242 - 265856 B 852.10
InvokeIntParam 100000 393.3 ns 1.91 ns 1.69 ns 1.00 0.01 0.0186 - - 312 B 1.00
InvokeStringArrayFixed 100000 39,321,399.0 ns 312,947.13 ns 292,730.94 ns 99,981.26 831.71 1076.9231 923.0769 307.6923 16001200 B 51,285.90
InvokeIntArrayFixed 100000 50,791.7 ns 94.09 ns 88.01 ns 129.15 0.58 - - - 416 B 1.33
InvokeVarArgsWholeArray 100000 50,782.7 ns 90.62 ns 80.33 ns 129.12 0.57 - - - 416 B 1.33
InvokeVarArgsSpreadElements 100000 61,029,124.7 ns 1,193,927.11 ns 1,466,249.84 ns 155,176.81 3,704.75 2125.0000 2000.0000 1000.0000 27896745 B 89,412.64

core-ubuntu-24.04_net10.0_zulu_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 807.2 ns 2.66 ns 2.49 ns 1.00 0.0210 360 B 1.00
NewWithSignature 807.2 ns 3.32 ns 3.10 ns 1.00 0.0210 360 B 1.00
DeclaredNewEmpty 827.3 ns 2.59 ns 2.42 ns 1.02 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 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 63.26 ns 0.372 ns 0.311 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 65.08 ns 0.629 ns 0.589 ns 1.03 0.01 0.0014 24 B 1.00
GetInstanceStringField 60.75 ns 0.315 ns 0.280 ns 0.96 0.01 - - 0.00
SetInstanceStringField 396.27 ns 1.560 ns 1.459 ns 6.26 0.04 0.0153 256 B 10.67
GetStaticIntField 64.05 ns 0.522 ns 0.488 ns 1.01 0.01 0.0014 24 B 1.00
SetStaticIntField 65.26 ns 0.768 ns 0.681 ns 1.03 0.01 0.0014 24 B 1.00
GetStaticStringField 59.56 ns 0.599 ns 0.561 ns 0.94 0.01 - - 0.00
SetStaticStringField 405.19 ns 1.411 ns 1.320 ns 6.40 0.04 0.0153 256 B 10.67
GetInstanceIntFieldGeneric 67.76 ns 0.599 ns 0.560 ns 1.07 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 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
InvokeStaticEmpty 204.3 ns 1.61 ns 1.50 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 191.5 ns 1.13 ns 1.00 ns 0.94 0.01 - - NA
InvokeStaticWithFeedback 368.3 ns 1.64 ns 1.53 ns 1.80 0.01 0.0186 312 B NA
InvokeInstanceEmpty 185.9 ns 1.04 ns 0.98 ns 0.91 0.01 - - NA
InvokeInstanceWithFeedback 394.8 ns 3.08 ns 2.73 ns 1.93 0.02 0.0186 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 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 1.012 μs 0.0044 μs 0.0039 μ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 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 740.3 ns 5.17 ns 4.83 ns 0.0057 104 B
PredicateRoundTrip False False True 739.2 ns 4.66 ns 4.13 ns 0.0057 104 B
PredicateRoundTrip False True False 929.9 ns 3.26 ns 2.89 ns 0.0114 200 B
PredicateRoundTrip False True True 3,237.4 ns 18.55 ns 16.44 ns 0.0420 760 B
PredicateRoundTrip True False False 293.6 ns 2.73 ns 2.56 ns 0.0014 24 B
PredicateRoundTrip True False True 288.0 ns 1.38 ns 1.29 ns 0.0014 24 B
PredicateRoundTrip True True False 503.6 ns 1.89 ns 1.68 ns 0.0067 120 B
PredicateRoundTrip True True True 2,800.5 ns 7.14 ns 6.33 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 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 378.10 ns 3.717 ns 3.477 ns 0.0043 80 B
PredicateSustained False False True 353.35 ns 2.910 ns 2.580 ns 0.0047 80 B
PredicateSustained False True False 496.43 ns 3.139 ns 2.936 ns 0.0100 176 B
PredicateSustained False True True 2,813.62 ns 6.466 ns 5.048 ns 0.0400 736 B
PredicateSustained True False False 23.73 ns 0.211 ns 0.197 ns - -
PredicateSustained True False True 24.10 ns 0.166 ns 0.155 ns - -
PredicateSustained True True False 143.12 ns 0.541 ns 0.506 ns 0.0056 96 B
PredicateSustained True True True 2,324.40 ns 14.170 ns 13.254 ns 0.0367 656 B

core-ubuntu-24.04_net8.0_corretto_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 562.5 ns 3.48 ns 3.09 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,576.4 ns 35.45 ns 31.42 ns 11.69 0.08 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,283.6 ns 4.48 ns 3.74 ns 2.28 0.01 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,308.4 ns 4.36 ns 4.08 ns 2.33 0.01 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,756.4 ns 72.52 ns 67.83 ns 15.57 0.14 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 576.3 ns 4.13 ns 3.87 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 487,123.8 ns 3,052.25 ns 2,705.74 ns 845.36 7.14 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,997.9 ns 11.28 ns 10.55 ns 3.47 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,025.7 ns 9.69 ns 9.06 ns 3.52 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 699,915.5 ns 4,511.84 ns 3,767.59 ns 1,214.64 10.12 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 559.6 ns 3.65 ns 3.41 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 61,426,493.7 ns 518,547.79 ns 459,679.11 ns 109,766.15 1,023.62 1111.1111 1000.0000 333.3333 16002819 B 46,519.82
InvokeIntArrayFixed 100000 63,494.7 ns 148.50 ns 131.64 ns 113.46 0.71 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 63,670.5 ns 207.83 ns 184.24 ns 113.78 0.74 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 89,130,623.3 ns 1,004,436.09 ns 890,406.43 ns 159,272.07 1,800.75 1666.6667 1500.0000 666.6667 27895167 B 81,090.60

core-ubuntu-24.04_net8.0_corretto_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.227 μs 0.0056 μs 0.0050 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.209 μs 0.0093 μs 0.0083 μs 0.99 0.0210 360 B 1.00
DeclaredNewEmpty 1.220 μs 0.0091 μs 0.0081 μs 1.00 0.0210 360 B 1.00

core-ubuntu-24.04_net8.0_corretto_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 109.5 ns 0.68 ns 0.60 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 129.5 ns 1.37 ns 1.21 ns 1.18 0.01 0.0014 24 B 1.00
GetInstanceStringField 114.2 ns 0.94 ns 0.88 ns 1.04 0.01 - - 0.00
SetInstanceStringField 655.8 ns 2.87 ns 2.40 ns 5.99 0.04 0.0172 288 B 12.00
GetStaticIntField 116.6 ns 1.44 ns 1.35 ns 1.07 0.01 0.0014 24 B 1.00
SetStaticIntField 129.1 ns 0.89 ns 0.79 ns 1.18 0.01 0.0014 24 B 1.00
GetStaticStringField 107.8 ns 0.76 ns 0.71 ns 0.98 0.01 - - 0.00
SetStaticStringField 658.9 ns 2.92 ns 2.44 ns 6.02 0.04 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 139.0 ns 1.16 ns 1.08 ns 1.27 0.01 0.0014 24 B 1.00

core-ubuntu-24.04_net8.0_corretto_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 327.6 ns 2.92 ns 2.59 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 343.9 ns 2.40 ns 2.25 ns 1.05 0.01 - - NA
InvokeStaticWithFeedback 543.9 ns 3.32 ns 2.95 ns 1.66 0.02 0.0200 344 B NA
InvokeInstanceEmpty 366.4 ns 3.20 ns 2.99 ns 1.12 0.01 - - NA
InvokeInstanceWithFeedback 555.5 ns 2.94 ns 2.60 ns 1.70 0.02 0.0200 344 B NA

core-ubuntu-24.04_net8.0_corretto_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.480 μs 0.0092 μs 0.0086 μs 1.00 0.0420 712 B 1.00

core-ubuntu-24.04_net8.0_corretto_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,058.4 ns 8.05 ns 7.53 ns 0.0057 104 B
PredicateRoundTrip False False True 1,053.0 ns 7.97 ns 7.46 ns 0.0057 104 B
PredicateRoundTrip False True False 1,311.6 ns 8.20 ns 6.85 ns 0.0114 200 B
PredicateRoundTrip False True True 4,639.0 ns 24.56 ns 21.77 ns 0.0458 792 B
PredicateRoundTrip True False False 412.1 ns 3.12 ns 2.92 ns 0.0014 24 B
PredicateRoundTrip True False True 401.7 ns 2.58 ns 2.41 ns 0.0014 24 B
PredicateRoundTrip True True False 637.8 ns 4.21 ns 3.94 ns 0.0067 120 B
PredicateRoundTrip True True True 4,069.2 ns 19.82 ns 18.54 ns 0.0381 712 B

core-ubuntu-24.04_net8.0_corretto_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 591.02 ns 2.975 ns 2.783 ns 0.0044 80 B
PredicateSustained False False True 547.52 ns 4.951 ns 4.631 ns 0.0040 80 B
PredicateSustained False True False 707.64 ns 5.021 ns 4.451 ns 0.0100 176 B
PredicateSustained False True True 4,089.88 ns 22.703 ns 21.236 ns 0.0400 768 B
PredicateSustained True False False 40.58 ns 0.349 ns 0.292 ns - -
PredicateSustained True False True 41.29 ns 0.541 ns 0.506 ns - -
PredicateSustained True True False 185.22 ns 1.133 ns 1.004 ns 0.0056 96 B
PredicateSustained True True True 3,435.86 ns 32.790 ns 29.067 ns 0.0400 688 B

core-ubuntu-24.04_net8.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 8.0.30 (8.0.30, 8.0.3026.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 638.0 ns 7.17 ns 6.71 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,552.9 ns 35.56 ns 31.52 ns 10.27 0.12 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,352.8 ns 4.78 ns 4.24 ns 2.12 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,333.7 ns 5.19 ns 4.34 ns 2.09 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,059.9 ns 32.07 ns 28.43 ns 14.20 0.15 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 614.5 ns 5.16 ns 4.58 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 480,802.5 ns 1,887.96 ns 1,576.53 ns 782.49 6.18 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,985.8 ns 12.32 ns 11.52 ns 3.23 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,998.1 ns 17.32 ns 15.36 ns 3.25 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 713,348.7 ns 4,802.74 ns 4,010.50 ns 1,160.95 10.50 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 597.0 ns 8.34 ns 7.80 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,740,840.1 ns 946,752.33 ns 885,592.72 ns 100,081.40 1,912.09 1111.1111 1000.0000 333.3333 16002099 B 46,517.73
InvokeIntArrayFixed 100000 66,220.9 ns 307.60 ns 272.68 ns 110.94 1.47 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 66,424.7 ns 369.52 ns 345.65 ns 111.28 1.51 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 87,588,858.0 ns 814,942.17 ns 722,425.00 ns 146,734.05 2,188.75 1833.3333 1666.6667 833.3333 27897092 B 81,096.20

core-ubuntu-24.04_net8.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 8.0.30 (8.0.30, 8.0.3026.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.246 μs 0.0075 μs 0.0067 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.239 μs 0.0106 μs 0.0099 μs 0.99 0.0210 360 B 1.00
DeclaredNewEmpty 1.253 μs 0.0082 μs 0.0077 μs 1.01 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 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.84 ns 0.753 ns 0.668 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 117.36 ns 1.546 ns 1.370 ns 1.24 0.02 0.0014 24 B 1.00
GetInstanceStringField 105.27 ns 0.776 ns 0.648 ns 1.11 0.01 - - 0.00
SetInstanceStringField 689.06 ns 3.516 ns 3.117 ns 7.27 0.06 0.0172 288 B 12.00
GetStaticIntField 101.00 ns 1.321 ns 1.235 ns 1.07 0.01 0.0014 24 B 1.00
SetStaticIntField 119.95 ns 0.993 ns 0.929 ns 1.26 0.01 0.0014 24 B 1.00
GetStaticStringField 97.97 ns 1.179 ns 1.102 ns 1.03 0.01 - - 0.00
SetStaticStringField 660.03 ns 3.818 ns 3.385 ns 6.96 0.06 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 137.01 ns 1.703 ns 1.329 ns 1.44 0.02 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 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.1 ns 3.83 ns 3.40 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 259.0 ns 3.71 ns 3.47 ns 0.88 0.02 - - NA
InvokeStaticWithFeedback 593.8 ns 6.25 ns 5.84 ns 2.03 0.03 0.0200 344 B NA
InvokeInstanceEmpty 311.2 ns 4.28 ns 4.01 ns 1.06 0.02 - - NA
InvokeInstanceWithFeedback 611.7 ns 6.13 ns 5.74 ns 2.09 0.03 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 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.474 μs 0.0109 μs 0.0102 μ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 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,079.0 ns 12.86 ns 12.03 ns 0.0057 104 B
PredicateRoundTrip False False True 1,077.0 ns 16.17 ns 15.13 ns 0.0057 104 B
PredicateRoundTrip False True False 1,318.5 ns 4.07 ns 3.61 ns 0.0114 200 B
PredicateRoundTrip False True True 4,768.0 ns 16.79 ns 15.70 ns 0.0458 792 B
PredicateRoundTrip True False False 454.2 ns 2.80 ns 2.62 ns 0.0014 24 B
PredicateRoundTrip True False True 442.9 ns 3.38 ns 3.16 ns 0.0014 24 B
PredicateRoundTrip True True False 662.4 ns 2.80 ns 2.48 ns 0.0067 120 B
PredicateRoundTrip True True True 4,122.5 ns 15.06 ns 13.35 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 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 569.33 ns 7.093 ns 6.635 ns 0.0044 80 B
PredicateSustained False False True 579.48 ns 7.288 ns 6.817 ns 0.0044 80 B
PredicateSustained False True False 794.74 ns 9.456 ns 8.845 ns 0.0100 176 B
PredicateSustained False True True 4,264.75 ns 27.062 ns 22.598 ns 0.0400 768 B
PredicateSustained True False False 38.48 ns 0.206 ns 0.193 ns - -
PredicateSustained True False True 37.84 ns 0.529 ns 0.495 ns - -
PredicateSustained True True False 193.87 ns 1.378 ns 1.221 ns 0.0056 96 B
PredicateSustained True True True 3,525.68 ns 29.053 ns 25.754 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 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 604.2 ns 5.29 ns 4.69 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,470.9 ns 41.84 ns 39.13 ns 10.71 0.10 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,306.0 ns 8.52 ns 7.55 ns 2.16 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,306.9 ns 5.31 ns 4.43 ns 2.16 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,953.5 ns 49.06 ns 45.89 ns 14.82 0.13 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 619.8 ns 6.78 ns 6.34 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 485,033.7 ns 2,926.13 ns 2,737.11 ns 782.69 8.84 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,011.8 ns 15.71 ns 13.93 ns 3.25 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,991.8 ns 17.21 ns 16.10 ns 3.21 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 703,020.4 ns 2,627.66 ns 2,329.35 ns 1,134.46 11.79 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 605.4 ns 5.05 ns 4.73 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 61,636,827.7 ns 634,566.91 ns 593,574.28 ns 101,818.37 1,222.05 1111.1111 1000.0000 333.3333 16001141 B 46,514.94
InvokeIntArrayFixed 100000 67,596.2 ns 444.82 ns 371.44 ns 111.66 1.03 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 67,154.4 ns 435.12 ns 407.01 ns 110.93 1.06 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 86,173,277.7 ns 1,124,293.92 ns 1,051,665.23 ns 142,350.32 1,996.69 1833.3333 1666.6667 833.3333 27895763 B 81,092.33

core-ubuntu-24.04_net8.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 8.0.30 (8.0.30, 8.0.3026.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.215 μs 0.0130 μs 0.0122 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.231 μs 0.0108 μs 0.0101 μs 1.01 0.0210 360 B 1.00
DeclaredNewEmpty 1.230 μs 0.0087 μs 0.0077 μs 1.01 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 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.20 ns 0.987 ns 0.923 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 119.52 ns 2.049 ns 1.917 ns 1.39 0.03 0.0014 24 B 1.00
GetInstanceStringField 98.26 ns 1.194 ns 1.059 ns 1.14 0.02 - - 0.00
SetInstanceStringField 651.48 ns 4.230 ns 3.750 ns 7.56 0.09 0.0172 288 B 12.00
GetStaticIntField 94.82 ns 1.169 ns 1.093 ns 1.10 0.02 0.0014 24 B 1.00
SetStaticIntField 114.81 ns 0.655 ns 0.613 ns 1.33 0.02 0.0014 24 B 1.00
GetStaticStringField 91.67 ns 1.138 ns 1.065 ns 1.06 0.02 - - 0.00
SetStaticStringField 662.40 ns 4.283 ns 3.577 ns 7.69 0.09 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 125.55 ns 1.440 ns 1.347 ns 1.46 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 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.8 ns 3.61 ns 3.38 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 267.7 ns 3.04 ns 2.84 ns 0.91 0.01 - - NA
InvokeStaticWithFeedback 584.0 ns 5.74 ns 5.09 ns 1.97 0.03 0.0200 344 B NA
InvokeInstanceEmpty 316.0 ns 4.82 ns 4.51 ns 1.07 0.02 - - NA
InvokeInstanceWithFeedback 610.8 ns 4.55 ns 4.03 ns 2.07 0.03 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 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.518 μs 0.0133 μs 0.0124 μ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 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,026.2 ns 11.68 ns 10.92 ns 0.0057 104 B
PredicateRoundTrip False False True 1,075.1 ns 7.39 ns 6.91 ns 0.0057 104 B
PredicateRoundTrip False True False 1,324.9 ns 3.91 ns 3.47 ns 0.0114 200 B
PredicateRoundTrip False True True 4,718.9 ns 27.41 ns 25.64 ns 0.0458 792 B
PredicateRoundTrip True False False 426.4 ns 5.80 ns 5.42 ns 0.0014 24 B
PredicateRoundTrip True False True 458.0 ns 4.80 ns 4.01 ns 0.0014 24 B
PredicateRoundTrip True True False 647.0 ns 2.79 ns 2.61 ns 0.0067 120 B
PredicateRoundTrip True True True 3,982.3 ns 26.09 ns 24.40 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 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 571.46 ns 5.074 ns 4.498 ns 0.0044 80 B
PredicateSustained False False True 586.10 ns 7.238 ns 6.044 ns 0.0044 80 B
PredicateSustained False True False 754.44 ns 2.956 ns 2.765 ns 0.0100 176 B
PredicateSustained False True True 4,104.65 ns 32.059 ns 29.988 ns 0.0400 768 B
PredicateSustained True False False 37.31 ns 0.243 ns 0.227 ns - -
PredicateSustained True False True 37.28 ns 0.288 ns 0.256 ns - -
PredicateSustained True True False 201.66 ns 1.773 ns 1.658 ns 0.0056 96 B
PredicateSustained True True True 3,427.29 ns 29.701 ns 26.329 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 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 596.8 ns 4.77 ns 4.46 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,390.6 ns 24.29 ns 21.53 ns 10.71 0.08 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,318.5 ns 7.29 ns 6.82 ns 2.21 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,328.0 ns 9.75 ns 8.64 ns 2.23 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,895.9 ns 40.73 ns 38.10 ns 14.91 0.12 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 579.4 ns 4.94 ns 4.62 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 481,623.4 ns 2,766.34 ns 2,587.64 ns 831.30 7.74 9.2773 2.9297 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,998.9 ns 10.42 ns 9.75 ns 3.45 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,955.7 ns 10.54 ns 9.34 ns 3.38 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 707,223.7 ns 2,529.94 ns 2,112.62 ns 1,220.70 10.07 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 598.4 ns 6.53 ns 6.11 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,096,006.8 ns 578,966.79 ns 541,565.89 ns 100,434.06 1,322.48 1111.1111 1000.0000 333.3333 16002620 B 46,519.24
InvokeIntArrayFixed 100000 66,021.1 ns 365.70 ns 342.08 ns 110.34 1.22 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 66,083.6 ns 187.91 ns 166.58 ns 110.44 1.12 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 86,017,228.9 ns 944,127.96 ns 836,944.84 ns 143,754.30 1,958.51 1833.3333 1666.6667 833.3333 27897325 B 81,096.88

core-ubuntu-24.04_net8.0_corretto_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.184 μs 0.0067 μs 0.0060 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.223 μs 0.0057 μs 0.0053 μs 1.03 0.0210 360 B 1.00
DeclaredNewEmpty 1.202 μs 0.0043 μs 0.0038 μs 1.02 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 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 93.76 ns 0.819 ns 0.766 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 109.76 ns 0.875 ns 0.818 ns 1.17 0.01 0.0014 24 B 1.00
GetInstanceStringField 91.03 ns 0.894 ns 0.836 ns 0.97 0.01 - - 0.00
SetInstanceStringField 660.84 ns 3.616 ns 3.382 ns 7.05 0.07 0.0172 288 B 12.00
GetStaticIntField 98.90 ns 1.326 ns 1.241 ns 1.05 0.02 0.0014 24 B 1.00
SetStaticIntField 115.23 ns 1.041 ns 0.974 ns 1.23 0.01 0.0014 24 B 1.00
GetStaticStringField 86.24 ns 0.720 ns 0.638 ns 0.92 0.01 - - 0.00
SetStaticStringField 633.59 ns 3.599 ns 3.190 ns 6.76 0.06 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 119.98 ns 0.851 ns 0.796 ns 1.28 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 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 298.5 ns 3.36 ns 3.15 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 285.3 ns 2.97 ns 2.78 ns 0.96 0.01 - - NA
InvokeStaticWithFeedback 587.4 ns 7.73 ns 7.23 ns 1.97 0.03 0.0200 344 B NA
InvokeInstanceEmpty 318.2 ns 3.80 ns 3.56 ns 1.07 0.02 - - NA
InvokeInstanceWithFeedback 615.7 ns 5.40 ns 5.05 ns 2.06 0.03 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 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.475 μs 0.0119 μs 0.0099 μ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 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.0 ns 10.23 ns 9.57 ns 0.0057 104 B
PredicateRoundTrip False False True 1,038.3 ns 16.64 ns 15.57 ns 0.0057 104 B
PredicateRoundTrip False True False 1,275.6 ns 8.88 ns 7.87 ns 0.0114 200 B
PredicateRoundTrip False True True 4,657.4 ns 19.88 ns 18.59 ns 0.0458 792 B
PredicateRoundTrip True False False 442.9 ns 5.43 ns 5.08 ns 0.0014 24 B
PredicateRoundTrip True False True 464.6 ns 7.66 ns 7.17 ns 0.0010 24 B
PredicateRoundTrip True True False 673.6 ns 2.66 ns 2.35 ns 0.0067 120 B
PredicateRoundTrip True True True 4,035.5 ns 19.09 ns 16.92 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 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.09 ns 3.841 ns 3.405 ns 0.0040 80 B
PredicateSustained False False True 508.29 ns 2.710 ns 2.263 ns 0.0040 80 B
PredicateSustained False True False 709.67 ns 2.611 ns 2.039 ns 0.0100 176 B
PredicateSustained False True True 4,104.78 ns 21.357 ns 17.834 ns 0.0400 768 B
PredicateSustained True False False 39.27 ns 0.560 ns 0.524 ns - -
PredicateSustained True False True 38.74 ns 0.425 ns 0.397 ns - -
PredicateSustained True True False 192.73 ns 1.830 ns 1.711 ns 0.0056 96 B
PredicateSustained True True True 3,471.50 ns 15.606 ns 13.834 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 579.5 ns 5.52 ns 5.16 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,542.1 ns 23.06 ns 20.45 ns 11.29 0.10 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,262.1 ns 4.46 ns 3.96 ns 2.18 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,247.9 ns 11.57 ns 10.25 ns 2.15 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,777.8 ns 95.31 ns 89.15 ns 15.15 0.20 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 580.6 ns 5.42 ns 4.80 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 495,370.2 ns 3,082.01 ns 2,732.12 ns 853.20 8.23 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,721.1 ns 6.34 ns 5.62 ns 2.96 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,715.8 ns 6.96 ns 6.51 ns 2.96 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 716,127.2 ns 5,945.86 ns 5,561.77 ns 1,233.42 13.58 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 593.6 ns 3.28 ns 3.07 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,829,330.3 ns 662,716.35 ns 587,480.79 ns 102,471.59 1,084.78 1000.0000 875.0000 250.0000 16001479 B 46,515.93
InvokeIntArrayFixed 100000 44,463.0 ns 364.03 ns 322.70 ns 74.90 0.65 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 44,595.0 ns 308.30 ns 288.39 ns 75.12 0.60 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,959,452.1 ns 881,168.17 ns 824,245.25 ns 144,805.17 1,527.20 1833.3333 1666.6667 833.3333 27897736 B 81,098.07

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.199 μs 0.0061 μs 0.0051 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.226 μs 0.0042 μs 0.0039 μs 1.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.203 μs 0.0036 μs 0.0032 μ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.58 ns 0.462 ns 0.386 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 125.56 ns 0.747 ns 0.699 ns 1.36 0.01 0.0014 24 B 1.00
GetInstanceStringField 94.84 ns 0.795 ns 0.744 ns 1.02 0.01 - - 0.00
SetInstanceStringField 682.78 ns 3.688 ns 3.449 ns 7.38 0.05 0.0172 288 B 12.00
GetStaticIntField 99.34 ns 0.834 ns 0.780 ns 1.07 0.01 0.0014 24 B 1.00
SetStaticIntField 114.43 ns 1.255 ns 1.174 ns 1.24 0.01 0.0014 24 B 1.00
GetStaticStringField 108.63 ns 1.501 ns 1.331 ns 1.17 0.01 - - 0.00
SetStaticStringField 662.54 ns 6.276 ns 5.870 ns 7.16 0.07 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 130.72 ns 0.892 ns 0.834 ns 1.41 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 294.0 ns 2.33 ns 2.18 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 268.3 ns 2.10 ns 1.75 ns 0.91 0.01 - - NA
InvokeStaticWithFeedback 560.8 ns 4.01 ns 3.55 ns 1.91 0.02 0.0200 344 B NA
InvokeInstanceEmpty 303.8 ns 3.04 ns 2.85 ns 1.03 0.01 - - NA
InvokeInstanceWithFeedback 583.9 ns 4.96 ns 4.64 ns 1.99 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.456 μs 0.0112 μs 0.0105 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,017.7 ns 8.92 ns 8.35 ns 0.0057 104 B
PredicateRoundTrip False False True 1,036.0 ns 10.95 ns 10.24 ns 0.0057 104 B
PredicateRoundTrip False True False 1,241.3 ns 5.16 ns 4.83 ns 0.0114 200 B
PredicateRoundTrip False True True 4,522.3 ns 47.36 ns 41.98 ns 0.0458 792 B
PredicateRoundTrip True False False 404.9 ns 5.44 ns 4.82 ns 0.0014 24 B
PredicateRoundTrip True False True 430.2 ns 3.27 ns 2.90 ns 0.0014 24 B
PredicateRoundTrip True True False 642.7 ns 4.14 ns 3.88 ns 0.0067 120 B
PredicateRoundTrip True True True 3,890.5 ns 18.54 ns 17.34 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 539.98 ns 4.016 ns 3.756 ns 0.0040 80 B
PredicateSustained False False True 553.27 ns 5.781 ns 5.407 ns 0.0044 80 B
PredicateSustained False True False 754.06 ns 10.596 ns 9.912 ns 0.0100 176 B
PredicateSustained False True True 3,998.12 ns 26.462 ns 24.753 ns 0.0400 768 B
PredicateSustained True False False 37.42 ns 0.351 ns 0.328 ns - -
PredicateSustained True False True 37.49 ns 0.568 ns 0.531 ns - -
PredicateSustained True True False 194.91 ns 0.702 ns 0.623 ns 0.0056 96 B
PredicateSustained True True True 3,356.78 ns 22.742 ns 18.991 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 586.8 ns 3.82 ns 3.58 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,295.3 ns 39.78 ns 37.21 ns 10.73 0.09 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,274.3 ns 4.96 ns 4.64 ns 2.17 0.01 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,303.5 ns 3.08 ns 2.41 ns 2.22 0.01 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,669.9 ns 65.81 ns 58.34 ns 14.77 0.13 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 591.4 ns 5.36 ns 5.02 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 466,345.2 ns 1,966.35 ns 1,743.11 ns 788.56 7.11 9.2773 2.9297 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,740.4 ns 5.41 ns 4.79 ns 2.94 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,721.0 ns 6.08 ns 5.39 ns 2.91 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 685,737.6 ns 4,643.97 ns 4,116.76 ns 1,159.54 11.70 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 573.9 ns 3.84 ns 3.40 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 58,492,640.0 ns 460,687.16 ns 430,927.05 ns 101,919.38 932.72 1111.1111 1000.0000 333.3333 16002172 B 46,517.94
InvokeIntArrayFixed 100000 43,203.4 ns 509.47 ns 451.64 ns 75.28 0.87 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 43,265.0 ns 387.82 ns 362.77 ns 75.39 0.75 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 84,498,865.1 ns 851,720.17 ns 796,699.58 ns 147,233.43 1,587.26 1833.3333 1666.6667 833.3333 27896015 B 81,093.07

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.215 μs 0.0034 μs 0.0029 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.184 μs 0.0051 μs 0.0046 μs 0.98 0.0210 360 B 1.00
DeclaredNewEmpty 1.236 μs 0.0036 μs 0.0031 μs 1.02 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.21 ns 0.531 ns 0.497 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 111.41 ns 0.760 ns 0.711 ns 1.29 0.01 0.0014 24 B 1.00
GetInstanceStringField 96.76 ns 0.780 ns 0.730 ns 1.12 0.01 - - 0.00
SetInstanceStringField 633.24 ns 3.182 ns 2.976 ns 7.35 0.05 0.0172 288 B 12.00
GetStaticIntField 92.33 ns 0.512 ns 0.479 ns 1.07 0.01 0.0014 24 B 1.00
SetStaticIntField 113.26 ns 1.221 ns 1.143 ns 1.31 0.01 0.0014 24 B 1.00
GetStaticStringField 87.22 ns 0.727 ns 0.680 ns 1.01 0.01 - - 0.00
SetStaticStringField 637.51 ns 4.714 ns 3.937 ns 7.40 0.06 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 119.55 ns 0.678 ns 0.634 ns 1.39 0.01 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 289.4 ns 4.24 ns 3.97 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 260.0 ns 3.35 ns 2.97 ns 0.90 0.02 - - NA
InvokeStaticWithFeedback 577.3 ns 4.14 ns 3.67 ns 1.99 0.03 0.0200 344 B NA
InvokeInstanceEmpty 299.1 ns 2.32 ns 1.93 ns 1.03 0.02 - - NA
InvokeInstanceWithFeedback 593.0 ns 3.31 ns 2.76 ns 2.05 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.468 μs 0.0052 μs 0.0046 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,047.2 ns 9.53 ns 8.92 ns 0.0057 104 B
PredicateRoundTrip False False True 1,033.1 ns 8.23 ns 7.30 ns 0.0057 104 B
PredicateRoundTrip False True False 1,329.3 ns 5.02 ns 4.45 ns 0.0114 200 B
PredicateRoundTrip False True True 4,466.4 ns 21.62 ns 20.23 ns 0.0458 792 B
PredicateRoundTrip True False False 425.8 ns 5.04 ns 4.71 ns 0.0014 24 B
PredicateRoundTrip True False True 408.7 ns 2.73 ns 2.55 ns 0.0014 24 B
PredicateRoundTrip True True False 624.9 ns 2.56 ns 2.27 ns 0.0067 120 B
PredicateRoundTrip True True True 3,807.3 ns 11.67 ns 9.74 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 541.96 ns 4.667 ns 4.138 ns 0.0040 80 B
PredicateSustained False False True 545.59 ns 3.941 ns 3.077 ns 0.0044 80 B
PredicateSustained False True False 733.03 ns 4.767 ns 4.226 ns 0.0100 176 B
PredicateSustained False True True 3,976.13 ns 26.349 ns 23.358 ns 0.0400 768 B
PredicateSustained True False False 37.36 ns 0.154 ns 0.137 ns - -
PredicateSustained True False True 42.68 ns 0.187 ns 0.175 ns - -
PredicateSustained True True False 196.26 ns 1.148 ns 0.958 ns 0.0056 96 B
PredicateSustained True True True 3,377.87 ns 50.469 ns 42.144 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 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 432.1 ns 1.38 ns 1.29 ns 1.00 0.00 0.0205 - - 344 B 1.00
InvokeStringArrayFixed 10 5,029.4 ns 39.73 ns 35.22 ns 11.64 0.09 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 978.6 ns 3.49 ns 2.92 ns 2.26 0.01 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 975.8 ns 6.18 ns 5.78 ns 2.26 0.01 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 7,029.2 ns 41.60 ns 36.87 ns 16.27 0.09 0.2060 - - 3520 B 10.23
InvokeIntParam 1000 421.7 ns 1.66 ns 1.55 ns 1.00 0.01 0.0205 - - 344 B 1.00
InvokeStringArrayFixed 1000 371,647.6 ns 2,200.21 ns 2,058.08 ns 881.35 5.67 9.2773 2.9297 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,353.7 ns 8.74 ns 7.75 ns 3.21 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,370.3 ns 7.79 ns 6.91 ns 3.25 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 539,716.6 ns 2,600.85 ns 2,171.83 ns 1,279.92 6.74 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 422.2 ns 2.46 ns 2.05 ns 1.00 0.01 0.0205 - - 344 B 1.00
InvokeStringArrayFixed 100000 45,327,764.0 ns 480,961.26 ns 449,891.46 ns 107,367.29 1,147.34 1000.0000 909.0909 272.7273 16001524 B 46,516.06
InvokeIntArrayFixed 100000 27,522.4 ns 184.25 ns 153.86 ns 65.19 0.46 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 27,685.5 ns 170.85 ns 151.45 ns 65.58 0.46 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 70,130,859.1 ns 999,456.19 ns 885,991.88 ns 166,118.06 2,171.04 2000.0000 1875.0000 875.0000 27895681 B 81,092.10

core-ubuntu-24.04_net8.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 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 909.2 ns 2.12 ns 1.88 ns 1.00 0.0210 360 B 1.00
NewWithSignature 911.9 ns 4.39 ns 4.10 ns 1.00 0.0210 360 B 1.00
DeclaredNewEmpty 921.9 ns 6.24 ns 5.21 ns 1.01 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 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 75.47 ns 0.674 ns 0.631 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 89.73 ns 0.650 ns 0.507 ns 1.19 0.01 0.0014 24 B 1.00
GetInstanceStringField 77.10 ns 0.675 ns 0.632 ns 1.02 0.01 - - 0.00
SetInstanceStringField 493.74 ns 5.497 ns 5.142 ns 6.54 0.08 0.0172 288 B 12.00
GetStaticIntField 79.25 ns 0.549 ns 0.459 ns 1.05 0.01 0.0014 24 B 1.00
SetStaticIntField 102.93 ns 0.317 ns 0.265 ns 1.36 0.01 0.0014 24 B 1.00
GetStaticStringField 73.62 ns 0.375 ns 0.332 ns 0.98 0.01 - - 0.00
SetStaticStringField 499.44 ns 2.454 ns 2.295 ns 6.62 0.06 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 116.43 ns 0.874 ns 0.775 ns 1.54 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 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 217.4 ns 0.83 ns 0.77 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 194.4 ns 1.40 ns 1.31 ns 0.89 - - NA
InvokeStaticWithFeedback 425.2 ns 2.27 ns 2.13 ns 1.96 0.0205 344 B NA
InvokeInstanceEmpty 225.4 ns 1.69 ns 1.50 ns 1.04 - - NA
InvokeInstanceWithFeedback 432.0 ns 3.06 ns 2.86 ns 1.99 0.0205 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 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.120 μs 0.0044 μs 0.0041 μ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 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 821.3 ns 4.69 ns 4.39 ns 0.0057 104 B
PredicateRoundTrip False False True 811.8 ns 5.92 ns 5.24 ns 0.0057 104 B
PredicateRoundTrip False True False 1,011.4 ns 5.96 ns 4.98 ns 0.0114 200 B
PredicateRoundTrip False True True 3,473.7 ns 6.35 ns 4.95 ns 0.0458 792 B
PredicateRoundTrip True False False 309.7 ns 2.80 ns 2.49 ns 0.0014 24 B
PredicateRoundTrip True False True 310.0 ns 1.69 ns 1.58 ns 0.0014 24 B
PredicateRoundTrip True True False 490.2 ns 2.21 ns 1.96 ns 0.0067 120 B
PredicateRoundTrip True True True 3,052.8 ns 22.76 ns 19.01 ns 0.0420 712 B

core-ubuntu-24.04_net8.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 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 399.22 ns 2.198 ns 2.056 ns 0.0046 80 B
PredicateSustained False False True 398.63 ns 2.686 ns 2.513 ns 0.0046 80 B
PredicateSustained False True False 534.79 ns 3.067 ns 2.869 ns 0.0100 176 B
PredicateSustained False True True 3,094.84 ns 11.291 ns 10.009 ns 0.0450 768 B
PredicateSustained True False False 31.95 ns 0.186 ns 0.165 ns - -
PredicateSustained True False True 32.86 ns 0.322 ns 0.301 ns - -
PredicateSustained True True False 146.50 ns 0.374 ns 0.332 ns 0.0056 96 B
PredicateSustained True True True 2,593.84 ns 14.618 ns 12.958 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 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 5.75 ns 5.37 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 7,127.7 ns 28.75 ns 25.49 ns 11.81 0.11 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,340.5 ns 3.72 ns 3.30 ns 2.22 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,329.0 ns 6.12 ns 5.73 ns 2.20 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,725.7 ns 52.39 ns 49.01 ns 14.46 0.15 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 605.4 ns 6.67 ns 6.24 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 536,423.5 ns 2,245.54 ns 1,875.13 ns 886.14 9.40 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,976.3 ns 13.56 ns 12.68 ns 3.26 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,999.9 ns 15.41 ns 13.66 ns 3.30 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 725,902.0 ns 4,313.54 ns 4,034.89 ns 1,199.14 13.67 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 603.7 ns 7.79 ns 7.29 ns 1.00 0.02 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 61,127,894.1 ns 1,105,715.73 ns 1,034,287.18 ns 101,268.75 2,041.45 1000.0000 875.0000 250.0000 16002318 B 46,518.37
InvokeIntArrayFixed 100000 65,602.9 ns 322.29 ns 301.47 ns 108.68 1.37 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 65,419.7 ns 232.28 ns 217.28 ns 108.38 1.32 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 84,963,270.4 ns 1,156,689.30 ns 1,081,967.88 ns 140,756.10 2,396.98 1833.3333 1666.6667 833.3333 27897653 B 81,097.83

core-ubuntu-24.04_net8.0_microsoft_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 8.0.30 (8.0.30, 8.0.3026.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.215 μs 0.0043 μs 0.0038 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.245 μs 0.0073 μs 0.0069 μs 1.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.257 μs 0.0046 μs 0.0043 μs 1.03 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 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 93.00 ns 0.574 ns 0.509 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 127.03 ns 1.364 ns 1.276 ns 1.37 0.02 0.0014 24 B 1.00
GetInstanceStringField 94.95 ns 1.172 ns 1.096 ns 1.02 0.01 - - 0.00
SetInstanceStringField 692.10 ns 3.862 ns 3.424 ns 7.44 0.05 0.0172 288 B 12.00
GetStaticIntField 100.19 ns 0.908 ns 0.850 ns 1.08 0.01 0.0014 24 B 1.00
SetStaticIntField 123.91 ns 1.287 ns 1.204 ns 1.33 0.01 0.0014 24 B 1.00
GetStaticStringField 92.92 ns 0.663 ns 0.621 ns 1.00 0.01 - - 0.00
SetStaticStringField 719.40 ns 4.191 ns 3.920 ns 7.74 0.06 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 128.10 ns 0.836 ns 0.742 ns 1.38 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 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 371.6 ns 5.97 ns 5.59 ns 1.00 0.02 - - NA
InvokeStaticEmptyWithSignature 324.9 ns 3.27 ns 2.90 ns 0.87 0.01 - - NA
InvokeStaticWithFeedback 590.2 ns 2.69 ns 2.38 ns 1.59 0.02 0.0200 344 B NA
InvokeInstanceEmpty 373.7 ns 3.25 ns 2.89 ns 1.01 0.02 - - NA
InvokeInstanceWithFeedback 588.0 ns 6.98 ns 6.53 ns 1.58 0.03 0.0200 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 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.492 μs 0.0057 μs 0.0051 μ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 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,078.1 ns 12.99 ns 12.15 ns 0.0057 104 B
PredicateRoundTrip False False True 1,096.8 ns 10.46 ns 9.79 ns 0.0057 104 B
PredicateRoundTrip False True False 1,400.4 ns 7.63 ns 7.14 ns 0.0114 200 B
PredicateRoundTrip False True True 4,917.3 ns 21.82 ns 19.34 ns 0.0458 792 B
PredicateRoundTrip True False False 412.6 ns 3.85 ns 3.60 ns 0.0014 24 B
PredicateRoundTrip True False True 415.8 ns 6.26 ns 5.85 ns 0.0014 24 B
PredicateRoundTrip True True False 647.6 ns 2.67 ns 2.50 ns 0.0067 120 B
PredicateRoundTrip True True True 4,061.9 ns 21.57 ns 20.17 ns 0.0381 712 B

core-ubuntu-24.04_net8.0_microsoft_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 8.0.30 (8.0.30, 8.0.3026.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 602.92 ns 5.129 ns 4.797 ns 0.0044 80 B
PredicateSustained False False True 603.74 ns 7.803 ns 7.299 ns 0.0044 80 B
PredicateSustained False True False 771.56 ns 6.956 ns 6.506 ns 0.0100 176 B
PredicateSustained False True True 4,281.90 ns 24.696 ns 23.101 ns 0.0400 768 B
PredicateSustained True False False 38.00 ns 0.406 ns 0.360 ns - -
PredicateSustained True False True 38.32 ns 0.312 ns 0.292 ns - -
PredicateSustained True True False 193.15 ns 1.391 ns 1.301 ns 0.0056 96 B
PredicateSustained True True True 3,539.64 ns 13.925 ns 13.025 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 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 549.0 ns 2.07 ns 1.83 ns 1.00 0.00 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,441.7 ns 31.32 ns 27.77 ns 11.73 0.06 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,280.2 ns 4.08 ns 3.62 ns 2.33 0.01 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,300.5 ns 5.15 ns 4.02 ns 2.37 0.01 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,790.4 ns 143.56 ns 141.00 ns 16.01 0.25 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 555.2 ns 3.47 ns 3.08 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 477,079.4 ns 2,030.51 ns 1,899.34 ns 859.25 5.67 9.2773 2.9297 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,985.6 ns 19.03 ns 15.89 ns 3.58 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,014.4 ns 11.50 ns 9.60 ns 3.63 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 689,211.7 ns 4,660.93 ns 4,131.79 ns 1,241.32 9.79 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 534.2 ns 3.16 ns 2.64 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,568,905.4 ns 857,252.93 ns 801,874.93 ns 111,503.55 1,547.45 1111.1111 1000.0000 333.3333 16002567 B 46,519.09
InvokeIntArrayFixed 100000 63,530.6 ns 432.69 ns 361.32 ns 118.92 0.86 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 62,698.9 ns 310.55 ns 290.49 ns 117.36 0.77 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 86,189,934.5 ns 1,478,318.89 ns 1,310,491.19 ns 161,333.90 2,491.38 1833.3333 1666.6667 833.3333 27897695 B 81,097.95

core-ubuntu-24.04_net8.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 8.0.30 (8.0.30, 8.0.3026.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.173 μs 0.0095 μs 0.0079 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.178 μs 0.0064 μs 0.0060 μs 1.00 0.0210 360 B 1.00
DeclaredNewEmpty 1.159 μs 0.0059 μs 0.0053 μs 0.99 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 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 101.5 ns 0.36 ns 0.30 ns 1.00 0.00 0.0014 24 B 1.00
SetInstanceIntField 123.7 ns 1.35 ns 1.27 ns 1.22 0.01 0.0014 24 B 1.00
GetInstanceStringField 102.6 ns 0.62 ns 0.52 ns 1.01 0.01 - - 0.00
SetInstanceStringField 643.1 ns 2.55 ns 2.26 ns 6.34 0.03 0.0172 288 B 12.00
GetStaticIntField 116.7 ns 1.08 ns 1.01 ns 1.15 0.01 0.0014 24 B 1.00
SetStaticIntField 134.4 ns 1.08 ns 1.01 ns 1.32 0.01 0.0014 24 B 1.00
GetStaticStringField 100.6 ns 0.63 ns 0.59 ns 0.99 0.01 - - 0.00
SetStaticStringField 650.9 ns 3.52 ns 3.12 ns 6.41 0.03 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 138.3 ns 0.99 ns 0.88 ns 1.36 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 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 298.7 ns 2.11 ns 1.97 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 262.2 ns 1.28 ns 1.07 ns 0.88 0.01 - - NA
InvokeStaticWithFeedback 530.3 ns 4.23 ns 3.75 ns 1.78 0.02 0.0200 344 B NA
InvokeInstanceEmpty 289.4 ns 1.37 ns 1.22 ns 0.97 0.01 - - NA
InvokeInstanceWithFeedback 549.9 ns 4.26 ns 3.99 ns 1.84 0.02 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 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.466 μs 0.0051 μs 0.0045 μ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 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,057.4 ns 9.30 ns 8.24 ns 0.0057 104 B
PredicateRoundTrip False False True 1,018.9 ns 5.99 ns 5.31 ns 0.0057 104 B
PredicateRoundTrip False True False 1,256.7 ns 4.32 ns 3.83 ns 0.0114 200 B
PredicateRoundTrip False True True 4,496.8 ns 18.88 ns 16.73 ns 0.0458 792 B
PredicateRoundTrip True False False 399.7 ns 4.28 ns 4.00 ns 0.0014 24 B
PredicateRoundTrip True False True 404.0 ns 3.92 ns 3.67 ns 0.0014 24 B
PredicateRoundTrip True True False 607.1 ns 2.80 ns 2.34 ns 0.0067 120 B
PredicateRoundTrip True True True 3,822.0 ns 13.26 ns 11.76 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 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 516.45 ns 3.895 ns 3.253 ns 0.0040 80 B
PredicateSustained False False True 514.16 ns 3.679 ns 3.262 ns 0.0040 80 B
PredicateSustained False True False 694.94 ns 3.896 ns 3.454 ns 0.0100 176 B
PredicateSustained False True True 3,963.49 ns 32.551 ns 30.448 ns 0.0400 768 B
PredicateSustained True False False 39.88 ns 0.386 ns 0.323 ns - -
PredicateSustained True False True 40.03 ns 0.342 ns 0.320 ns - -
PredicateSustained True True False 186.67 ns 0.764 ns 0.677 ns 0.0056 96 B
PredicateSustained True True True 3,365.76 ns 19.057 ns 15.914 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.97GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 570.0 ns 4.43 ns 4.14 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,361.4 ns 17.26 ns 14.42 ns 11.16 0.08 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,220.8 ns 3.40 ns 2.84 ns 2.14 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,256.2 ns 6.07 ns 5.07 ns 2.20 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,613.1 ns 58.16 ns 54.41 ns 15.11 0.14 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 587.7 ns 5.17 ns 4.84 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 472,763.2 ns 1,734.13 ns 1,537.26 ns 804.43 6.92 9.2773 2.9297 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,875.5 ns 7.49 ns 7.00 ns 3.19 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,918.7 ns 10.31 ns 9.64 ns 3.26 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 678,518.7 ns 3,314.62 ns 2,938.32 ns 1,154.54 10.42 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 595.7 ns 3.61 ns 3.38 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 58,944,120.7 ns 584,013.16 ns 546,286.27 ns 98,956.86 1,041.37 1111.1111 1000.0000 333.3333 16002343 B 46,518.44
InvokeIntArrayFixed 100000 66,765.7 ns 228.39 ns 202.46 ns 112.09 0.70 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 67,001.2 ns 370.09 ns 328.08 ns 112.48 0.82 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 83,837,695.0 ns 949,701.42 ns 888,351.30 ns 140,748.81 1,638.25 1833.3333 1666.6667 833.3333 27896443 B 81,094.31

core-ubuntu-24.04_net8.0_microsoft_21


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.97GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.154 μs 0.0043 μs 0.0038 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.186 μs 0.0042 μs 0.0039 μs 1.03 0.0210 360 B 1.00
DeclaredNewEmpty 1.175 μs 0.0039 μs 0.0036 μs 1.02 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.97GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.02 ns 1.069 ns 1.000 ns 1.00 0.02 0.0014 24 B 1.00
SetInstanceIntField 108.22 ns 0.999 ns 0.934 ns 1.24 0.02 0.0014 24 B 1.00
GetInstanceStringField 89.18 ns 0.876 ns 0.819 ns 1.02 0.01 - - 0.00
SetInstanceStringField 647.63 ns 3.474 ns 3.250 ns 7.44 0.09 0.0172 288 B 12.00
GetStaticIntField 99.66 ns 0.687 ns 0.609 ns 1.15 0.01 0.0014 24 B 1.00
SetStaticIntField 109.05 ns 0.601 ns 0.532 ns 1.25 0.02 0.0014 24 B 1.00
GetStaticStringField 84.37 ns 0.850 ns 0.795 ns 0.97 0.01 - - 0.00
SetStaticStringField 651.07 ns 4.465 ns 4.176 ns 7.48 0.10 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 121.07 ns 1.401 ns 1.310 ns 1.39 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.97GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 303.6 ns 2.50 ns 2.34 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 252.9 ns 2.72 ns 2.55 ns 0.83 0.01 - - NA
InvokeStaticWithFeedback 576.6 ns 5.82 ns 5.44 ns 1.90 0.02 0.0200 344 B NA
InvokeInstanceEmpty 306.8 ns 3.47 ns 3.25 ns 1.01 0.01 - - NA
InvokeInstanceWithFeedback 585.1 ns 3.43 ns 3.21 ns 1.93 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.97GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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.464 μs 0.0082 μs 0.0076 μ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.97GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 982.2 ns 13.72 ns 12.83 ns 0.0057 104 B
PredicateRoundTrip False False True 993.7 ns 5.64 ns 4.71 ns 0.0057 104 B
PredicateRoundTrip False True False 1,204.6 ns 6.22 ns 5.82 ns 0.0114 200 B
PredicateRoundTrip False True True 4,375.6 ns 38.48 ns 32.13 ns 0.0458 792 B
PredicateRoundTrip True False False 425.2 ns 3.40 ns 3.02 ns 0.0014 24 B
PredicateRoundTrip True False True 424.8 ns 4.08 ns 3.81 ns 0.0014 24 B
PredicateRoundTrip True True False 624.3 ns 1.70 ns 1.59 ns 0.0067 120 B
PredicateRoundTrip True True True 3,753.9 ns 11.67 ns 10.92 ns 0.0420 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.97GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.400
  [Host]     : .NET 8.0.30 (8.0.30, 8.0.3026.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 518.60 ns 5.956 ns 5.572 ns 0.0040 80 B
PredicateSustained False False True 524.77 ns 5.935 ns 5.261 ns 0.0044 80 B
PredicateSustained False True False 704.55 ns 4.031 ns 3.771 ns 0.0100 176 B
PredicateSustained False True True 3,856.29 ns 17.407 ns 14.535 ns 0.0400 768 B
PredicateSustained True False False 38.70 ns 0.344 ns 0.305 ns - -
PredicateSustained True False True 38.89 ns 0.279 ns 0.261 ns - -
PredicateSustained True True False 193.94 ns 2.267 ns 2.121 ns 0.0056 96 B
PredicateSustained True True True 3,234.18 ns 17.879 ns 14.930 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)
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 485.5 ns 4.64 ns 4.34 ns 1.00 0.01 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 10 6,269.9 ns 37.08 ns 32.87 ns 12.92 0.13 0.0229 - - 2048 B 5.95
InvokeIntArrayFixed 10 995.6 ns 6.31 ns 5.59 ns 2.05 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 10 996.6 ns 7.62 ns 7.13 ns 2.05 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,206.3 ns 54.56 ns 45.56 ns 16.90 0.17 0.0305 - - 3520 B 10.23
InvokeIntParam 1000 489.7 ns 5.73 ns 5.36 ns 1.00 0.02 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 1000 499,472.0 ns 2,390.44 ns 2,119.06 ns 1,019.99 11.62 0.9766 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,824.3 ns 12.08 ns 11.30 ns 3.73 0.05 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,809.3 ns 10.87 ns 10.17 ns 3.69 0.04 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 660,291.5 ns 3,424.08 ns 3,202.89 ns 1,348.41 15.67 2.9297 0.9766 - 265888 B 772.93
InvokeIntParam 100000 496.2 ns 7.75 ns 7.25 ns 1.00 0.02 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 100000 55,483,883.3 ns 314,309.38 ns 262,462.56 ns 111,836.44 1,673.72 333.3333 222.2222 222.2222 16001948 B 46,517.29
InvokeIntArrayFixed 100000 77,161.3 ns 406.56 ns 360.41 ns 155.53 2.33 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 77,246.1 ns 363.55 ns 340.07 ns 155.70 2.32 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 76,984,103.7 ns 1,340,808.91 ns 1,254,193.49 ns 155,173.49 3,298.84 1000.0000 857.1429 857.1429 27894642 B 81,089.08

core-ubuntu-24.04_net8.0_microsoft_25


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.196 μs 0.0113 μs 0.0106 μs 1.00 0.0038 360 B 1.00
NewWithSignature 1.044 μs 0.0035 μs 0.0033 μs 0.87 0.0038 360 B 1.00
DeclaredNewEmpty 1.243 μs 0.0133 μs 0.0117 μs 1.04 0.0038 360 B 1.00

core-ubuntu-24.04_net8.0_microsoft_25


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 87.88 ns 0.615 ns 0.576 ns 1.00 0.01 0.0002 24 B 1.00
SetInstanceIntField 101.98 ns 0.650 ns 0.608 ns 1.16 0.01 0.0002 24 B 1.00
GetInstanceStringField 87.85 ns 0.686 ns 0.642 ns 1.00 0.01 - - 0.00
SetInstanceStringField 615.79 ns 4.651 ns 4.123 ns 7.01 0.06 0.0029 288 B 12.00
GetStaticIntField 91.18 ns 0.756 ns 0.707 ns 1.04 0.01 0.0002 24 B 1.00
SetStaticIntField 98.06 ns 0.590 ns 0.523 ns 1.12 0.01 0.0002 24 B 1.00
GetStaticStringField 82.45 ns 0.422 ns 0.374 ns 0.94 0.01 - - 0.00
SetStaticStringField 619.32 ns 4.483 ns 4.194 ns 7.05 0.06 0.0029 288 B 12.00
GetInstanceIntFieldGeneric 106.52 ns 0.527 ns 0.468 ns 1.21 0.01 0.0002 24 B 1.00

core-ubuntu-24.04_net8.0_microsoft_25


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 257.3 ns 2.23 ns 2.08 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 225.3 ns 1.72 ns 1.61 ns 0.88 0.01 - - NA
InvokeStaticWithFeedback 475.2 ns 4.04 ns 3.58 ns 1.85 0.02 0.0038 344 B NA
InvokeInstanceEmpty 249.1 ns 1.39 ns 1.08 ns 0.97 0.01 - - NA
InvokeInstanceWithFeedback 487.7 ns 4.29 ns 4.01 ns 1.90 0.02 0.0038 344 B NA

core-ubuntu-24.04_net8.0_microsoft_25


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.197 μs 0.0065 μs 0.0060 μs 1.00 0.0076 712 B 1.00

core-ubuntu-24.04_net8.0_microsoft_25


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 834.4 ns 6.85 ns 6.41 ns 0.0010 104 B
PredicateRoundTrip False False True 836.3 ns 6.43 ns 6.02 ns 0.0010 104 B
PredicateRoundTrip False True False 1,023.1 ns 4.14 ns 3.87 ns 0.0019 200 B
PredicateRoundTrip False True True 3,642.0 ns 27.21 ns 25.45 ns 0.0076 792 B
PredicateRoundTrip True False False 340.3 ns 3.04 ns 2.69 ns - 24 B
PredicateRoundTrip True False True 344.5 ns 3.46 ns 3.24 ns - 24 B
PredicateRoundTrip True True False 532.8 ns 6.56 ns 5.81 ns 0.0010 120 B
PredicateRoundTrip True True True 3,107.4 ns 23.04 ns 21.55 ns 0.0076 712 B

core-ubuntu-24.04_net8.0_microsoft_25


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 483.50 ns 2.925 ns 2.593 ns 0.0009 80 B
PredicateSustained False False True 471.18 ns 3.780 ns 3.351 ns 0.0009 80 B
PredicateSustained False True False 650.06 ns 4.830 ns 4.518 ns 0.0013 176 B
PredicateSustained False True True 3,275.66 ns 28.001 ns 24.822 ns 0.0050 768 B
PredicateSustained True False False 51.54 ns 1.008 ns 1.628 ns - -
PredicateSustained True False True 51.75 ns 1.018 ns 1.644 ns - -
PredicateSustained True True False 198.52 ns 0.859 ns 0.761 ns 0.0009 96 B
PredicateSustained True True True 2,801.33 ns 22.014 ns 20.592 ns 0.0050 688 B

core-ubuntu-24.04_net8.0_oracle_17


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 560.6 ns 3.66 ns 3.06 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,722.7 ns 101.06 ns 89.58 ns 11.99 0.17 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,272.6 ns 4.50 ns 3.76 ns 2.27 0.01 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,257.4 ns 9.57 ns 8.95 ns 2.24 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,765.7 ns 43.25 ns 38.34 ns 15.64 0.11 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 565.6 ns 4.23 ns 3.53 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 498,500.6 ns 3,128.36 ns 2,773.21 ns 881.42 7.07 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,013.2 ns 9.19 ns 7.67 ns 3.56 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,028.0 ns 12.69 ns 11.25 ns 3.59 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 683,846.3 ns 3,108.21 ns 2,595.49 ns 1,209.13 8.45 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 560.4 ns 3.02 ns 2.82 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 61,360,330.8 ns 908,498.47 ns 849,810.03 ns 109,505.69 1,562.22 1000.0000 875.0000 250.0000 16000911 B 46,514.28
InvokeIntArrayFixed 100000 64,845.8 ns 510.95 ns 477.94 ns 115.73 1.00 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 65,313.8 ns 454.30 ns 402.73 ns 116.56 0.90 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 88,580,931.6 ns 1,413,165.39 ns 1,387,917.37 ns 158,084.48 2,523.48 1833.3333 1666.6667 833.3333 27895921 B 81,092.79

core-ubuntu-24.04_net8.0_oracle_17


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.184 μs 0.0060 μs 0.0056 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.185 μs 0.0075 μs 0.0070 μs 1.00 0.0210 360 B 1.00
DeclaredNewEmpty 1.175 μs 0.0083 μs 0.0074 μs 0.99 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 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 104.88 ns 0.690 ns 0.646 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 141.93 ns 1.577 ns 1.317 ns 1.35 0.01 0.0014 24 B 1.00
GetInstanceStringField 103.73 ns 0.814 ns 0.722 ns 0.99 0.01 - - 0.00
SetInstanceStringField 693.41 ns 5.263 ns 4.395 ns 6.61 0.06 0.0172 288 B 12.00
GetStaticIntField 113.73 ns 0.891 ns 0.834 ns 1.08 0.01 0.0014 24 B 1.00
SetStaticIntField 124.44 ns 0.975 ns 0.912 ns 1.19 0.01 0.0014 24 B 1.00
GetStaticStringField 98.97 ns 0.983 ns 0.919 ns 0.94 0.01 - - 0.00
SetStaticStringField 663.96 ns 5.131 ns 4.549 ns 6.33 0.06 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 141.01 ns 1.628 ns 1.523 ns 1.34 0.02 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 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.0 ns 2.29 ns 2.14 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 254.5 ns 1.92 ns 1.79 ns 0.93 0.01 - - NA
InvokeStaticWithFeedback 539.8 ns 3.51 ns 2.93 ns 1.98 0.02 0.0200 344 B NA
InvokeInstanceEmpty 282.9 ns 2.43 ns 2.27 ns 1.04 0.01 - - NA
InvokeInstanceWithFeedback 556.8 ns 2.34 ns 1.95 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 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.448 μs 0.0146 μs 0.0130 μ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 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,059.3 ns 10.24 ns 9.58 ns 0.0057 104 B
PredicateRoundTrip False False True 1,093.5 ns 5.62 ns 4.70 ns 0.0057 104 B
PredicateRoundTrip False True False 1,287.2 ns 6.93 ns 5.41 ns 0.0114 200 B
PredicateRoundTrip False True True 4,518.4 ns 18.21 ns 16.14 ns 0.0458 792 B
PredicateRoundTrip True False False 407.0 ns 2.74 ns 2.56 ns 0.0014 24 B
PredicateRoundTrip True False True 409.3 ns 3.40 ns 3.01 ns 0.0014 24 B
PredicateRoundTrip True True False 636.5 ns 2.46 ns 2.18 ns 0.0067 120 B
PredicateRoundTrip True True True 3,901.8 ns 21.85 ns 19.37 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 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 535.13 ns 7.560 ns 6.702 ns 0.0040 80 B
PredicateSustained False False True 522.87 ns 4.015 ns 3.756 ns 0.0040 80 B
PredicateSustained False True False 750.15 ns 7.223 ns 6.403 ns 0.0100 176 B
PredicateSustained False True True 4,022.97 ns 26.004 ns 24.324 ns 0.0400 768 B
PredicateSustained True False False 39.42 ns 0.262 ns 0.219 ns - -
PredicateSustained True False True 39.37 ns 0.409 ns 0.382 ns - -
PredicateSustained True True False 188.34 ns 2.695 ns 2.389 ns 0.0056 96 B
PredicateSustained True True True 3,358.10 ns 46.614 ns 38.925 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 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 479.5 ns 2.38 ns 1.86 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 4,793.9 ns 28.44 ns 25.21 ns 10.00 0.06 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 950.9 ns 4.13 ns 3.87 ns 1.98 0.01 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 963.3 ns 4.56 ns 3.81 ns 2.01 0.01 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 6,712.8 ns 63.61 ns 56.39 ns 14.00 0.13 0.2060 - - 3520 B 10.23
InvokeIntParam 1000 418.5 ns 2.20 ns 2.06 ns 1.00 0.01 0.0205 - - 344 B 1.00
InvokeStringArrayFixed 1000 359,150.0 ns 1,885.37 ns 1,671.33 ns 858.15 5.62 9.2773 2.9297 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,567.0 ns 10.75 ns 9.53 ns 3.74 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,567.2 ns 8.75 ns 7.31 ns 3.74 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 524,828.5 ns 3,086.58 ns 2,577.44 ns 1,254.02 8.42 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 415.5 ns 5.63 ns 5.26 ns 1.00 0.02 0.0205 - - 344 B 1.00
InvokeStringArrayFixed 100000 44,926,852.5 ns 692,300.38 ns 647,578.20 ns 108,147.02 2,004.81 1000.0000 909.0909 272.7273 16001098 B 46,514.82
InvokeIntArrayFixed 100000 51,101.3 ns 202.67 ns 179.66 ns 123.01 1.56 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 51,196.9 ns 221.83 ns 196.65 ns 123.24 1.57 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 72,883,943.9 ns 1,373,805.71 ns 1,217,842.98 ns 175,444.77 3,550.01 2142.8571 2000.0000 1000.0000 27897019 B 81,095.99

core-ubuntu-24.04_net8.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 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.6 ns 3.92 ns 3.47 ns 1.00 0.0210 360 B 1.00
NewWithSignature 923.2 ns 3.15 ns 2.94 ns 1.03 0.0210 360 B 1.00
DeclaredNewEmpty 887.1 ns 4.86 ns 4.06 ns 0.99 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 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.83 ns 0.541 ns 0.506 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 89.39 ns 0.475 ns 0.371 ns 1.15 0.01 0.0014 24 B 1.00
GetInstanceStringField 78.61 ns 0.772 ns 0.722 ns 1.01 0.01 - - 0.00
SetInstanceStringField 493.84 ns 2.368 ns 2.099 ns 6.35 0.05 0.0172 288 B 12.00
GetStaticIntField 88.52 ns 0.602 ns 0.534 ns 1.14 0.01 0.0014 24 B 1.00
SetStaticIntField 91.15 ns 0.411 ns 0.385 ns 1.17 0.01 0.0014 24 B 1.00
GetStaticStringField 75.91 ns 0.603 ns 0.564 ns 0.98 0.01 - - 0.00
SetStaticStringField 489.66 ns 4.057 ns 3.795 ns 6.29 0.06 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 102.16 ns 0.704 ns 0.659 ns 1.31 0.01 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 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 216.3 ns 2.14 ns 2.00 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 197.4 ns 0.85 ns 0.80 ns 0.91 0.01 - - NA
InvokeStaticWithFeedback 415.1 ns 3.58 ns 3.18 ns 1.92 0.02 0.0205 344 B NA
InvokeInstanceEmpty 221.8 ns 1.22 ns 1.08 ns 1.03 0.01 - - NA
InvokeInstanceWithFeedback 401.8 ns 2.16 ns 1.81 ns 1.86 0.02 0.0205 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 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.091 μs 0.0062 μs 0.0055 μ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 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 851.9 ns 3.36 ns 2.97 ns 0.0057 104 B
PredicateRoundTrip False False True 778.0 ns 4.34 ns 4.06 ns 0.0057 104 B
PredicateRoundTrip False True False 978.8 ns 2.80 ns 2.48 ns 0.0114 200 B
PredicateRoundTrip False True True 3,481.1 ns 13.51 ns 12.64 ns 0.0458 792 B
PredicateRoundTrip True False False 300.4 ns 1.82 ns 1.70 ns 0.0014 24 B
PredicateRoundTrip True False True 301.6 ns 2.72 ns 2.41 ns 0.0014 24 B
PredicateRoundTrip True True False 489.7 ns 2.57 ns 2.15 ns 0.0067 120 B
PredicateRoundTrip True True True 2,943.3 ns 10.92 ns 10.22 ns 0.0420 712 B

core-ubuntu-24.04_net8.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 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 394.15 ns 1.948 ns 1.822 ns 0.0046 80 B
PredicateSustained False False True 393.24 ns 3.958 ns 3.305 ns 0.0046 80 B
PredicateSustained False True False 541.53 ns 3.813 ns 3.380 ns 0.0100 176 B
PredicateSustained False True True 3,013.59 ns 12.982 ns 10.841 ns 0.0450 768 B
PredicateSustained True False False 31.27 ns 0.142 ns 0.133 ns - -
PredicateSustained True False True 31.98 ns 0.275 ns 0.257 ns - -
PredicateSustained True True False 143.67 ns 0.624 ns 0.583 ns 0.0056 96 B
PredicateSustained True True True 2,535.44 ns 29.495 ns 26.146 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 610.3 ns 3.99 ns 3.33 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,315.5 ns 26.68 ns 24.95 ns 10.35 0.07 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,299.7 ns 4.85 ns 4.54 ns 2.13 0.01 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,305.5 ns 11.41 ns 10.11 ns 2.14 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,647.0 ns 39.13 ns 36.60 ns 14.17 0.09 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 604.5 ns 4.33 ns 3.84 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 476,691.8 ns 3,593.82 ns 3,361.66 ns 788.58 7.24 9.2773 2.9297 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,967.5 ns 15.68 ns 13.90 ns 3.25 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,941.1 ns 5.03 ns 4.20 ns 3.21 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 713,017.1 ns 3,155.23 ns 2,951.41 ns 1,179.53 8.65 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 588.6 ns 3.60 ns 3.37 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,260,419.5 ns 638,092.66 ns 596,872.27 ns 100,684.74 1,129.26 1111.1111 1000.0000 333.3333 16002740 B 46,519.59
InvokeIntArrayFixed 100000 65,568.3 ns 156.41 ns 138.65 ns 111.40 0.66 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 65,555.8 ns 460.17 ns 430.44 ns 111.38 0.94 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,805,294.8 ns 1,275,538.57 ns 1,130,731.72 ns 145,785.06 2,023.87 1833.3333 1666.6667 833.3333 27896559 B 81,094.65

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.190 μs 0.0053 μs 0.0044 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.191 μs 0.0046 μs 0.0043 μs 1.00 0.0210 360 B 1.00
DeclaredNewEmpty 1.192 μs 0.0057 μs 0.0053 μ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.07 ns 0.410 ns 0.364 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 112.77 ns 0.716 ns 0.669 ns 1.30 0.01 0.0014 24 B 1.00
GetInstanceStringField 88.49 ns 0.807 ns 0.754 ns 1.02 0.01 - - 0.00
SetInstanceStringField 638.52 ns 3.450 ns 3.227 ns 7.33 0.05 0.0172 288 B 12.00
GetStaticIntField 94.34 ns 0.869 ns 0.726 ns 1.08 0.01 0.0014 24 B 1.00
SetStaticIntField 110.86 ns 0.950 ns 0.889 ns 1.27 0.01 0.0014 24 B 1.00
GetStaticStringField 89.37 ns 0.748 ns 0.700 ns 1.03 0.01 - - 0.00
SetStaticStringField 653.50 ns 1.682 ns 1.491 ns 7.51 0.03 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 121.20 ns 0.722 ns 0.675 ns 1.39 0.01 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 293.9 ns 2.59 ns 2.43 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 258.0 ns 2.42 ns 2.02 ns 0.88 0.01 - - NA
InvokeStaticWithFeedback 619.8 ns 3.26 ns 3.05 ns 2.11 0.02 0.0200 344 B NA
InvokeInstanceEmpty 316.7 ns 2.97 ns 2.78 ns 1.08 0.01 - - NA
InvokeInstanceWithFeedback 599.2 ns 3.94 ns 3.49 ns 2.04 0.02 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.465 μs 0.0046 μs 0.0038 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,027.5 ns 10.90 ns 10.19 ns 0.0057 104 B
PredicateRoundTrip False False True 1,015.5 ns 11.64 ns 10.88 ns 0.0057 104 B
PredicateRoundTrip False True False 1,275.9 ns 7.59 ns 6.34 ns 0.0114 200 B
PredicateRoundTrip False True True 4,668.7 ns 23.51 ns 21.99 ns 0.0458 792 B
PredicateRoundTrip True False False 448.4 ns 4.72 ns 4.42 ns 0.0014 24 B
PredicateRoundTrip True False True 439.2 ns 3.91 ns 3.65 ns 0.0014 24 B
PredicateRoundTrip True True False 642.3 ns 2.36 ns 2.09 ns 0.0067 120 B
PredicateRoundTrip True True True 3,948.3 ns 21.15 ns 18.75 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 535.09 ns 6.732 ns 6.297 ns 0.0040 80 B
PredicateSustained False False True 538.63 ns 7.257 ns 6.060 ns 0.0040 80 B
PredicateSustained False True False 730.85 ns 6.014 ns 5.626 ns 0.0100 176 B
PredicateSustained False True True 4,092.01 ns 35.370 ns 31.355 ns 0.0400 768 B
PredicateSustained True False False 38.41 ns 0.194 ns 0.181 ns - -
PredicateSustained True False True 38.67 ns 0.286 ns 0.268 ns - -
PredicateSustained True True False 195.66 ns 0.591 ns 0.494 ns 0.0056 96 B
PredicateSustained True True True 3,352.75 ns 22.429 ns 19.883 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)
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 570.7 ns 3.39 ns 3.00 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,533.1 ns 59.62 ns 52.85 ns 11.45 0.11 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,282.8 ns 5.54 ns 4.32 ns 2.25 0.01 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,303.5 ns 8.22 ns 7.69 ns 2.28 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,668.9 ns 61.38 ns 57.42 ns 15.19 0.12 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 574.9 ns 3.89 ns 3.63 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 504,981.5 ns 3,516.15 ns 3,116.98 ns 878.46 7.50 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,068.5 ns 6.53 ns 5.79 ns 3.60 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,066.7 ns 12.74 ns 11.92 ns 3.60 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 688,329.5 ns 2,619.24 ns 2,321.89 ns 1,197.41 8.29 15.6250 6.8359 - 265889 B 772.93
InvokeIntParam 100000 543.3 ns 3.44 ns 3.22 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,063,017.1 ns 754,816.13 ns 706,055.47 ns 110,550.81 1,408.87 1000.0000 875.0000 250.0000 16000983 B 46,514.49
InvokeIntArrayFixed 100000 63,850.8 ns 303.56 ns 253.49 ns 117.52 0.81 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 63,561.2 ns 214.40 ns 190.06 ns 116.99 0.75 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 87,430,640.0 ns 784,162.64 ns 733,506.22 ns 160,923.12 1,599.92 1833.3333 1666.6667 833.3333 27895828 B 81,092.52

core-ubuntu-24.04_net8.0_temurin_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.237 μs 0.0046 μs 0.0041 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.259 μs 0.0045 μs 0.0040 μs 1.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.211 μs 0.0079 μs 0.0074 μs 0.98 0.0210 360 B 1.00

core-ubuntu-24.04_net8.0_temurin_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 104.9 ns 0.72 ns 0.67 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 137.0 ns 1.33 ns 1.25 ns 1.31 0.01 0.0014 24 B 1.00
GetInstanceStringField 109.7 ns 0.84 ns 0.79 ns 1.05 0.01 - - 0.00
SetInstanceStringField 660.8 ns 2.08 ns 1.74 ns 6.30 0.04 0.0172 288 B 12.00
GetStaticIntField 111.9 ns 0.87 ns 0.81 ns 1.07 0.01 0.0014 24 B 1.00
SetStaticIntField 133.8 ns 1.80 ns 1.69 ns 1.28 0.02 0.0014 24 B 1.00
GetStaticStringField 107.0 ns 0.85 ns 0.79 ns 1.02 0.01 - - 0.00
SetStaticStringField 659.9 ns 4.39 ns 4.10 ns 6.29 0.05 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 148.5 ns 1.32 ns 1.23 ns 1.42 0.01 0.0014 24 B 1.00

core-ubuntu-24.04_net8.0_temurin_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
InvokeStaticEmpty 328.3 ns 1.91 ns 1.69 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 293.0 ns 2.29 ns 2.14 ns 0.89 - - NA
InvokeStaticWithFeedback 530.0 ns 2.65 ns 2.35 ns 1.61 0.0200 344 B NA
InvokeInstanceEmpty 350.7 ns 2.36 ns 2.09 ns 1.07 - - NA
InvokeInstanceWithFeedback 564.1 ns 3.76 ns 3.34 ns 1.72 0.0200 344 B NA

core-ubuntu-24.04_net8.0_temurin_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.534 μs 0.0127 μs 0.0119 μs 1.00 0.0420 712 B 1.00

core-ubuntu-24.04_net8.0_temurin_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,106.5 ns 6.44 ns 6.03 ns 0.0057 104 B
PredicateRoundTrip False False True 1,085.9 ns 5.64 ns 5.28 ns 0.0057 104 B
PredicateRoundTrip False True False 1,304.9 ns 3.34 ns 2.96 ns 0.0114 200 B
PredicateRoundTrip False True True 4,695.8 ns 49.13 ns 43.55 ns 0.0458 792 B
PredicateRoundTrip True False False 413.3 ns 5.51 ns 5.16 ns 0.0014 24 B
PredicateRoundTrip True False True 419.1 ns 3.31 ns 3.09 ns 0.0014 24 B
PredicateRoundTrip True True False 655.6 ns 3.89 ns 3.44 ns 0.0067 120 B
PredicateRoundTrip True True True 4,084.7 ns 23.61 ns 22.08 ns 0.0381 712 B

core-ubuntu-24.04_net8.0_temurin_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 564.70 ns 3.235 ns 3.026 ns 0.0044 80 B
PredicateSustained False False True 557.92 ns 3.743 ns 3.318 ns 0.0040 80 B
PredicateSustained False True False 719.31 ns 5.359 ns 4.751 ns 0.0100 176 B
PredicateSustained False True True 4,124.55 ns 21.875 ns 20.462 ns 0.0400 768 B
PredicateSustained True False False 42.61 ns 0.520 ns 0.487 ns - -
PredicateSustained True False True 40.78 ns 0.316 ns 0.295 ns - -
PredicateSustained True True False 187.75 ns 1.542 ns 1.442 ns 0.0056 96 B
PredicateSustained True True True 3,443.03 ns 15.303 ns 12.778 ns 0.0400 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.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 559.3 ns 5.46 ns 5.11 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,412.2 ns 42.61 ns 37.78 ns 11.46 0.12 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,300.5 ns 8.24 ns 7.71 ns 2.33 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,260.6 ns 6.35 ns 5.63 ns 2.25 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,665.9 ns 101.82 ns 95.24 ns 15.49 0.21 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 553.1 ns 5.36 ns 5.01 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 483,498.2 ns 2,990.04 ns 2,650.59 ns 874.22 8.93 9.2773 2.9297 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,981.4 ns 11.37 ns 9.49 ns 3.58 0.04 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,985.0 ns 21.17 ns 19.81 ns 3.59 0.05 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 682,302.9 ns 3,390.66 ns 3,005.73 ns 1,233.69 11.99 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 548.5 ns 2.34 ns 1.96 ns 1.00 0.00 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,122,284.4 ns 988,270.30 ns 876,075.88 ns 107,781.91 1,587.20 1111.1111 1000.0000 333.3333 16001752 B 46,516.72
InvokeIntArrayFixed 100000 62,896.1 ns 270.59 ns 253.11 ns 114.66 0.60 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 62,840.7 ns 389.05 ns 363.92 ns 114.56 0.75 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,802,317.7 ns 1,058,932.18 ns 990,525.82 ns 156,420.50 1,829.93 1833.3333 1666.6667 833.3333 27896181 B 81,093.55

core-ubuntu-24.04_net8.0_temurin_17


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.169 μs 0.0085 μs 0.0079 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.173 μs 0.0074 μs 0.0062 μs 1.00 0.0210 360 B 1.00
DeclaredNewEmpty 1.158 μs 0.0072 μs 0.0067 μs 0.99 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.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 100.4 ns 0.70 ns 0.65 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 120.5 ns 0.91 ns 0.85 ns 1.20 0.01 0.0014 24 B 1.00
GetInstanceStringField 104.5 ns 0.83 ns 0.78 ns 1.04 0.01 - - 0.00
SetInstanceStringField 631.7 ns 2.59 ns 2.42 ns 6.29 0.05 0.0172 288 B 12.00
GetStaticIntField 122.7 ns 0.85 ns 0.75 ns 1.22 0.01 0.0014 24 B 1.00
SetStaticIntField 127.7 ns 1.42 ns 1.33 ns 1.27 0.02 0.0014 24 B 1.00
GetStaticStringField 101.2 ns 0.76 ns 0.71 ns 1.01 0.01 - - 0.00
SetStaticStringField 638.3 ns 4.48 ns 4.19 ns 6.36 0.06 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 137.1 ns 1.50 ns 1.40 ns 1.37 0.02 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.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.4 ns 1.49 ns 1.39 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 251.4 ns 2.52 ns 2.24 ns 0.92 0.01 - - NA
InvokeStaticWithFeedback 517.6 ns 3.06 ns 2.86 ns 1.89 0.01 0.0200 344 B NA
InvokeInstanceEmpty 278.8 ns 2.08 ns 1.95 ns 1.02 0.01 - - NA
InvokeInstanceWithFeedback 533.5 ns 5.44 ns 4.82 ns 1.95 0.02 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.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.403 μs 0.0067 μs 0.0056 μ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.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,007.0 ns 8.07 ns 7.54 ns 0.0057 104 B
PredicateRoundTrip False False True 995.7 ns 10.06 ns 9.41 ns 0.0057 104 B
PredicateRoundTrip False True False 1,281.9 ns 7.15 ns 6.34 ns 0.0114 200 B
PredicateRoundTrip False True True 4,457.7 ns 30.19 ns 26.76 ns 0.0458 792 B
PredicateRoundTrip True False False 384.2 ns 2.14 ns 2.00 ns 0.0014 24 B
PredicateRoundTrip True False True 386.4 ns 2.38 ns 2.23 ns 0.0014 24 B
PredicateRoundTrip True True False 623.0 ns 3.77 ns 3.15 ns 0.0067 120 B
PredicateRoundTrip True True True 3,826.9 ns 18.58 ns 16.47 ns 0.0381 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.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 511.53 ns 4.876 ns 4.561 ns 0.0040 80 B
PredicateSustained False False True 510.96 ns 3.486 ns 3.261 ns 0.0040 80 B
PredicateSustained False True False 689.23 ns 4.521 ns 3.775 ns 0.0100 176 B
PredicateSustained False True True 3,917.58 ns 29.677 ns 27.760 ns 0.0400 768 B
PredicateSustained True False False 39.99 ns 0.173 ns 0.153 ns - -
PredicateSustained True False True 40.09 ns 0.446 ns 0.417 ns - -
PredicateSustained True True False 185.63 ns 1.627 ns 1.522 ns 0.0056 96 B
PredicateSustained True True True 3,263.65 ns 31.991 ns 29.924 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)
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 444.1 ns 8.68 ns 13.76 ns 1.00 0.04 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 10 5,620.3 ns 72.71 ns 68.01 ns 12.67 0.42 0.0229 - - 2048 B 5.95
InvokeIntArrayFixed 10 905.9 ns 14.98 ns 14.01 ns 2.04 0.07 0.0048 - - 448 B 1.30
InvokeVarArgsWholeArray 10 924.2 ns 16.40 ns 15.34 ns 2.08 0.07 0.0048 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 7,332.5 ns 111.03 ns 103.86 ns 16.53 0.56 0.0381 - - 3520 B 10.23
InvokeIntParam 1000 453.6 ns 8.90 ns 16.04 ns 1.00 0.05 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 1000 451,459.5 ns 8,589.15 ns 9,546.81 ns 996.51 40.88 1.4648 0.4883 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,654.7 ns 19.27 ns 16.09 ns 3.65 0.13 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,634.9 ns 7.49 ns 6.64 ns 3.61 0.13 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 573,524.7 ns 4,822.53 ns 4,027.04 ns 1,265.94 45.72 2.9297 0.9766 - 265888 B 772.93
InvokeIntParam 100000 429.6 ns 3.38 ns 3.16 ns 1.00 0.01 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 100000 47,041,192.5 ns 477,559.73 ns 372,847.22 ns 109,511.44 1,140.64 272.7273 181.8182 181.8182 16000927 B 46,514.32
InvokeIntArrayFixed 100000 73,274.9 ns 680.11 ns 602.90 ns 170.58 1.82 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 72,865.6 ns 565.34 ns 501.16 ns 169.63 1.65 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 70,491,903.7 ns 1,329,327.90 ns 1,305,577.74 ns 164,104.47 3,171.32 1000.0000 875.0000 875.0000 27894848 B 81,089.67

core-ubuntu-24.04_net8.0_temurin_21


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
NewEmpty 1,042.2 ns 10.58 ns 9.89 ns 1.00 0.01 0.0038 360 B 1.00
NewWithSignature 902.4 ns 5.67 ns 5.03 ns 0.87 0.01 0.0038 360 B 1.00
DeclaredNewEmpty 1,071.6 ns 20.40 ns 17.04 ns 1.03 0.02 0.0038 360 B 1.00

core-ubuntu-24.04_net8.0_temurin_21


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 77.00 ns 1.427 ns 1.335 ns 1.00 0.02 0.0002 24 B 1.00
SetInstanceIntField 93.29 ns 1.228 ns 1.089 ns 1.21 0.02 0.0002 24 B 1.00
GetInstanceStringField 82.05 ns 0.795 ns 0.744 ns 1.07 0.02 - - 0.00
SetInstanceStringField 534.21 ns 10.639 ns 8.884 ns 6.94 0.16 0.0029 288 B 12.00
GetStaticIntField 80.99 ns 0.814 ns 0.762 ns 1.05 0.02 0.0002 24 B 1.00
SetStaticIntField 85.67 ns 0.624 ns 0.553 ns 1.11 0.02 0.0002 24 B 1.00
GetStaticStringField 72.48 ns 0.846 ns 0.661 ns 0.94 0.02 - - 0.00
SetStaticStringField 562.16 ns 3.192 ns 2.665 ns 7.30 0.13 0.0029 288 B 12.00
GetInstanceIntFieldGeneric 90.29 ns 0.885 ns 0.784 ns 1.17 0.02 0.0002 24 B 1.00

core-ubuntu-24.04_net8.0_temurin_21


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 208.9 ns 2.54 ns 2.25 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 210.9 ns 3.61 ns 3.20 ns 1.01 0.02 - - NA
InvokeStaticWithFeedback 410.1 ns 4.67 ns 4.37 ns 1.96 0.03 0.0038 344 B NA
InvokeInstanceEmpty 221.0 ns 2.60 ns 2.31 ns 1.06 0.02 - - NA
InvokeInstanceWithFeedback 431.5 ns 8.22 ns 8.07 ns 2.07 0.04 0.0038 344 B NA

core-ubuntu-24.04_net8.0_temurin_21


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
InvokeMultiParam 1.088 μs 0.0162 μs 0.0152 μs 1.00 0.02 0.0076 712 B 1.00

core-ubuntu-24.04_net8.0_temurin_21


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 727.1 ns 12.43 ns 11.02 ns 0.0010 104 B
PredicateRoundTrip False False True 741.3 ns 9.83 ns 9.20 ns 0.0010 104 B
PredicateRoundTrip False True False 915.8 ns 10.42 ns 9.24 ns 0.0019 200 B
PredicateRoundTrip False True True 3,108.3 ns 25.86 ns 24.19 ns 0.0076 792 B
PredicateRoundTrip True False False 288.3 ns 5.41 ns 4.23 ns - 24 B
PredicateRoundTrip True False True 286.1 ns 3.37 ns 2.99 ns - 24 B
PredicateRoundTrip True True False 470.0 ns 5.38 ns 5.03 ns 0.0010 120 B
PredicateRoundTrip True True True 2,683.2 ns 44.25 ns 39.23 ns 0.0076 712 B

core-ubuntu-24.04_net8.0_temurin_21


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 419.54 ns 6.058 ns 5.059 ns 0.0008 80 B
PredicateSustained False False True 413.71 ns 4.185 ns 3.495 ns 0.0008 80 B
PredicateSustained False True False 578.87 ns 5.884 ns 4.913 ns 0.0011 176 B
PredicateSustained False True True 2,838.01 ns 29.751 ns 26.374 ns 0.0050 768 B
PredicateSustained True False False 48.56 ns 0.962 ns 1.710 ns - -
PredicateSustained True False True 46.81 ns 0.903 ns 1.266 ns - -
PredicateSustained True True False 184.52 ns 2.840 ns 2.517 ns 0.0009 96 B
PredicateSustained True True True 2,446.83 ns 26.381 ns 23.386 ns 0.0050 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 625.5 ns 4.27 ns 4.00 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,312.2 ns 32.10 ns 28.46 ns 10.09 0.08 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,293.8 ns 8.56 ns 8.00 ns 2.07 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,306.3 ns 7.04 ns 6.58 ns 2.09 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 9,004.0 ns 62.00 ns 57.99 ns 14.39 0.13 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 603.9 ns 3.60 ns 3.01 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 479,775.3 ns 4,686.62 ns 4,383.87 ns 794.45 7.99 9.2773 2.9297 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,956.6 ns 12.59 ns 11.16 ns 3.24 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,009.8 ns 20.34 ns 19.03 ns 3.33 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 705,140.1 ns 3,231.08 ns 2,864.27 ns 1,167.62 7.23 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 624.3 ns 5.16 ns 4.57 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,894,738.7 ns 659,846.34 ns 617,220.67 ns 95,938.60 1,173.77 1111.1111 1000.0000 333.3333 16002268 B 46,518.22
InvokeIntArrayFixed 100000 68,023.0 ns 602.89 ns 563.94 ns 108.96 1.17 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 67,952.7 ns 403.48 ns 377.42 ns 108.85 0.97 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 85,866,582.0 ns 566,922.33 ns 473,405.82 ns 137,539.96 1,217.38 1833.3333 1666.6667 833.3333 27896968 B 81,095.84

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.231 μs 0.0058 μs 0.0052 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.226 μs 0.0074 μs 0.0066 μs 1.00 0.0210 360 B 1.00
DeclaredNewEmpty 1.221 μs 0.0035 μs 0.0033 μs 0.99 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 87.45 ns 0.778 ns 0.690 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 112.78 ns 0.671 ns 0.628 ns 1.29 0.01 0.0014 24 B 1.00
GetInstanceStringField 91.99 ns 1.033 ns 0.967 ns 1.05 0.01 - - 0.00
SetInstanceStringField 646.73 ns 5.469 ns 5.116 ns 7.40 0.08 0.0172 288 B 12.00
GetStaticIntField 101.25 ns 0.922 ns 0.862 ns 1.16 0.01 0.0014 24 B 1.00
SetStaticIntField 108.08 ns 0.948 ns 0.886 ns 1.24 0.01 0.0014 24 B 1.00
GetStaticStringField 84.81 ns 0.717 ns 0.599 ns 0.97 0.01 - - 0.00
SetStaticStringField 636.96 ns 7.536 ns 7.049 ns 7.28 0.10 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 130.35 ns 0.436 ns 0.364 ns 1.49 0.01 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 314.4 ns 2.44 ns 2.16 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 267.6 ns 2.40 ns 2.12 ns 0.85 0.01 - - NA
InvokeStaticWithFeedback 585.1 ns 4.42 ns 4.13 ns 1.86 0.02 0.0200 344 B NA
InvokeInstanceEmpty 299.8 ns 4.07 ns 3.81 ns 0.95 0.01 - - NA
InvokeInstanceWithFeedback 593.2 ns 3.35 ns 3.13 ns 1.89 0.02 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.480 μs 0.0076 μs 0.0071 μ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 ByIndex ContinueFirstCheck ContinueSecondCheck Mean Error StdDev Gen0 Allocated
PredicateRoundTrip False False False 1,058.1 ns 12.11 ns 11.33 ns 0.0057 104 B
PredicateRoundTrip False False True 1,061.4 ns 16.47 ns 15.40 ns 0.0057 104 B
PredicateRoundTrip False True False 1,341.1 ns 4.89 ns 4.09 ns 0.0114 200 B
PredicateRoundTrip False True True 4,734.3 ns 30.47 ns 28.51 ns 0.0458 792 B
PredicateRoundTrip True False False 431.7 ns 3.32 ns 2.94 ns 0.0014 24 B
PredicateRoundTrip True False True 435.5 ns 2.88 ns 2.69 ns 0.0014 24 B
PredicateRoundTrip True True False 646.5 ns 3.12 ns 2.77 ns 0.0067 120 B
PredicateRoundTrip True True True 3,907.5 ns 29.39 ns 27.49 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 528.39 ns 5.572 ns 5.212 ns 0.0040 80 B
PredicateSustained False False True 517.10 ns 3.574 ns 3.168 ns 0.0040 80 B
PredicateSustained False True False 721.86 ns 7.748 ns 6.470 ns 0.0100 176 B
PredicateSustained False True True 4,091.03 ns 23.723 ns 22.190 ns 0.0400 768 B
PredicateSustained True False False 39.28 ns 0.463 ns 0.410 ns - -
PredicateSustained True False True 39.58 ns 0.253 ns 0.211 ns - -
PredicateSustained True True False 197.11 ns 1.520 ns 1.422 ns 0.0056 96 B
PredicateSustained True True True 3,343.31 ns 23.504 ns 20.836 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)
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 493.6 ns 3.60 ns 3.37 ns 1.00 0.01 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 10 6,650.1 ns 30.32 ns 28.36 ns 13.47 0.10 0.0229 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,066.1 ns 9.09 ns 8.50 ns 2.16 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,070.4 ns 7.00 ns 6.55 ns 2.17 0.02 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,393.7 ns 62.34 ns 58.31 ns 17.01 0.16 0.0305 - - 3520 B 10.23
InvokeIntParam 1000 492.7 ns 3.22 ns 3.01 ns 1.00 0.01 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 1000 527,699.9 ns 2,633.64 ns 2,463.51 ns 1,071.03 7.97 0.9766 - - 160448 B 466.42
InvokeIntArrayFixed 1000 1,900.3 ns 14.29 ns 12.67 ns 3.86 0.03 0.0038 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,893.8 ns 13.64 ns 12.76 ns 3.84 0.03 0.0038 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 699,537.1 ns 5,202.36 ns 4,866.29 ns 1,419.80 12.72 2.9297 0.9766 - 265888 B 772.93
InvokeIntParam 100000 501.5 ns 3.88 ns 3.63 ns 1.00 0.01 0.0038 - - 344 B 1.00
InvokeStringArrayFixed 100000 59,101,546.2 ns 444,988.95 ns 416,242.94 ns 117,860.42 1,149.96 333.3333 222.2222 222.2222 16000836 B 46,514.06
InvokeIntArrayFixed 100000 78,862.0 ns 347.00 ns 324.59 ns 157.27 1.26 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 78,784.2 ns 590.49 ns 552.34 ns 157.11 1.53 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 80,661,481.7 ns 1,564,210.43 ns 2,033,915.56 ns 160,855.28 4,131.40 1000.0000 833.3333 833.3333 27895529 B 81,091.65

core-ubuntu-24.04_net8.0_zulu_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
NewEmpty 1.233 μs 0.0174 μs 0.0163 μs 1.00 0.02 0.0038 360 B 1.00
NewWithSignature 1.073 μs 0.0089 μs 0.0083 μs 0.87 0.01 0.0038 360 B 1.00
DeclaredNewEmpty 1.264 μs 0.0240 μs 0.0224 μs 1.02 0.02 0.0038 360 B 1.00

core-ubuntu-24.04_net8.0_zulu_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 89.85 ns 0.513 ns 0.455 ns 1.00 0.01 0.0002 24 B 1.00
SetInstanceIntField 109.75 ns 0.581 ns 0.543 ns 1.22 0.01 0.0002 24 B 1.00
GetInstanceStringField 98.19 ns 0.510 ns 0.478 ns 1.09 0.01 - - 0.00
SetInstanceStringField 673.27 ns 4.413 ns 4.128 ns 7.49 0.06 0.0029 288 B 12.00
GetStaticIntField 100.42 ns 0.502 ns 0.470 ns 1.12 0.01 0.0002 24 B 1.00
SetStaticIntField 113.69 ns 0.768 ns 0.718 ns 1.27 0.01 0.0002 24 B 1.00
GetStaticStringField 94.81 ns 0.476 ns 0.445 ns 1.06 0.01 - - 0.00
SetStaticStringField 656.71 ns 3.542 ns 3.140 ns 7.31 0.05 0.0029 288 B 12.00
GetInstanceIntFieldGeneric 111.74 ns 0.535 ns 0.500 ns 1.24 0.01 0.0002 24 B 1.00

core-ubuntu-24.04_net8.0_zulu_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
InvokeStaticEmpty 307.7 ns 2.34 ns 1.83 ns 1.00 - - NA
InvokeStaticEmptyWithSignature 291.1 ns 1.37 ns 1.28 ns 0.95 - - NA
InvokeStaticWithFeedback 488.7 ns 2.34 ns 1.95 ns 1.59 0.0038 344 B NA
InvokeInstanceEmpty 314.4 ns 0.91 ns 0.71 ns 1.02 - - NA
InvokeInstanceWithFeedback 492.5 ns 3.15 ns 2.79 ns 1.60 0.0038 344 B NA

core-ubuntu-24.04_net8.0_zulu_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.259 μs 0.0062 μs 0.0055 μs 1.00 0.0076 712 B 1.00

core-ubuntu-24.04_net8.0_zulu_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 934.8 ns 6.86 ns 5.72 ns - 104 B
PredicateRoundTrip False False True 944.5 ns 7.20 ns 6.73 ns - 104 B
PredicateRoundTrip False True False 1,115.1 ns 6.15 ns 5.75 ns 0.0019 200 B
PredicateRoundTrip False True True 3,930.9 ns 31.57 ns 29.53 ns 0.0076 792 B
PredicateRoundTrip True False False 339.7 ns 1.14 ns 1.07 ns - 24 B
PredicateRoundTrip True False True 350.8 ns 3.33 ns 3.11 ns - 24 B
PredicateRoundTrip True True False 543.9 ns 3.54 ns 3.31 ns 0.0010 120 B
PredicateRoundTrip True True True 3,322.6 ns 14.52 ns 12.87 ns 0.0076 712 B

core-ubuntu-24.04_net8.0_zulu_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 541.13 ns 1.523 ns 1.189 ns - 80 B
PredicateSustained False False True 547.47 ns 4.725 ns 4.188 ns - 80 B
PredicateSustained False True False 724.19 ns 3.882 ns 3.632 ns 0.0014 176 B
PredicateSustained False True True 3,501.04 ns 28.972 ns 25.683 ns - 768 B
PredicateSustained True False False 53.15 ns 1.053 ns 1.787 ns - -
PredicateSustained True False True 53.77 ns 1.069 ns 1.427 ns - -
PredicateSustained True True False 203.65 ns 0.905 ns 0.802 ns 0.0009 96 B
PredicateSustained True True True 2,990.69 ns 32.273 ns 28.609 ns 0.0050 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.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 577.6 ns 5.33 ns 4.98 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,573.8 ns 38.38 ns 32.05 ns 11.38 0.11 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,284.4 ns 11.49 ns 10.18 ns 2.22 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,332.3 ns 7.83 ns 7.33 ns 2.31 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,910.1 ns 50.72 ns 47.44 ns 15.43 0.15 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 581.1 ns 5.17 ns 4.58 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 502,755.5 ns 1,929.86 ns 1,805.20 ns 865.21 7.23 8.7891 1.9531 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,031.4 ns 13.97 ns 12.38 ns 3.50 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,946.6 ns 13.01 ns 11.53 ns 3.35 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 711,947.6 ns 5,450.80 ns 4,831.99 ns 1,225.22 12.30 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 596.0 ns 4.58 ns 4.06 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 62,151,214.4 ns 715,060.85 ns 668,868.37 ns 104,287.27 1,284.15 1000.0000 875.0000 250.0000 16001460 B 46,515.87
InvokeIntArrayFixed 100000 66,381.5 ns 392.80 ns 348.21 ns 111.39 0.92 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 67,707.4 ns 1,006.81 ns 941.77 ns 113.61 1.70 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 86,280,562.0 ns 1,036,899.48 ns 969,916.42 ns 144,775.36 1,839.95 1833.3333 1666.6667 833.3333 27896837 B 81,095.46

core-ubuntu-24.04_net8.0_zulu_17


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
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
NewEmpty 1.203 μs 0.0045 μs 0.0040 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.212 μs 0.0045 μs 0.0040 μs 1.01 0.0210 360 B 1.00
DeclaredNewEmpty 1.222 μs 0.0048 μs 0.0043 μs 1.02 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.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 99.77 ns 0.442 ns 0.392 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 120.64 ns 0.744 ns 0.659 ns 1.21 0.01 0.0014 24 B 1.00
GetInstanceStringField 105.12 ns 0.822 ns 0.769 ns 1.05 0.01 - - 0.00
SetInstanceStringField 745.88 ns 3.975 ns 3.103 ns 7.48 0.04 0.0172 288 B 12.00
GetStaticIntField 104.98 ns 1.082 ns 1.012 ns 1.05 0.01 0.0014 24 B 1.00
SetStaticIntField 121.72 ns 1.246 ns 1.166 ns 1.22 0.01 0.0014 24 B 1.00
GetStaticStringField 106.12 ns 0.512 ns 0.454 ns 1.06 0.01 - - 0.00
SetStaticStringField 670.09 ns 3.930 ns 3.677 ns 6.72 0.04 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 123.73 ns 1.109 ns 1.037 ns 1.24 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.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 296.8 ns 2.39 ns 2.23 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 270.9 ns 2.97 ns 2.64 ns 0.91 0.01 - - NA
InvokeStaticWithFeedback 593.6 ns 5.05 ns 4.73 ns 2.00 0.02 0.0200 344 B NA
InvokeInstanceEmpty 303.0 ns 2.54 ns 2.25 ns 1.02 0.01 - - NA
InvokeInstanceWithFeedback 589.8 ns 3.48 ns 3.08 ns 1.99 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.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.443 μs 0.0087 μs 0.0082 μ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.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,023.6 ns 13.52 ns 12.65 ns 0.0057 104 B
PredicateRoundTrip False False True 1,022.8 ns 13.38 ns 12.52 ns 0.0057 104 B
PredicateRoundTrip False True False 1,288.2 ns 3.80 ns 3.37 ns 0.0114 200 B
PredicateRoundTrip False True True 4,631.4 ns 32.08 ns 28.43 ns 0.0458 792 B
PredicateRoundTrip True False False 423.5 ns 3.70 ns 3.46 ns 0.0014 24 B
PredicateRoundTrip True False True 434.6 ns 4.67 ns 4.37 ns 0.0014 24 B
PredicateRoundTrip True True False 655.0 ns 3.55 ns 3.32 ns 0.0067 120 B
PredicateRoundTrip True True True 4,013.6 ns 32.47 ns 28.79 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.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 586.59 ns 5.259 ns 4.662 ns 0.0044 80 B
PredicateSustained False False True 555.02 ns 8.491 ns 7.527 ns 0.0040 80 B
PredicateSustained False True False 769.78 ns 3.130 ns 2.614 ns 0.0100 176 B
PredicateSustained False True True 4,004.75 ns 25.679 ns 24.020 ns 0.0400 768 B
PredicateSustained True False False 37.58 ns 0.389 ns 0.364 ns - -
PredicateSustained True False True 37.59 ns 0.331 ns 0.310 ns - -
PredicateSustained True True False 191.74 ns 1.928 ns 1.709 ns 0.0056 96 B
PredicateSustained True True True 3,408.80 ns 15.373 ns 12.838 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-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 548.7 ns 3.26 ns 3.05 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,203.5 ns 30.00 ns 28.06 ns 11.31 0.08 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,205.6 ns 5.38 ns 5.03 ns 2.20 0.01 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,211.5 ns 5.11 ns 4.78 ns 2.21 0.01 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,247.4 ns 55.01 ns 48.77 ns 15.03 0.12 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 529.8 ns 3.87 ns 3.43 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 459,776.9 ns 2,029.25 ns 1,898.16 ns 867.91 6.45 9.2773 2.9297 - 160448 B 466.42
InvokeIntArrayFixed 1000 1,921.8 ns 6.29 ns 5.58 ns 3.63 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 1,942.9 ns 8.35 ns 7.81 ns 3.67 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 684,009.1 ns 3,546.49 ns 3,317.39 ns 1,291.18 10.11 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 537.0 ns 2.80 ns 2.62 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 58,308,752.5 ns 522,683.02 ns 488,918.02 ns 108,594.70 1,020.24 1111.1111 1000.0000 333.3333 16002011 B 46,517.47
InvokeIntArrayFixed 100000 62,205.3 ns 164.04 ns 145.41 ns 115.85 0.61 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 62,306.9 ns 161.24 ns 134.65 ns 116.04 0.60 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 86,649,153.1 ns 1,529,657.44 ns 1,277,333.24 ns 161,376.10 2,415.24 1833.3333 1666.6667 833.3333 27897263 B 81,096.69

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-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.237 μs 0.0042 μs 0.0037 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.213 μs 0.0047 μs 0.0044 μs 0.98 0.0210 360 B 1.00
DeclaredNewEmpty 1.169 μs 0.0051 μs 0.0045 μs 0.95 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-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 110.27 ns 0.625 ns 0.584 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 116.44 ns 1.222 ns 1.083 ns 1.06 0.01 0.0014 24 B 1.00
GetInstanceStringField 99.82 ns 0.768 ns 0.718 ns 0.91 0.01 - - 0.00
SetInstanceStringField 615.91 ns 2.784 ns 2.605 ns 5.59 0.04 0.0172 288 B 12.00
GetStaticIntField 111.22 ns 0.435 ns 0.363 ns 1.01 0.01 0.0014 24 B 1.00
SetStaticIntField 126.66 ns 0.698 ns 0.619 ns 1.15 0.01 0.0014 24 B 1.00
GetStaticStringField 98.62 ns 0.694 ns 0.649 ns 0.89 0.01 - - 0.00
SetStaticStringField 624.28 ns 3.577 ns 3.171 ns 5.66 0.04 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 141.14 ns 1.194 ns 1.059 ns 1.28 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-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 277.6 ns 2.78 ns 2.60 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 248.1 ns 1.17 ns 1.09 ns 0.89 0.01 - - NA
InvokeStaticWithFeedback 523.8 ns 2.74 ns 2.43 ns 1.89 0.02 0.0200 344 B NA
InvokeInstanceEmpty 281.8 ns 2.02 ns 1.89 ns 1.02 0.01 - - NA
InvokeInstanceWithFeedback 535.9 ns 6.88 ns 6.43 ns 1.93 0.03 0.0200 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-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.380 μs 0.0096 μs 0.0085 μ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-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,023.3 ns 6.67 ns 5.92 ns 0.0057 104 B
PredicateRoundTrip False False True 1,044.4 ns 9.65 ns 9.03 ns 0.0057 104 B
PredicateRoundTrip False True False 1,231.9 ns 5.41 ns 4.80 ns 0.0114 200 B
PredicateRoundTrip False True True 4,610.8 ns 9.29 ns 7.75 ns 0.0458 792 B
PredicateRoundTrip True False False 388.3 ns 3.14 ns 2.94 ns 0.0014 24 B
PredicateRoundTrip True False True 396.1 ns 3.81 ns 3.56 ns 0.0014 24 B
PredicateRoundTrip True True False 623.6 ns 2.28 ns 1.91 ns 0.0067 120 B
PredicateRoundTrip True True True 3,766.9 ns 10.20 ns 9.54 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-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 494.09 ns 3.308 ns 3.094 ns 0.0045 80 B
PredicateSustained False False True 524.34 ns 5.859 ns 5.481 ns 0.0040 80 B
PredicateSustained False True False 676.86 ns 4.010 ns 3.751 ns 0.0100 176 B
PredicateSustained False True True 3,858.58 ns 24.556 ns 22.970 ns 0.0400 768 B
PredicateSustained True False False 40.51 ns 0.426 ns 0.399 ns - -
PredicateSustained True False True 40.93 ns 0.437 ns 0.409 ns - -
PredicateSustained True True False 195.53 ns 0.846 ns 0.750 ns 0.0056 96 B
PredicateSustained True True True 3,240.37 ns 20.142 ns 15.725 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 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 537.8 ns 3.89 ns 3.64 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 10 6,503.9 ns 44.38 ns 39.34 ns 12.09 0.11 0.1221 - - 2048 B 5.95
InvokeIntArrayFixed 10 1,309.4 ns 10.23 ns 9.57 ns 2.43 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 10 1,245.0 ns 4.94 ns 4.38 ns 2.32 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 10 8,803.9 ns 82.53 ns 77.20 ns 16.37 0.18 0.1984 - - 3520 B 10.23
InvokeIntParam 1000 573.0 ns 3.14 ns 2.93 ns 1.00 0.01 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 1000 471,114.2 ns 1,035.97 ns 918.36 ns 822.19 4.37 9.2773 2.9297 - 160448 B 466.42
InvokeIntArrayFixed 1000 2,013.9 ns 16.94 ns 15.85 ns 3.51 0.03 0.0267 - - 448 B 1.30
InvokeVarArgsWholeArray 1000 2,026.0 ns 10.01 ns 9.36 ns 3.54 0.02 0.0267 - - 448 B 1.30
InvokeVarArgsSpreadElements 1000 738,674.3 ns 2,040.04 ns 1,808.44 ns 1,289.14 7.10 15.6250 6.8359 - 265888 B 772.93
InvokeIntParam 100000 557.1 ns 2.23 ns 1.86 ns 1.00 0.00 0.0200 - - 344 B 1.00
InvokeStringArrayFixed 100000 60,329,733.4 ns 482,230.12 ns 451,078.36 ns 108,290.46 858.44 1111.1111 1000.0000 333.3333 16001036 B 46,514.64
InvokeIntArrayFixed 100000 62,943.3 ns 147.11 ns 122.84 ns 112.98 0.42 - - - 448 B 1.30
InvokeVarArgsWholeArray 100000 62,881.2 ns 200.03 ns 177.32 ns 112.87 0.48 - - - 448 B 1.30
InvokeVarArgsSpreadElements 100000 87,091,630.9 ns 1,032,528.91 ns 965,828.19 ns 156,327.44 1,753.18 1666.6667 1500.0000 666.6667 27894313 B 81,088.12

core-ubuntu-24.04_net8.0_zulu_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.149 μs 0.0081 μs 0.0075 μs 1.00 0.0210 360 B 1.00
NewWithSignature 1.173 μs 0.0049 μs 0.0046 μs 1.02 0.0210 360 B 1.00
DeclaredNewEmpty 1.169 μs 0.0103 μs 0.0097 μs 1.02 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 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.54 ns 0.579 ns 0.542 ns 1.00 0.01 0.0014 24 B 1.00
SetInstanceIntField 116.74 ns 1.646 ns 1.539 ns 1.23 0.02 0.0014 24 B 1.00
GetInstanceStringField 99.42 ns 1.071 ns 1.002 ns 1.05 0.01 - - 0.00
SetInstanceStringField 666.50 ns 2.918 ns 2.586 ns 7.05 0.05 0.0172 288 B 12.00
GetStaticIntField 105.24 ns 0.894 ns 0.836 ns 1.11 0.01 0.0014 24 B 1.00
SetStaticIntField 129.35 ns 1.570 ns 1.469 ns 1.37 0.02 0.0014 24 B 1.00
GetStaticStringField 93.71 ns 0.612 ns 0.572 ns 0.99 0.01 - - 0.00
SetStaticStringField 631.30 ns 2.521 ns 2.105 ns 6.68 0.04 0.0172 288 B 12.00
GetInstanceIntFieldGeneric 139.03 ns 1.188 ns 1.112 ns 1.47 0.01 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 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 271.2 ns 2.27 ns 2.13 ns 1.00 0.01 - - NA
InvokeStaticEmptyWithSignature 247.4 ns 1.25 ns 1.16 ns 0.91 0.01 - - NA
InvokeStaticWithFeedback 574.1 ns 3.48 ns 3.08 ns 2.12 0.02 0.0200 344 B NA
InvokeInstanceEmpty 280.2 ns 2.32 ns 2.06 ns 1.03 0.01 - - NA
InvokeInstanceWithFeedback 558.7 ns 4.87 ns 4.56 ns 2.06 0.02 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 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.435 μs 0.0086 μs 0.0076 μ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 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,034.3 ns 9.02 ns 8.44 ns 0.0057 104 B
PredicateRoundTrip False False True 1,022.5 ns 11.64 ns 10.89 ns 0.0057 104 B
PredicateRoundTrip False True False 1,232.5 ns 6.16 ns 5.76 ns 0.0114 200 B
PredicateRoundTrip False True True 4,521.1 ns 16.69 ns 13.94 ns 0.0458 792 B
PredicateRoundTrip True False False 433.0 ns 3.24 ns 3.03 ns 0.0014 24 B
PredicateRoundTrip True False True 416.2 ns 2.85 ns 2.67 ns 0.0014 24 B
PredicateRoundTrip True True False 678.8 ns 2.77 ns 2.59 ns 0.0067 120 B
PredicateRoundTrip True True True 3,909.8 ns 38.32 ns 32.00 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 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 518.39 ns 3.194 ns 2.831 ns 0.0040 80 B
PredicateSustained False False True 516.76 ns 6.862 ns 6.419 ns 0.0040 80 B
PredicateSustained False True False 682.05 ns 3.980 ns 3.323 ns 0.0100 176 B
PredicateSustained False True True 3,943.16 ns 30.042 ns 28.101 ns 0.0400 768 B
PredicateSustained True False False 41.81 ns 0.647 ns 0.605 ns - -
PredicateSustained True False True 41.04 ns 0.285 ns 0.266 ns - -
PredicateSustained True True False 189.86 ns 1.538 ns 1.439 ns 0.0056 96 B
PredicateSustained True True True 3,246.16 ns 23.324 ns 20.676 ns 0.0400 688 B