Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add microbenchmarks for if statements inside loops #3078

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

a74nh
Copy link
Contributor

@a74nh a74nh commented Jun 12, 2023

These benchmarks are based heavily on IfLoops.cs.

The intention here is to benchmark the performance of if statements within loops. Specifically, these are being used to test the effect of doing if conversion within loops.

The *Inner() functions are marked are aggressively inlined - they need to be within the callers code.

Change-Id: I78f97b7e311820288c940e3cc786357cbb8fbe81
@a74nh a74nh marked this pull request as draft June 12, 2023 10:12
@a74nh
Copy link
Contributor Author

a74nh commented Jun 12, 2023

Results from a 80core Altra.

base_src is a recent commit: 2bf8f1aa83e.

runtime_src is the same code but with if conversion always enabled inside loops: this block commented out. (yes, this code is already gated on stress, but not sure if the harness allows to run the second coreclr with a different env to the first)

Doing if conversion can be expensive due to the values within the if always being calculated. I've tried to factor this out of the benchmarks: the expensive load from the array is always being used via the call to consume(), and so shouldn't cause an effect on the results.

There are some slowdowns where the result of the if is predicable (Single_Seq*), but these are minor.
The are larger gains where the result of the if is 50/50 random (Single_Random2), getting smaller as the result becomes more biased towards one direction (Single_Random*).

Having two conditions in the if (And_*) gives less benefit. I'd expect this to continue as more conditions are added.

  |                    Method |        Job |     Toolchain |     Mean |    Error |   StdDev |   Median |      Min |      Max | Ratio | MannWhitney(2%) | RatioSD | Allocated | Alloc Ratio |
  |            Single_Random2 | Job-LTQNDF |    /base_src/ | 63.06 us | 0.043 us | 0.036 us | 63.05 us | 63.01 us | 63.14 us |  1.00 |            Base |    0.00 |         - |          NA |
  |            Single_Random2 | Job-WUSOCO | /runtime_src/ | 24.34 us | 0.035 us | 0.029 us | 24.34 us | 24.29 us | 24.40 us |  0.39 |          Faster |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |            Single_Random3 | Job-LTQNDF |    /base_src/ | 64.90 us | 0.223 us | 0.174 us | 64.98 us | 64.55 us | 65.07 us |  1.00 |            Base |    0.00 |         - |          NA |
  |            Single_Random3 | Job-WUSOCO | /runtime_src/ | 31.88 us | 0.417 us | 0.325 us | 31.78 us | 31.75 us | 32.91 us |  0.49 |          Faster |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |            Single_Random4 | Job-LTQNDF |    /base_src/ | 48.82 us | 0.048 us | 0.040 us | 48.84 us | 48.75 us | 48.85 us |  1.00 |            Base |    0.00 |         - |          NA |
  |            Single_Random4 | Job-WUSOCO | /runtime_src/ | 24.14 us | 0.001 us | 0.001 us | 24.14 us | 24.14 us | 24.14 us |  0.49 |          Faster |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |            Single_Random5 | Job-LTQNDF |    /base_src/ | 50.97 us | 0.536 us | 0.419 us | 50.86 us | 50.81 us | 52.30 us |  1.00 |            Base |    0.00 |         - |          NA |
  |            Single_Random5 | Job-WUSOCO | /runtime_src/ | 32.14 us | 0.010 us | 0.008 us | 32.14 us | 32.12 us | 32.15 us |  0.63 |          Faster |    0.01 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  | Single_Random2UnknownSize | Job-LTQNDF |    /base_src/ | 67.52 us | 0.018 us | 0.014 us | 67.52 us | 67.50 us | 67.55 us |  1.00 |            Base |    0.00 |         - |          NA |
  | Single_Random2UnknownSize | Job-WUSOCO | /runtime_src/ | 28.05 us | 0.009 us | 0.007 us | 28.05 us | 28.03 us | 28.06 us |  0.42 |          Faster |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  | Single_Random3UnknownSize | Job-LTQNDF |    /base_src/ | 65.05 us | 0.069 us | 0.054 us | 65.04 us | 64.92 us | 65.13 us |  1.00 |            Base |    0.00 |         - |          NA |
  | Single_Random3UnknownSize | Job-WUSOCO | /runtime_src/ | 35.48 us | 0.254 us | 0.199 us | 35.53 us | 35.20 us | 35.68 us |  0.55 |          Faster |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  | Single_Random4UnknownSize | Job-LTQNDF |    /base_src/ | 50.87 us | 0.052 us | 0.041 us | 50.86 us | 50.83 us | 50.99 us |  1.00 |            Base |    0.00 |         - |          NA |
  | Single_Random4UnknownSize | Job-WUSOCO | /runtime_src/ | 28.07 us | 0.027 us | 0.021 us | 28.07 us | 28.04 us | 28.11 us |  0.55 |          Faster |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  | Single_Random5UnknownSize | Job-LTQNDF |    /base_src/ | 54.60 us | 0.133 us | 0.104 us | 54.57 us | 54.43 us | 54.81 us |  1.00 |            Base |    0.00 |         - |          NA |
  | Single_Random5UnknownSize | Job-WUSOCO | /runtime_src/ | 36.05 us | 0.006 us | 0.004 us | 36.05 us | 36.05 us | 36.06 us |  0.66 |          Faster |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |               Single_Seq2 | Job-LTQNDF |    /base_src/ | 28.60 us | 0.002 us | 0.002 us | 28.60 us | 28.60 us | 28.61 us |  1.00 |            Base |    0.00 |         - |          NA |
  |               Single_Seq2 | Job-WUSOCO | /runtime_src/ | 24.35 us | 0.388 us | 0.344 us | 24.14 us | 24.14 us | 24.99 us |  0.85 |          Faster |    0.01 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |               Single_Seq3 | Job-LTQNDF |    /base_src/ | 30.99 us | 0.003 us | 0.003 us | 30.99 us | 30.99 us | 31.00 us |  1.00 |            Base |    0.00 |         - |          NA |
  |               Single_Seq3 | Job-WUSOCO | /runtime_src/ | 31.77 us | 0.006 us | 0.005 us | 31.77 us | 31.76 us | 31.78 us |  1.03 |          Slower |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |               Single_Seq4 | Job-LTQNDF |    /base_src/ | 25.92 us | 0.001 us | 0.001 us | 25.92 us | 25.92 us | 25.92 us |  1.00 |            Base |    0.00 |         - |          NA |
  |               Single_Seq4 | Job-WUSOCO | /runtime_src/ | 24.49 us | 0.359 us | 0.335 us | 24.54 us | 24.14 us | 24.99 us |  0.95 |          Faster |    0.01 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |               Single_Seq5 | Job-LTQNDF |    /base_src/ | 30.84 us | 0.031 us | 0.029 us | 30.85 us | 30.77 us | 30.86 us |  1.00 |            Base |    0.00 |         - |          NA |
  |               Single_Seq5 | Job-WUSOCO | /runtime_src/ | 32.16 us | 0.006 us | 0.005 us | 32.16 us | 32.15 us | 32.17 us |  1.04 |          Slower |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |    Single_Seq2UnknownSize | Job-LTQNDF |    /base_src/ | 28.61 us | 0.005 us | 0.004 us | 28.61 us | 28.61 us | 28.62 us |  1.00 |            Base |    0.00 |         - |          NA |
  |    Single_Seq2UnknownSize | Job-WUSOCO | /runtime_src/ | 27.98 us | 0.022 us | 0.017 us | 27.97 us | 27.95 us | 28.01 us |  0.98 |          Faster |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |    Single_Seq3UnknownSize | Job-LTQNDF |    /base_src/ | 34.93 us | 0.313 us | 0.293 us | 35.01 us | 34.53 us | 35.42 us |  1.00 |            Base |    0.00 |         - |          NA |
  |    Single_Seq3UnknownSize | Job-WUSOCO | /runtime_src/ | 35.44 us | 0.006 us | 0.004 us | 35.44 us | 35.43 us | 35.45 us |  1.01 |            Same |    0.01 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |    Single_Seq4UnknownSize | Job-LTQNDF |    /base_src/ | 27.96 us | 0.007 us | 0.006 us | 27.96 us | 27.95 us | 27.97 us |  1.00 |            Base |    0.00 |         - |          NA |
  |    Single_Seq4UnknownSize | Job-WUSOCO | /runtime_src/ | 27.92 us | 0.007 us | 0.006 us | 27.92 us | 27.91 us | 27.93 us |  1.00 |            Same |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |    Single_Seq5UnknownSize | Job-LTQNDF |    /base_src/ | 34.77 us | 0.023 us | 0.018 us | 34.77 us | 34.74 us | 34.81 us |  1.00 |            Base |    0.00 |         - |          NA |
  |    Single_Seq5UnknownSize | Job-WUSOCO | /runtime_src/ | 35.14 us | 0.038 us | 0.030 us | 35.12 us | 35.10 us | 35.19 us |  1.01 |            Same |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |             Single_Always | Job-LTQNDF |    /base_src/ | 20.92 us | 0.256 us | 0.200 us | 20.86 us | 20.72 us | 21.39 us |  1.00 |            Base |    0.00 |         - |          NA |
  |             Single_Always | Job-WUSOCO | /runtime_src/ | 21.13 us | 0.397 us | 0.408 us | 21.43 us | 20.56 us | 21.45 us |  1.01 |            Same |    0.02 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |  Single_AlwaysUnknownSize | Job-LTQNDF |    /base_src/ | 25.25 us | 0.457 us | 0.382 us | 25.27 us | 24.70 us | 26.02 us |  1.00 |            Base |    0.00 |         - |          NA |
  |  Single_AlwaysUnknownSize | Job-WUSOCO | /runtime_src/ | 24.26 us | 0.030 us | 0.023 us | 24.25 us | 24.23 us | 24.31 us |  0.96 |          Faster |    0.01 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |               And_Random2 | Job-LTQNDF |    /base_src/ | 50.77 us | 0.056 us | 0.044 us | 50.75 us | 50.71 us | 50.87 us |  1.00 |            Base |    0.00 |         - |          NA |
  |               And_Random2 | Job-WUSOCO | /runtime_src/ | 30.40 us | 0.001 us | 0.001 us | 30.40 us | 30.40 us | 30.40 us |  0.60 |          Faster |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |               And_Random3 | Job-LTQNDF |    /base_src/ | 67.23 us | 0.887 us | 0.786 us | 67.21 us | 66.21 us | 68.90 us |  1.00 |            Base |    0.00 |         - |          NA |
  |               And_Random3 | Job-WUSOCO | /runtime_src/ | 66.60 us | 0.719 us | 0.561 us | 66.42 us | 66.37 us | 68.37 us |  0.99 |            Same |    0.02 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |               And_Random4 | Job-LTQNDF |    /base_src/ | 34.29 us | 0.012 us | 0.010 us | 34.29 us | 34.28 us | 34.31 us |  1.00 |            Base |    0.00 |         - |          NA |
  |               And_Random4 | Job-WUSOCO | /runtime_src/ | 30.40 us | 0.002 us | 0.001 us | 30.40 us | 30.40 us | 30.41 us |  0.89 |          Faster |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |               And_Random5 | Job-LTQNDF |    /base_src/ | 55.22 us | 0.535 us | 0.474 us | 55.31 us | 54.35 us | 55.95 us |  1.00 |            Base |    0.00 |         - |          NA |
  |               And_Random5 | Job-WUSOCO | /runtime_src/ | 53.94 us | 0.024 us | 0.018 us | 53.94 us | 53.91 us | 53.97 us |  0.98 |            Same |    0.01 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |    And_Random2UnknownSize | Job-LTQNDF |    /base_src/ | 54.63 us | 0.098 us | 0.076 us | 54.61 us | 54.52 us | 54.73 us |  1.00 |            Base |    0.00 |         - |          NA |
  |    And_Random2UnknownSize | Job-WUSOCO | /runtime_src/ | 35.78 us | 0.374 us | 0.292 us | 35.85 us | 35.35 us | 36.13 us |  0.65 |          Faster |    0.01 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |    And_Random3UnknownSize | Job-LTQNDF |    /base_src/ | 71.93 us | 0.166 us | 0.130 us | 71.91 us | 71.69 us | 72.11 us |  1.00 |            Base |    0.00 |         - |          NA |
  |    And_Random3UnknownSize | Job-WUSOCO | /runtime_src/ | 72.25 us | 0.058 us | 0.045 us | 72.24 us | 72.20 us | 72.37 us |  1.00 |            Same |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |    And_Random4UnknownSize | Job-LTQNDF |    /base_src/ | 40.61 us | 0.553 us | 0.490 us | 40.56 us | 39.69 us | 41.47 us |  1.00 |            Base |    0.00 |         - |          NA |
  |    And_Random4UnknownSize | Job-WUSOCO | /runtime_src/ | 35.68 us | 0.427 us | 0.334 us | 35.75 us | 35.32 us | 36.21 us |  0.88 |          Faster |    0.01 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |    And_Random5UnknownSize | Job-LTQNDF |    /base_src/ | 58.78 us | 0.671 us | 0.524 us | 58.63 us | 58.58 us | 60.44 us |  1.00 |            Base |    0.00 |         - |          NA |
  |    And_Random5UnknownSize | Job-WUSOCO | /runtime_src/ | 59.19 us | 0.024 us | 0.019 us | 59.18 us | 59.16 us | 59.22 us |  1.01 |            Same |    0.01 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |                  And_Seq2 | Job-LTQNDF |    /base_src/ | 28.61 us | 0.004 us | 0.003 us | 28.61 us | 28.61 us | 28.62 us |  1.00 |            Base |    0.00 |         - |          NA |
  |                  And_Seq2 | Job-WUSOCO | /runtime_src/ | 30.41 us | 0.002 us | 0.002 us | 30.41 us | 30.41 us | 30.41 us |  1.06 |          Slower |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |                  And_Seq3 | Job-LTQNDF |    /base_src/ | 35.02 us | 0.050 us | 0.039 us | 35.02 us | 34.98 us | 35.12 us |  1.00 |            Base |    0.00 |         - |          NA |
  |                  And_Seq3 | Job-WUSOCO | /runtime_src/ | 35.78 us | 0.004 us | 0.003 us | 35.78 us | 35.78 us | 35.79 us |  1.02 |          Slower |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |                  And_Seq4 | Job-LTQNDF |    /base_src/ | 28.61 us | 0.003 us | 0.002 us | 28.61 us | 28.61 us | 28.61 us |  1.00 |            Base |    0.00 |         - |          NA |
  |                  And_Seq4 | Job-WUSOCO | /runtime_src/ | 30.41 us | 0.002 us | 0.002 us | 30.41 us | 30.41 us | 30.42 us |  1.06 |          Slower |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |                  And_Seq5 | Job-LTQNDF |    /base_src/ | 35.61 us | 0.107 us | 0.095 us | 35.64 us | 35.39 us | 35.71 us |  1.00 |            Base |    0.00 |         - |          NA |
  |                  And_Seq5 | Job-WUSOCO | /runtime_src/ | 35.87 us | 0.007 us | 0.006 us | 35.87 us | 35.87 us | 35.88 us |  1.01 |            Same |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |       And_Seq2UnknownSize | Job-LTQNDF |    /base_src/ | 33.18 us | 0.010 us | 0.008 us | 33.18 us | 33.18 us | 33.21 us |  1.00 |            Base |    0.00 |         - |          NA |
  |       And_Seq2UnknownSize | Job-WUSOCO | /runtime_src/ | 35.20 us | 0.202 us | 0.157 us | 35.14 us | 35.05 us | 35.64 us |  1.06 |          Slower |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |       And_Seq3UnknownSize | Job-LTQNDF |    /base_src/ | 39.96 us | 0.454 us | 0.354 us | 39.86 us | 39.84 us | 41.08 us |  1.00 |            Base |    0.00 |         - |          NA |
  |       And_Seq3UnknownSize | Job-WUSOCO | /runtime_src/ | 40.56 us | 0.015 us | 0.012 us | 40.56 us | 40.54 us | 40.58 us |  1.02 |            Same |    0.01 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |       And_Seq4UnknownSize | Job-LTQNDF |    /base_src/ | 33.18 us | 0.006 us | 0.005 us | 33.18 us | 33.17 us | 33.19 us |  1.00 |            Base |    0.00 |         - |          NA |
  |       And_Seq4UnknownSize | Job-WUSOCO | /runtime_src/ | 35.30 us | 0.363 us | 0.322 us | 35.15 us | 35.01 us | 35.83 us |  1.06 |          Slower |    0.01 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |       And_Seq5UnknownSize | Job-LTQNDF |    /base_src/ | 40.14 us | 0.015 us | 0.013 us | 40.14 us | 40.11 us | 40.16 us |  1.00 |            Base |    0.00 |         - |          NA |
  |       And_Seq5UnknownSize | Job-WUSOCO | /runtime_src/ | 40.45 us | 0.034 us | 0.030 us | 40.45 us | 40.41 us | 40.52 us |  1.01 |            Same |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |                And_Always | Job-LTQNDF |    /base_src/ | 25.03 us | 0.003 us | 0.002 us | 25.03 us | 25.03 us | 25.04 us |  1.00 |            Base |    0.00 |         - |          NA |
  |                And_Always | Job-WUSOCO | /runtime_src/ | 25.04 us | 0.002 us | 0.001 us | 25.04 us | 25.03 us | 25.04 us |  1.00 |            Same |    0.00 |         - |          NA |
  |                           |            |               |          |          |          |          |          |          |       |                 |         |           |             |
  |     And_AlwaysUnknownSize | Job-LTQNDF |    /base_src/ | 29.71 us | 0.012 us | 0.009 us | 29.71 us | 29.70 us | 29.73 us |  1.00 |            Base |    0.00 |         - |          NA |
  |     And_AlwaysUnknownSize | Job-WUSOCO | /runtime_src/ | 29.68 us | 0.006 us | 0.005 us | 29.68 us | 29.67 us | 29.69 us |  1.00 |            Same |    0.00 |         - |          NA |

@a74nh
Copy link
Contributor Author

a74nh commented Jun 12, 2023

@kunalspathak, @jakobbotsch : I'm not sure if this is enough evidence to turn on if conversion inside loops (specifically Arm64).

@jakobbotsch
Copy link
Member

I would be more worried about the cases where there are data dependencies crossing loop iterations, like in dotnet/runtime#82106 (comment). I think to enable this we would need to do some smart analysis to ensure that the dependency chain the if-conversion appears in is short enough to not cause stalls.

@kunalspathak
Copy link
Member

FYI @AndyAyersMS

@a74nh
Copy link
Contributor Author

a74nh commented Jun 12, 2023

I would be more worried about the cases where there are data dependencies crossing loop iterations, like in dotnet/runtime#82106 (comment). I think to enable this we would need to do some smart analysis to ensure that the dependency chain the if-conversion appears in is short enough to not cause stalls.

Based off that, I gave the following a try. Loop size is unknown. Op1 is used inside the loop, as part of the if and after the loop.

        [Benchmark]
        public void Single_Dependency_UnknownSize() {
            int max = 105;
            int op1 = 0;
            for (int i = 0; inputs_sequential_null[i] != 0; i++) {
                op1 += inputs[i];
                if (op1 > max)
                {
                    op1 = 0;
                }
            }
            Consume(op1, 0, 0, 0);
        }
|                        Method |        Job |        Toolchain |     Mean |    Error |   StdDev |   Median |      Min |      Max | Ratio | Allocated | Alloc Ratio |
|------------------------------ |----------- |----------------- |---------:|---------:|---------:|---------:|---------:|---------:|------:|----------:|------------:|
| Single_Dependency_UnknownSize | Job-RMCOCP |    /runtime_base | 14.40 us | 0.002 us | 0.002 us | 14.40 us | 14.40 us | 14.41 us |  1.00 |         - |          NA |
| Single_Dependency_UnknownSize | Job-FVEBIS | /runtime_ifbench | 12.54 us | 0.001 us | 0.001 us | 12.54 us | 12.54 us | 12.54 us |  0.87 |         - |          NA |

I'll have a play, see if I can make it run slower.

@a74nh
Copy link
Contributor Author

a74nh commented Jul 5, 2023

Getting back to this. I did some extra testing, but couldn't construct any loops that ran slower. Instead, I did a spmidiff on the patch that enabled if conversion in loops. In the benchmarks mch, I looked at all the functions with the biggest changes. I then tried to find the benchmarks that ran those functions.

Firstly, here's the spmi results (attached because the file is too big)
diff_summary.md

@a74nh
Copy link
Contributor Author

a74nh commented Jul 5, 2023

Running benchmarks that test some of the loops functions that get better according to spmidiff:

System.Collections.Sort<string>

|               Method |        Job |         Toolchain | Size |     Mean |   Error |  StdDev |   Median |      Min |      Max | Ratio | MannWhitney(2%) |   Gen0 | Allocated | Alloc Ratio |
|--------------------- |----------- |------------------------------------------------------------------------------------- |----- |---------:|--------:|--------:|---------:|---------:|---------:|------:|---------------- |-------:|----------:|------------:|
|            LinqQuery | Job-NNGSIS |    /runtime_base/ |  512 | 317.0 us | 0.15 us | 0.13 us | 317.0 us | 316.7 us | 317.2 us |  1.00 |            Base | 0.6000 |   10584 B |        1.00 |
|            LinqQuery | Job-FJEAWZ | /runtime_ifbench/ |  512 | 317.2 us | 0.06 us | 0.05 us | 317.2 us | 317.1 us | 317.2 us |  1.00 |            Same | 0.6000 |   10584 B |        1.00 |
|                      |            |                   |      |          |         |         |          |          |          |       |                 |        |           |             |
| LinqOrderByExtension | Job-NNGSIS |    /runtime_base/ |  512 | 317.7 us | 0.04 us | 0.04 us | 317.7 us | 317.6 us | 317.8 us |  1.00 |            Base | 0.6000 |   10584 B |        1.00 |
| LinqOrderByExtension | Job-FJEAWZ | /runtime_ifbench/ |  512 | 319.0 us | 0.06 us | 0.06 us | 319.0 us | 318.9 us | 319.1 us |  1.00 |            Same | 0.6000 |   10584 B |        1.00 |
|                      |            |                   |      |          |         |         |          |          |          |       |                 |        |           |             |
|                Array | Job-NNGSIS |    /runtime_base/ |  512 | 355.2 us | 0.05 us | 0.04 us | 355.2 us | 355.1 us | 355.3 us |  1.00 |            Base |      - |         - |          NA |
|                Array | Job-FJEAWZ | /runtime_ifbench/ |  512 | 343.3 us | 1.16 us | 1.09 us | 344.0 us | 341.8 us | 344.3 us |  0.97 |          Faster |      - |         - |          NA |
|                      |            |                   |      |          |         |         |          |          |          |       |                 |        |           |             |
|  Array_ComparerClass | Job-NNGSIS |    /runtime_base/ |  512 | 374.0 us | 0.77 us | 0.72 us | 373.6 us | 373.5 us | 375.2 us |  1.00 |            Base |      - |      64 B |        1.00 |
|  Array_ComparerClass | Job-FJEAWZ | /runtime_ifbench/ |  512 | 362.2 us | 0.73 us | 0.68 us | 362.7 us | 361.3 us | 362.9 us |  0.97 |          Faster |      - |      64 B |        1.00 |
|                      |            |                   |      |          |         |         |          |          |          |       |                 |        |           |             |
| Array_ComparerStruct | Job-NNGSIS |    /runtime_base/ |  512 | 372.1 us | 0.08 us | 0.08 us | 372.0 us | 371.9 us | 372.2 us |  1.00 |            Base |      - |      88 B |        1.00 |
| Array_ComparerStruct | Job-FJEAWZ | /runtime_ifbench/ |  512 | 375.5 us | 0.15 us | 0.14 us | 375.6 us | 375.3 us | 375.8 us |  1.01 |            Same |      - |      88 B |        1.00 |
|                      |            |                   |      |          |         |         |          |          |          |       |                 |        |           |             |
|     Array_Comparison | Job-NNGSIS |    /runtime_base/ |  512 | 365.0 us | 1.02 us | 0.85 us | 365.4 us | 363.4 us | 365.6 us |  1.00 |            Base |      - |         - |          NA |
|     Array_Comparison | Job-FJEAWZ | /runtime_ifbench/ |  512 | 376.3 us | 0.66 us | 0.61 us | 376.7 us | 375.4 us | 376.9 us |  1.03 |          Slower |      - |         - |          NA |
|                      |            |                   |      |          |         |         |          |          |          |       |                 |        |           |             |
|                 List | Job-NNGSIS |    /runtime_base/ |  512 | 343.4 us | 0.10 us | 0.10 us | 343.4 us | 343.3 us | 343.6 us |  1.00 |            Base |      - |         - |          NA |
|                 List | Job-FJEAWZ | /runtime_ifbench/ |  512 | 350.9 us | 0.10 us | 0.09 us | 350.8 us | 350.7 us | 351.0 us |  1.02 |          Slower |      - |         - |          NA |

System.Collections.Sort<IntClass>

|               Method |        Job |         Toolchain | Size |     Mean |    Error |   StdDev |   Median |      Min |      Max | Ratio | MannWhitney(2%) |   Gen0 | Allocated | Alloc Ratio |
|--------------------- |----------- |------------------------------------------------------------------------------------- |----- |---------:|---------:|---------:|---------:|---------:|---------:|------:|---------------- |-------:|----------:|------------:|
|            LinqQuery | Job-MSDVGD |    /runtime_base/ |  512 | 79.94 us | 0.032 us | 0.028 us | 79.94 us | 79.89 us | 79.97 us |  1.00 |            Base | 0.6000 |   10552 B |        1.00 |
|            LinqQuery | Job-WSZJKL | /runtime_ifbench/ |  512 | 79.58 us | 0.049 us | 0.043 us | 79.59 us | 79.50 us | 79.66 us |  1.00 |            Same | 0.6000 |   10552 B |        1.00 |
|                      |            |                   |      |          |          |          |          |          |          |       |                 |        |           |             |
| LinqOrderByExtension | Job-MSDVGD |    /runtime_base/ |  512 | 79.98 us | 0.114 us | 0.101 us | 80.03 us | 79.83 us | 80.12 us |  1.00 |            Base | 0.6000 |   10552 B |        1.00 |
| LinqOrderByExtension | Job-WSZJKL | /runtime_ifbench/ |  512 | 79.69 us | 0.122 us | 0.108 us | 79.67 us | 79.52 us | 79.88 us |  1.00 |            Same | 0.6000 |   10552 B |        1.00 |
|                      |            |                   |      |          |          |          |          |          |          |       |                 |        |           |             |
|                Array | Job-MSDVGD |    /runtime_base/ |  512 | 39.97 us | 0.323 us | 0.302 us | 39.93 us | 39.54 us | 40.43 us |  1.00 |            Base |      - |         - |          NA |
|                Array | Job-WSZJKL | /runtime_ifbench/ |  512 | 39.06 us | 0.024 us | 0.020 us | 39.06 us | 39.02 us | 39.09 us |  0.98 |            Same |      - |         - |          NA |
|                      |            |                   |      |          |          |          |          |          |          |       |                 |        |           |             |
|  Array_ComparerClass | Job-MSDVGD |    /runtime_base/ |  512 | 58.00 us | 0.061 us | 0.057 us | 58.00 us | 57.93 us | 58.12 us |  1.00 |            Base |      - |      64 B |        1.00 |
|  Array_ComparerClass | Job-WSZJKL | /runtime_ifbench/ |  512 | 54.54 us | 0.047 us | 0.041 us | 54.53 us | 54.48 us | 54.63 us |  0.94 |          Faster |      - |      64 B |        1.00 |
|                      |            |                   |      |          |          |          |          |          |          |       |                 |        |           |             |
| Array_ComparerStruct | Job-MSDVGD |    /runtime_base/ |  512 | 53.98 us | 0.056 us | 0.052 us | 53.98 us | 53.87 us | 54.06 us |  1.00 |            Base |      - |      88 B |        1.00 |
| Array_ComparerStruct | Job-WSZJKL | /runtime_ifbench/ |  512 | 53.74 us | 0.064 us | 0.060 us | 53.72 us | 53.67 us | 53.84 us |  1.00 |            Same |      - |      88 B |        1.00 |
|                      |            |                   |      |          |          |          |          |          |          |       |                 |        |           |             |
|     Array_Comparison | Job-MSDVGD |    /runtime_base/ |  512 | 54.99 us | 0.064 us | 0.056 us | 54.99 us | 54.87 us | 55.08 us |  1.00 |            Base |      - |         - |          NA |
|     Array_Comparison | Job-WSZJKL | /runtime_ifbench/ |  512 | 55.19 us | 0.039 us | 0.035 us | 55.18 us | 55.15 us | 55.26 us |  1.00 |            Same |      - |         - |          NA |
|                      |            |                   |      |          |          |          |          |          |          |       |                 |        |           |             |
|                 List | Job-MSDVGD |    /runtime_base/ |  512 | 38.34 us | 0.068 us | 0.063 us | 38.34 us | 38.23 us | 38.44 us |  1.00 |            Base |      - |         - |          NA |
|                 List | Job-WSZJKL | /runtime_ifbench/ |  512 | 38.35 us | 0.034 us | 0.030 us | 38.36 us | 38.30 us | 38.40 us |  1.00 |            Same |      - |         - |          NA |


System.Collections.Sort<BigStruct>

|               Method |        Job |         Toolchain | Size |     Mean |    Error |   StdDev |   Median |      Min |      Max | Ratio | MannWhitney(2%) |   Gen0 | Allocated | Alloc Ratio |
|--------------------- |----------- |------------------------------------------------------------------------------------- |----- |---------:|---------:|---------:|---------:|---------:|---------:|------:|---------------- |-------:|----------:|------------:|
|            LinqQuery | Job-LLOTUU |    /runtime_base/ |  512 | 56.09 us | 0.137 us | 0.128 us | 56.13 us | 55.92 us | 56.39 us |  1.00 |            Base | 2.0000 |   35152 B |        1.00 |
|            LinqQuery | Job-AYDAMK | /runtime_ifbench/ |  512 | 46.08 us | 0.164 us | 0.153 us | 46.09 us | 45.85 us | 46.43 us |  0.82 |          Faster | 2.0000 |   35152 B |        1.00 |
|                      |            |                   |      |          |          |          |          |          |          |       |                 |        |           |             |
| LinqOrderByExtension | Job-LLOTUU |    /runtime_base/ |  512 | 55.99 us | 0.076 us | 0.067 us | 55.99 us | 55.88 us | 56.10 us |  1.00 |            Base | 2.0000 |   35152 B |        1.00 |
| LinqOrderByExtension | Job-AYDAMK | /runtime_ifbench/ |  512 | 45.68 us | 0.154 us | 0.136 us | 45.74 us | 45.44 us | 45.90 us |  0.82 |          Faster | 2.0000 |   35152 B |        1.00 |
|                      |            |                   |      |          |          |          |          |          |          |       |                 |        |           |             |
|                Array | Job-LLOTUU |    /runtime_base/ |  512 | 29.30 us | 0.056 us | 0.050 us | 29.31 us | 29.21 us | 29.37 us |  1.00 |            Base |      - |         - |          NA |
|                Array | Job-AYDAMK | /runtime_ifbench/ |  512 | 29.41 us | 0.125 us | 0.117 us | 29.37 us | 29.25 us | 29.62 us |  1.00 |            Same |      - |         - |          NA |
|                      |            |                   |      |          |          |          |          |          |          |       |                 |        |           |             |
|  Array_ComparerClass | Job-LLOTUU |    /runtime_base/ |  512 | 37.42 us | 0.056 us | 0.046 us | 37.42 us | 37.32 us | 37.51 us |  1.00 |            Base |      - |      64 B |        1.00 |
|  Array_ComparerClass | Job-AYDAMK | /runtime_ifbench/ |  512 | 36.48 us | 0.094 us | 0.084 us | 36.51 us | 36.30 us | 36.58 us |  0.97 |          Faster |      - |      64 B |        1.00 |
|                      |            |                   |      |          |          |          |          |          |          |       |                 |        |           |             |
| Array_ComparerStruct | Job-LLOTUU |    /runtime_base/ |  512 | 47.50 us | 0.038 us | 0.034 us | 47.51 us | 47.45 us | 47.56 us |  1.00 |            Base |      - |      88 B |        1.00 |
| Array_ComparerStruct | Job-AYDAMK | /runtime_ifbench/ |  512 | 47.60 us | 0.062 us | 0.058 us | 47.61 us | 47.52 us | 47.68 us |  1.00 |            Same |      - |      88 B |        1.00 |
|                      |            |                   |      |          |          |          |          |          |          |       |                 |        |           |             |
|     Array_Comparison | Job-LLOTUU |    /runtime_base/ |  512 | 38.23 us | 0.076 us | 0.071 us | 38.23 us | 38.10 us | 38.37 us |  1.00 |            Base |      - |         - |          NA |
|     Array_Comparison | Job-AYDAMK | /runtime_ifbench/ |  512 | 37.50 us | 0.081 us | 0.072 us | 37.52 us | 37.34 us | 37.60 us |  0.98 |            Same |      - |         - |          NA |
|                      |            |                   |      |          |          |          |          |          |          |       |                 |        |           |             |
|                 List | Job-LLOTUU |    /runtime_base/ |  512 | 29.27 us | 0.106 us | 0.094 us | 29.25 us | 29.13 us | 29.46 us |  1.00 |            Base |      - |         - |          NA |
|                 List | Job-AYDAMK | /runtime_ifbench/ |  512 | 29.31 us | 0.063 us | 0.056 us | 29.33 us | 29.16 us | 29.39 us |  1.00 |            Same |      - |         - |          NA |



System.Text.Encodings.Web.Tests

|      Method |        Job |         Toolchain |                            arguments |      Mean |    Error |   StdDev |    Median |       Min |       Max | Ratio | MannWhitney(2%) | Allocated | Alloc Ratio |
|------------ |----------- |------------------------------------------------------------------------------------- |------------------------------------- |----------:|---------:|---------:|----------:|----------:|----------:|------:|---------------- |----------:|------------:|
|  EncodeUtf8 | Job-YZEJGA |    /runtime_base/ |        JavaScript,&Hello+<World>!,16 |  52.81 ns | 0.024 ns | 0.021 ns |  52.80 ns |  52.79 ns |  52.85 ns |  1.00 |            Base |         - |          NA |
|  EncodeUtf8 | Job-KRNUUS | /runtime_ifbench/ |        JavaScript,&Hello+<World>!,16 |  51.90 ns | 0.015 ns | 0.014 ns |  51.90 ns |  51.88 ns |  51.93 ns |  0.98 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
| EncodeUtf16 | Job-YZEJGA |    /runtime_base/ |        JavaScript,&Hello+<World>!,16 |  75.73 ns | 0.041 ns | 0.038 ns |  75.72 ns |  75.67 ns |  75.79 ns |  1.00 |            Base |         - |          NA |
| EncodeUtf16 | Job-KRNUUS | /runtime_ifbench/ |        JavaScript,&Hello+<World>!,16 |  74.98 ns | 0.052 ns | 0.046 ns |  74.99 ns |  74.91 ns |  75.04 ns |  0.99 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
|  EncodeUtf8 | Job-YZEJGA |    /runtime_base/ |       JavaScript,&Hello+<World>!,512 | 109.14 ns | 0.134 ns | 0.125 ns | 109.09 ns | 108.98 ns | 109.35 ns |  1.00 |            Base |         - |          NA |
|  EncodeUtf8 | Job-KRNUUS | /runtime_ifbench/ |       JavaScript,&Hello+<World>!,512 | 114.40 ns | 0.023 ns | 0.021 ns | 114.40 ns | 114.37 ns | 114.44 ns |  1.05 |          Slower |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
| EncodeUtf16 | Job-YZEJGA |    /runtime_base/ |       JavaScript,&Hello+<World>!,512 | 185.06 ns | 0.132 ns | 0.124 ns | 185.10 ns | 184.84 ns | 185.22 ns |  1.00 |            Base |         - |          NA |
| EncodeUtf16 | Job-KRNUUS | /runtime_ifbench/ |       JavaScript,&Hello+<World>!,512 | 184.31 ns | 0.139 ns | 0.130 ns | 184.33 ns | 183.95 ns | 184.48 ns |  1.00 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
|  EncodeUtf8 | Job-YZEJGA |    /runtime_base/ |   JavaScript,no escaping required,16 |  17.87 ns | 0.010 ns | 0.010 ns |  17.86 ns |  17.85 ns |  17.88 ns |  1.00 |            Base |         - |          NA |
|  EncodeUtf8 | Job-KRNUUS | /runtime_ifbench/ |   JavaScript,no escaping required,16 |  18.86 ns | 0.012 ns | 0.011 ns |  18.86 ns |  18.84 ns |  18.88 ns |  1.06 |          Slower |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
| EncodeUtf16 | Job-YZEJGA |    /runtime_base/ |   JavaScript,no escaping required,16 |  20.34 ns | 0.019 ns | 0.017 ns |  20.34 ns |  20.31 ns |  20.37 ns |  1.00 |            Base |         - |          NA |
| EncodeUtf16 | Job-KRNUUS | /runtime_ifbench/ |   JavaScript,no escaping required,16 |  20.69 ns | 0.043 ns | 0.040 ns |  20.69 ns |  20.59 ns |  20.76 ns |  1.02 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
|  EncodeUtf8 | Job-YZEJGA |    /runtime_base/ |  JavaScript,no escaping required,512 |  76.48 ns | 0.071 ns | 0.067 ns |  76.48 ns |  76.39 ns |  76.61 ns |  1.00 |            Base |         - |          NA |
|  EncodeUtf8 | Job-KRNUUS | /runtime_ifbench/ |  JavaScript,no escaping required,512 |  80.90 ns | 0.040 ns | 0.037 ns |  80.91 ns |  80.84 ns |  80.98 ns |  1.06 |          Slower |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
| EncodeUtf16 | Job-YZEJGA |    /runtime_base/ |  JavaScript,no escaping required,512 | 129.07 ns | 0.483 ns | 0.428 ns | 129.07 ns | 128.52 ns | 129.96 ns |  1.00 |            Base |         - |          NA |
| EncodeUtf16 | Job-KRNUUS | /runtime_ifbench/ |  JavaScript,no escaping required,512 | 130.29 ns | 0.241 ns | 0.201 ns | 130.28 ns | 130.03 ns | 130.69 ns |  1.01 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
|  EncodeUtf8 | Job-YZEJGA |    /runtime_base/ |       UnsafeRelaxed,hello "there",16 |  36.00 ns | 0.182 ns | 0.170 ns |  36.10 ns |  35.71 ns |  36.16 ns |  1.00 |            Base |         - |          NA |
|  EncodeUtf8 | Job-KRNUUS | /runtime_ifbench/ |       UnsafeRelaxed,hello "there",16 |  36.14 ns | 0.066 ns | 0.062 ns |  36.14 ns |  36.02 ns |  36.22 ns |  1.00 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
| EncodeUtf16 | Job-YZEJGA |    /runtime_base/ |       UnsafeRelaxed,hello "there",16 |  41.88 ns | 0.036 ns | 0.033 ns |  41.88 ns |  41.82 ns |  41.93 ns |  1.00 |            Base |         - |          NA |
| EncodeUtf16 | Job-KRNUUS | /runtime_ifbench/ |       UnsafeRelaxed,hello "there",16 |  41.99 ns | 0.012 ns | 0.010 ns |  41.98 ns |  41.97 ns |  42.00 ns |  1.00 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
|  EncodeUtf8 | Job-YZEJGA |    /runtime_base/ |      UnsafeRelaxed,hello "there",512 |  92.85 ns | 0.076 ns | 0.067 ns |  92.84 ns |  92.79 ns |  93.01 ns |  1.00 |            Base |         - |          NA |
|  EncodeUtf8 | Job-KRNUUS | /runtime_ifbench/ |      UnsafeRelaxed,hello "there",512 |  98.01 ns | 0.023 ns | 0.021 ns |  98.02 ns |  97.95 ns |  98.03 ns |  1.06 |          Slower |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
| EncodeUtf16 | Job-YZEJGA |    /runtime_base/ |      UnsafeRelaxed,hello "there",512 | 152.37 ns | 0.238 ns | 0.223 ns | 152.40 ns | 151.81 ns | 152.64 ns |  1.00 |            Base |         - |          NA |
| EncodeUtf16 | Job-KRNUUS | /runtime_ifbench/ |      UnsafeRelaxed,hello "there",512 | 150.50 ns | 0.083 ns | 0.078 ns | 150.51 ns | 150.40 ns | 150.63 ns |  0.99 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
|  EncodeUtf8 | Job-YZEJGA |    /runtime_base/ | UnsafeRelaxed(...)> required,16 [41] |  16.86 ns | 0.008 ns | 0.008 ns |  16.86 ns |  16.85 ns |  16.88 ns |  1.00 |            Base |         - |          NA |
|  EncodeUtf8 | Job-KRNUUS | /runtime_ifbench/ | UnsafeRelaxed(...)> required,16 [41] |  16.82 ns | 0.008 ns | 0.007 ns |  16.82 ns |  16.80 ns |  16.83 ns |  1.00 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
| EncodeUtf16 | Job-YZEJGA |    /runtime_base/ | UnsafeRelaxed(...)> required,16 [41] |  20.65 ns | 0.013 ns | 0.012 ns |  20.65 ns |  20.63 ns |  20.67 ns |  1.00 |            Base |         - |          NA |
| EncodeUtf16 | Job-KRNUUS | /runtime_ifbench/ | UnsafeRelaxed(...)> required,16 [41] |  20.52 ns | 0.009 ns | 0.008 ns |  20.52 ns |  20.50 ns |  20.53 ns |  0.99 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
|  EncodeUtf8 | Job-YZEJGA |    /runtime_base/ | UnsafeRelaxed(...) required,512 [42] |  82.63 ns | 0.089 ns | 0.079 ns |  82.66 ns |  82.38 ns |  82.69 ns |  1.00 |            Base |         - |          NA |
|  EncodeUtf8 | Job-KRNUUS | /runtime_ifbench/ | UnsafeRelaxed(...) required,512 [42] |  75.90 ns | 0.029 ns | 0.027 ns |  75.90 ns |  75.87 ns |  75.95 ns |  0.92 |          Faster |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
| EncodeUtf16 | Job-YZEJGA |    /runtime_base/ | UnsafeRelaxed(...) required,512 [42] | 128.50 ns | 0.120 ns | 0.112 ns | 128.49 ns | 128.31 ns | 128.65 ns |  1.00 |            Base |         - |          NA |
| EncodeUtf16 | Job-KRNUUS | /runtime_ifbench/ | UnsafeRelaxed(...) required,512 [42] | 129.32 ns | 0.085 ns | 0.075 ns | 129.32 ns | 129.20 ns | 129.45 ns |  1.01 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
|  EncodeUtf8 | Job-YZEJGA |    /runtime_base/ |   Url,&lorem ipsum=dolor sit amet,16 |  78.11 ns | 0.051 ns | 0.045 ns |  78.12 ns |  77.97 ns |  78.14 ns |  1.00 |            Base |         - |          NA |
|  EncodeUtf8 | Job-KRNUUS | /runtime_ifbench/ |   Url,&lorem ipsum=dolor sit amet,16 |  78.85 ns | 0.133 ns | 0.124 ns |  78.83 ns |  78.68 ns |  79.10 ns |  1.01 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
| EncodeUtf16 | Job-YZEJGA |    /runtime_base/ |   Url,&lorem ipsum=dolor sit amet,16 |  95.08 ns | 0.023 ns | 0.020 ns |  95.08 ns |  95.05 ns |  95.12 ns |  1.00 |            Base |         - |          NA |
| EncodeUtf16 | Job-KRNUUS | /runtime_ifbench/ |   Url,&lorem ipsum=dolor sit amet,16 |  94.56 ns | 0.042 ns | 0.040 ns |  94.55 ns |  94.51 ns |  94.64 ns |  0.99 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
|  EncodeUtf8 | Job-YZEJGA |    /runtime_base/ |  Url,&lorem ipsum=dolor sit amet,512 | 137.31 ns | 0.073 ns | 0.068 ns | 137.33 ns | 137.14 ns | 137.37 ns |  1.00 |            Base |         - |          NA |
|  EncodeUtf8 | Job-KRNUUS | /runtime_ifbench/ |  Url,&lorem ipsum=dolor sit amet,512 | 143.60 ns | 0.160 ns | 0.133 ns | 143.55 ns | 143.50 ns | 143.95 ns |  1.05 |          Slower |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
| EncodeUtf16 | Job-YZEJGA |    /runtime_base/ |  Url,&lorem ipsum=dolor sit amet,512 | 204.63 ns | 0.185 ns | 0.173 ns | 204.56 ns | 204.33 ns | 204.91 ns |  1.00 |            Base |         - |          NA |
| EncodeUtf16 | Job-KRNUUS | /runtime_ifbench/ |  Url,&lorem ipsum=dolor sit amet,512 | 204.64 ns | 0.168 ns | 0.157 ns | 204.65 ns | 204.41 ns | 204.90 ns |  1.00 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
|  EncodeUtf8 | Job-YZEJGA |    /runtime_base/ |                         Url,�2020,16 |  55.39 ns | 0.213 ns | 0.200 ns |  55.37 ns |  55.02 ns |  55.67 ns |  1.00 |            Base |         - |          NA |
|  EncodeUtf8 | Job-KRNUUS | /runtime_ifbench/ |                         Url,�2020,16 |  55.38 ns | 0.144 ns | 0.134 ns |  55.38 ns |  55.14 ns |  55.59 ns |  1.00 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
| EncodeUtf16 | Job-YZEJGA |    /runtime_base/ |                         Url,�2020,16 |  45.62 ns | 0.029 ns | 0.027 ns |  45.62 ns |  45.57 ns |  45.67 ns |  1.00 |            Base |         - |          NA |
| EncodeUtf16 | Job-KRNUUS | /runtime_ifbench/ |                         Url,�2020,16 |  45.11 ns | 0.030 ns | 0.028 ns |  45.11 ns |  45.04 ns |  45.14 ns |  0.99 |            Same |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
|  EncodeUtf8 | Job-YZEJGA |    /runtime_base/ |                        Url,�2020,512 | 111.79 ns | 0.247 ns | 0.231 ns | 111.78 ns | 111.34 ns | 112.13 ns |  1.00 |            Base |         - |          NA |
|  EncodeUtf8 | Job-KRNUUS | /runtime_ifbench/ |                        Url,�2020,512 | 116.82 ns | 0.116 ns | 0.097 ns | 116.83 ns | 116.70 ns | 117.03 ns |  1.04 |          Slower |         - |          NA |
|             |            |                   |                                      |           |          |          |           |           |           |       |                 |           |             |
| EncodeUtf16 | Job-YZEJGA |    /runtime_base/ |                        Url,�2020,512 | 157.62 ns | 0.519 ns | 0.486 ns | 157.41 ns | 157.11 ns | 158.47 ns |  1.00 |            Base |         - |          NA |
| EncodeUtf16 | Job-KRNUUS | /runtime_ifbench/ |                        Url,�2020,512 | 155.45 ns | 0.109 ns | 0.102 ns | 155.42 ns | 155.33 ns | 155.60 ns |  0.99 |            Same |         - |          NA |


System.Runtime.Serialization.Formatters.Tests

|               Method |        Job |         Toolchain |     Mean |    Error |   StdDev |   Median |      Min |      Max | Ratio | MannWhitney(2%) | RatioSD |      Gen0 |      Gen1 | Allocated | Alloc Ratio |
|--------------------- |----------- |------------------------------------------------------------------------------------- |---------:|---------:|---------:|---------:|---------:|---------:|------:|---------------- |--------:|----------:|----------:|----------:|------------:|
| DeserializeLargeList | Job-GZOKTK |    /runtime_base/ | 204.9 ms | 63.30 ms | 72.90 ms | 153.8 ms | 152.1 ms | 311.1 ms |  1.00 |            Base |    0.00 | 2000.0000 | 1000.0000 |  51.02 MB |        1.00 |
| DeserializeLargeList | Job-PRDZYE | /runtime_ifbench/ | 162.2 ms |  7.12 ms |  8.20 ms | 157.9 ms | 155.5 ms | 177.5 ms |  0.87 |            Same |    0.22 | 2000.0000 | 1000.0000 |  51.02 MB |        1.00 |

@a74nh
Copy link
Contributor Author

a74nh commented Jul 5, 2023

Running benchmarks that test some of the loops functions that get worse according to spmidiff:

System.Collections.CreateAddAndClear<Int32>

|                    Method |        Job |         Toolchain | Size |         Mean |       Error |      StdDev |       Median |          Min |          Max | Ratio | MannWhitney(2%) | RatioSD |    Gen0 |   Gen1 | Allocated | Alloc Ratio |
|-------------------------- |----------- |------------------------------------------------------------------------------------- |----- |-------------:|------------:|------------:|-------------:|-------------:|-------------:|------:|---------------- |--------:|--------:|-------:|----------:|------------:|
|                      List | Job-THHOPS |    /runtime_base/ |  512 |   1,631.1 ns |    13.09 ns |    12.24 ns |   1,633.0 ns |   1,611.4 ns |   1,654.4 ns |  1.00 |            Base |    0.00 |  0.2566 |      - |    4.2 KB |        1.00 |
|                      List | Job-WJCLNL | /runtime_ifbench/ |  512 |   1,676.7 ns |    22.34 ns |    20.89 ns |   1,671.0 ns |   1,646.9 ns |   1,723.2 ns |  1.03 |            Same |    0.01 |  0.2530 |      - |    4.2 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|                LinkedList | Job-THHOPS |    /runtime_base/ |  512 |  10,066.4 ns |    26.56 ns |    23.54 ns |  10,066.3 ns |  10,036.9 ns |  10,119.2 ns |  1.00 |            Base |    0.00 |  1.4479 | 0.0402 |  24.04 KB |        1.00 |
|                LinkedList | Job-WJCLNL | /runtime_ifbench/ |  512 |  10,046.1 ns |    17.78 ns |    15.76 ns |  10,042.1 ns |  10,026.7 ns |  10,079.2 ns |  1.00 |            Same |    0.00 |  1.4432 | 0.0401 |  24.04 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|                   HashSet | Job-THHOPS |    /runtime_base/ |  512 |  11,070.2 ns |    62.81 ns |    55.68 ns |  11,049.9 ns |  11,012.4 ns |  11,204.7 ns |  1.00 |            Base |    0.00 |  1.6401 | 0.1330 |  27.06 KB |        1.00 |
|                   HashSet | Job-WJCLNL | /runtime_ifbench/ |  512 |  11,039.0 ns |    28.19 ns |    24.99 ns |  11,040.2 ns |  10,991.9 ns |  11,079.8 ns |  1.00 |            Same |    0.01 |  1.6377 | 0.1328 |  27.06 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|                Dictionary | Job-THHOPS |    /runtime_base/ |  512 |  11,066.3 ns |    51.32 ns |    45.50 ns |  11,056.9 ns |  11,005.0 ns |  11,139.9 ns |  1.00 |            Base |    0.00 |  2.0506 | 0.1337 |  33.69 KB |        1.00 |
|                Dictionary | Job-WJCLNL | /runtime_ifbench/ |  512 |  11,073.2 ns |    35.37 ns |    31.36 ns |  11,069.2 ns |  11,016.5 ns |  11,124.6 ns |  1.00 |            Same |    0.01 |  2.0275 | 0.1322 |  33.69 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|                SortedList | Job-THHOPS |    /runtime_base/ |  512 |  63,034.8 ns |    78.30 ns |    65.38 ns |  63,031.2 ns |  62,943.9 ns |  63,132.1 ns |  1.00 |            Base |    0.00 |  0.5102 |      - |   8.41 KB |        1.00 |
|                SortedList | Job-WJCLNL | /runtime_ifbench/ |  512 |  60,519.1 ns |   110.81 ns |    92.53 ns |  60,531.6 ns |  60,313.2 ns |  60,657.4 ns |  0.96 |          Faster |    0.00 |  0.4883 |      - |   8.41 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|                 SortedSet | Job-THHOPS |    /runtime_base/ |  512 |  42,394.1 ns |   101.59 ns |    84.83 ns |  42,393.8 ns |  42,219.5 ns |  42,555.1 ns |  1.00 |            Base |    0.00 |  1.1856 |      - |  20.05 KB |        1.00 |
|                 SortedSet | Job-WJCLNL | /runtime_ifbench/ |  512 |  36,872.7 ns |   106.31 ns |    88.78 ns |  36,873.2 ns |  36,749.5 ns |  37,049.7 ns |  0.87 |          Faster |    0.00 |  1.1876 |      - |  20.05 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|          SortedDictionary | Job-THHOPS |    /runtime_base/ |  512 |  49,979.7 ns |   104.99 ns |    87.67 ns |  50,012.6 ns |  49,810.9 ns |  50,090.5 ns |  1.00 |            Base |    0.00 |  1.3933 |      - |  24.11 KB |        1.00 |
|          SortedDictionary | Job-WJCLNL | /runtime_ifbench/ |  512 |  47,169.2 ns |   175.24 ns |   155.35 ns |  47,206.1 ns |  46,960.3 ns |  47,378.0 ns |  0.94 |          Faster |    0.00 |  1.3178 |      - |  24.11 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|      ConcurrentDictionary | Job-THHOPS |    /runtime_base/ |  512 | 172,498.2 ns |   558.37 ns |   494.98 ns | 172,462.4 ns | 171,904.5 ns | 173,507.7 ns |  1.00 |            Base |    0.00 | 11.6758 | 3.4341 | 195.31 KB |        1.00 |
|      ConcurrentDictionary | Job-WJCLNL | /runtime_ifbench/ |  512 | 173,107.6 ns |   241.51 ns |   201.67 ns | 173,039.7 ns | 172,859.2 ns | 173,588.1 ns |  1.00 |            Same |    0.00 | 11.8056 | 3.4722 | 195.31 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|                     Stack | Job-THHOPS |    /runtime_base/ |  512 |   1,907.3 ns |    25.02 ns |    22.18 ns |   1,910.9 ns |   1,870.7 ns |   1,953.5 ns |  1.00 |            Base |    0.00 |  0.2553 |      - |    4.2 KB |        1.00 |
|                     Stack | Job-WJCLNL | /runtime_ifbench/ |  512 |   1,872.0 ns |    26.52 ns |    23.51 ns |   1,871.1 ns |   1,830.5 ns |   1,922.6 ns |  0.98 |            Same |    0.02 |  0.2533 |      - |    4.2 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|           ConcurrentStack | Job-THHOPS |    /runtime_base/ |  512 |  10,360.2 ns |    22.80 ns |    20.21 ns |  10,366.2 ns |  10,329.6 ns |  10,387.3 ns |  1.00 |            Base |    0.00 |  0.9507 |      - |  16.02 KB |        1.00 |
|           ConcurrentStack | Job-WJCLNL | /runtime_ifbench/ |  512 |   9,069.1 ns |    24.11 ns |    20.13 ns |   9,063.3 ns |   9,041.8 ns |   9,115.1 ns |  0.88 |          Faster |    0.00 |  0.9448 |      - |  16.02 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|                     Queue | Job-THHOPS |    /runtime_base/ |  512 |   2,447.3 ns |    10.07 ns |     8.41 ns |   2,448.0 ns |   2,436.3 ns |   2,459.5 ns |  1.00 |            Base |    0.00 |  0.2545 |      - |   4.21 KB |        1.00 |
|                     Queue | Job-WJCLNL | /runtime_ifbench/ |  512 |   2,126.0 ns |    12.19 ns |    10.81 ns |   2,127.6 ns |   2,101.9 ns |   2,142.5 ns |  0.87 |          Faster |    0.00 |  0.2542 |      - |   4.21 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|           ConcurrentQueue | Job-THHOPS |    /runtime_base/ |  512 |   8,384.2 ns |    10.31 ns |     8.61 ns |   8,384.4 ns |   8,373.5 ns |   8,400.0 ns |  1.00 |            Base |    0.00 |  0.6367 |      - |  10.69 KB |        1.00 |
|           ConcurrentQueue | Job-WJCLNL | /runtime_ifbench/ |  512 |   8,367.7 ns |    18.39 ns |    16.30 ns |   8,371.5 ns |   8,335.5 ns |   8,386.0 ns |  1.00 |            Same |    0.00 |  0.6333 |      - |  10.69 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|             ConcurrentBag | Job-THHOPS |    /runtime_base/ |  512 |  23,551.3 ns |    73.96 ns |    65.56 ns |  23,530.4 ns |  23,471.7 ns |  23,694.6 ns |  1.00 |            Base |    0.00 |  0.4756 | 0.3805 |   8.25 KB |        1.00 |
|             ConcurrentBag | Job-WJCLNL | /runtime_ifbench/ |  512 |  23,847.3 ns |   130.28 ns |   108.79 ns |  23,858.8 ns |  23,579.1 ns |  23,989.1 ns |  1.01 |            Same |    0.01 |  0.4778 | 0.3823 |   8.25 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|            ImmutableArray | Job-THHOPS |    /runtime_base/ |  512 |  50,892.8 ns |    50.39 ns |    42.08 ns |  50,883.3 ns |  50,837.6 ns |  50,968.8 ns |  1.00 |            Base |    0.00 | 32.1661 |      - |    526 KB |        1.00 |
|            ImmutableArray | Job-WJCLNL | /runtime_ifbench/ |  512 |  51,002.2 ns |   171.69 ns |   143.37 ns |  50,953.0 ns |  50,853.7 ns |  51,342.6 ns |  1.00 |            Same |    0.00 | 32.0617 |      - |    526 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|             ImmutableList | Job-THHOPS |    /runtime_base/ |  512 | 115,954.4 ns |   268.61 ns |   238.11 ns | 115,948.6 ns | 115,650.0 ns | 116,293.6 ns |  1.00 |            Base |    0.00 | 13.8889 | 0.4630 | 228.05 KB |        1.00 |
|             ImmutableList | Job-WJCLNL | /runtime_ifbench/ |  512 | 121,029.2 ns |   404.91 ns |   358.94 ns | 120,826.3 ns | 120,745.0 ns | 121,589.2 ns |  1.04 |          Slower |    0.00 | 13.5659 | 0.4845 | 228.05 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|       ImmutableDictionary | Job-THHOPS |    /runtime_base/ |  512 | 218,043.5 ns |   359.70 ns |   300.37 ns | 218,071.4 ns | 217,678.5 ns | 218,774.9 ns |  1.00 |            Base |    0.00 | 15.8451 | 0.8803 | 265.38 KB |        1.00 |
|       ImmutableDictionary | Job-WJCLNL | /runtime_ifbench/ |  512 | 219,918.9 ns |   214.15 ns |   178.82 ns | 219,901.2 ns | 219,618.1 ns | 220,213.9 ns |  1.01 |            Same |    0.00 | 15.8451 | 0.8803 | 265.38 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|          ImmutableHashSet | Job-THHOPS |    /runtime_base/ |  512 | 187,410.6 ns |   220.11 ns |   195.12 ns | 187,441.5 ns | 186,992.8 ns | 187,756.5 ns |  1.00 |            Base |    0.00 | 16.3690 | 0.7440 | 269.38 KB |        1.00 |
|          ImmutableHashSet | Job-WJCLNL | /runtime_ifbench/ |  512 | 193,741.1 ns | 2,955.08 ns | 3,034.65 ns | 192,161.1 ns | 191,845.8 ns | 200,990.3 ns |  1.04 |          Slower |    0.02 | 16.2037 | 0.7716 | 269.38 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
| ImmutableSortedDictionary | Job-THHOPS |    /runtime_base/ |  512 | 155,005.2 ns |   331.95 ns |   294.26 ns | 154,991.2 ns | 154,568.3 ns | 155,554.9 ns |  1.00 |            Base |    0.00 | 14.2327 | 0.6188 | 234.33 KB |        1.00 |
| ImmutableSortedDictionary | Job-WJCLNL | /runtime_ifbench/ |  512 | 166,394.1 ns |   676.03 ns |   564.51 ns | 166,340.3 ns | 165,368.0 ns | 167,577.5 ns |  1.07 |          Slower |    0.00 | 13.8158 | 0.6579 | 234.33 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|        ImmutableSortedSet | Job-THHOPS |    /runtime_base/ |  512 | 147,891.7 ns |   534.46 ns |   473.78 ns | 148,032.4 ns | 147,090.3 ns | 148,437.7 ns |  1.00 |            Base |    0.00 | 13.6905 | 0.5952 | 226.33 KB |        1.00 |
|        ImmutableSortedSet | Job-WJCLNL | /runtime_ifbench/ |  512 | 154,205.2 ns |   586.56 ns |   457.95 ns | 154,290.0 ns | 152,953.1 ns | 154,787.8 ns |  1.04 |          Slower |    0.00 | 13.7500 | 0.6250 | 226.33 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|            ImmutableStack | Job-THHOPS |    /runtime_base/ |  512 |   4,509.1 ns |     7.57 ns |     6.71 ns |   4,510.3 ns |   4,497.0 ns |   4,520.6 ns |  1.00 |            Base |    0.00 |  0.9698 | 0.0359 |     16 KB |        1.00 |
|            ImmutableStack | Job-WJCLNL | /runtime_ifbench/ |  512 |   4,527.4 ns |    12.52 ns |    11.10 ns |   4,524.8 ns |   4,509.0 ns |   4,546.4 ns |  1.00 |            Same |    0.00 |  0.9715 | 0.0360 |     16 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|            ImmutableQueue | Job-THHOPS |    /runtime_base/ |  512 |  10,163.0 ns |    12.34 ns |    10.31 ns |  10,159.7 ns |  10,143.6 ns |  10,182.3 ns |  1.00 |            Base |    0.00 |  2.1774 | 0.0403 |     36 KB |        1.00 |
|            ImmutableQueue | Job-WJCLNL | /runtime_ifbench/ |  512 |  10,248.7 ns |    18.60 ns |    15.53 ns |  10,247.4 ns |  10,224.2 ns |  10,284.1 ns |  1.01 |            Same |    0.00 |  2.1693 | 0.0409 |     36 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|                     Array | Job-THHOPS |    /runtime_base/ |  512 |     865.6 ns |     2.12 ns |     1.77 ns |     865.1 ns |     863.3 ns |     868.9 ns |  1.00 |            Base |    0.00 |  0.1239 |      - |   2.02 KB |        1.00 |
|                     Array | Job-WJCLNL | /runtime_ifbench/ |  512 |     863.2 ns |     1.47 ns |     1.15 ns |     863.2 ns |     861.3 ns |     866.0 ns |  1.00 |            Same |    0.00 |  0.1208 |      - |   2.02 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|                      Span | Job-THHOPS |    /runtime_base/ |  512 |     909.6 ns |     5.17 ns |     4.32 ns |     910.3 ns |     905.2 ns |     918.6 ns |  1.00 |            Base |    0.00 |  0.1206 |      - |   2.02 KB |        1.00 |
|                      Span | Job-WJCLNL | /runtime_ifbench/ |  512 |     914.0 ns |     8.25 ns |     7.31 ns |     910.5 ns |     906.3 ns |     927.9 ns |  1.01 |            Same |    0.01 |  0.1216 |      - |   2.02 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|               ICollection | Job-THHOPS |    /runtime_base/ |  512 |   1,774.3 ns |    33.93 ns |    36.30 ns |   1,776.4 ns |   1,703.8 ns |   1,846.0 ns |  1.00 |            Base |    0.00 |  0.2562 |      - |    4.2 KB |        1.00 |
|               ICollection | Job-WJCLNL | /runtime_ifbench/ |  512 |   1,754.6 ns |    34.84 ns |    30.88 ns |   1,750.3 ns |   1,709.2 ns |   1,811.1 ns |  0.99 |            Same |    0.03 |  0.2570 |      - |    4.2 KB |        1.00 |
|                           |            |                   |      |              |             |             |              |              |              |       |                 |         |         |        |           |             |
|               IDictionary | Job-THHOPS |    /runtime_base/ |  512 |  11,135.6 ns |    48.96 ns |    43.40 ns |  11,130.9 ns |  11,067.8 ns |  11,238.2 ns |  1.00 |            Base |    0.00 |  2.0390 | 0.1330 |  33.69 KB |        1.00 |
|               IDictionary | Job-WJCLNL | /runtime_ifbench/ |  512 |  11,121.6 ns |    27.59 ns |    24.46 ns |  11,122.9 ns |  11,074.6 ns |  11,159.4 ns |  1.00 |            Same |    0.00 |  2.0390 | 0.1330 |  33.69 KB |        1.00 |


System.Collections.CreateAddAndClear<String>

|                    Method |        Job |         Toolchain | Size |       Mean |     Error |    StdDev |     Median |        Min |        Max | Ratio | MannWhitney(2%) | RatioSD |    Gen0 |   Gen1 | Allocated | Alloc Ratio |
|-------------------------- |----------- |------------------------------------------------------------------------------------- |----- |-----------:|----------:|----------:|-----------:|-----------:|-----------:|------:|---------------- |--------:|--------:|-------:|----------:|------------:|
|                      List | Job-OOEPUJ |    /runtime_base/ |  512 |   4.351 us | 0.0546 us | 0.0484 us |   4.350 us |   4.216 us |   4.430 us |  1.00 |            Base |    0.00 |  0.4914 |      - |   8.19 KB |        1.00 |
|                      List | Job-EWAQMR | /runtime_ifbench/ |  512 |   4.222 us | 0.0221 us | 0.0196 us |   4.224 us |   4.182 us |   4.258 us |  0.97 |          Faster |    0.01 |  0.4861 |      - |   8.19 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|                LinkedList | Job-OOEPUJ |    /runtime_base/ |  512 |  13.445 us | 0.0588 us | 0.0491 us |  13.463 us |  13.335 us |  13.513 us |  1.00 |            Base |    0.00 |  1.4598 | 0.0541 |  24.04 KB |        1.00 |
|                LinkedList | Job-EWAQMR | /runtime_ifbench/ |  512 |  12.536 us | 0.0408 us | 0.0362 us |  12.546 us |  12.481 us |  12.610 us |  0.93 |          Faster |    0.00 |  1.4500 | 0.0500 |  24.04 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|                   HashSet | Job-OOEPUJ |    /runtime_base/ |  512 |  21.738 us | 0.2988 us | 0.2795 us |  21.726 us |  21.386 us |  22.416 us |  1.00 |            Base |    0.00 |  2.0021 | 0.0870 |  33.67 KB |        1.00 |
|                   HashSet | Job-EWAQMR | /runtime_ifbench/ |  512 |  21.129 us | 0.0728 us | 0.0645 us |  21.125 us |  21.046 us |  21.240 us |  0.97 |            Same |    0.01 |  2.0353 | 0.0848 |  33.67 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|                Dictionary | Job-OOEPUJ |    /runtime_base/ |  512 |  26.184 us | 0.1529 us | 0.1355 us |  26.227 us |  25.955 us |  26.371 us |  1.00 |            Base |    0.00 |  2.8266 | 0.5235 |  46.97 KB |        1.00 |
|                Dictionary | Job-EWAQMR | /runtime_ifbench/ |  512 |  25.881 us | 0.1288 us | 0.1076 us |  25.850 us |  25.738 us |  26.108 us |  0.99 |            Same |    0.01 |  2.7939 | 0.5174 |  46.97 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|                SortedList | Job-OOEPUJ |    /runtime_base/ |  512 | 379.307 us | 1.4845 us | 1.3160 us | 379.129 us | 377.459 us | 382.217 us |  1.00 |            Base |    0.00 |       - |      - |  16.38 KB |        1.00 |
|                SortedList | Job-EWAQMR | /runtime_ifbench/ |  512 | 392.277 us | 0.5536 us | 0.4322 us | 392.189 us | 391.691 us | 393.126 us |  1.03 |          Slower |    0.00 |       - |      - |  16.38 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|                 SortedSet | Job-OOEPUJ |    /runtime_base/ |  512 | 355.197 us | 0.2546 us | 0.2126 us | 355.166 us | 354.883 us | 355.589 us |  1.00 |            Base |    0.00 |  1.4205 |      - |  24.05 KB |        1.00 |
|                 SortedSet | Job-EWAQMR | /runtime_ifbench/ |  512 | 407.948 us | 4.2187 us | 3.7397 us | 408.629 us | 398.226 us | 412.683 us |  1.15 |          Slower |    0.01 |       - |      - |  24.05 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|          SortedDictionary | Job-OOEPUJ |    /runtime_base/ |  512 | 368.790 us | 0.7615 us | 0.6750 us | 368.846 us | 367.782 us | 370.267 us |  1.00 |            Base |    0.00 |  1.4881 |      - |  28.11 KB |        1.00 |
|          SortedDictionary | Job-EWAQMR | /runtime_ifbench/ |  512 | 378.572 us | 0.5468 us | 0.4566 us | 378.345 us | 378.085 us | 379.542 us |  1.03 |          Slower |    0.00 |  1.5244 |      - |  28.11 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|      ConcurrentDictionary | Job-OOEPUJ |    /runtime_base/ |  512 | 139.164 us | 0.2048 us | 0.1710 us | 139.216 us | 138.824 us | 139.428 us |  1.00 |            Base |    0.00 |  8.3705 | 2.2321 | 144.33 KB |        1.00 |
|      ConcurrentDictionary | Job-EWAQMR | /runtime_ifbench/ |  512 | 145.225 us | 0.3268 us | 0.2729 us | 145.175 us | 144.825 us | 145.794 us |  1.04 |          Slower |    0.00 |  8.6806 | 2.3148 | 144.33 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|                     Stack | Job-OOEPUJ |    /runtime_base/ |  512 |   4.067 us | 0.0103 us | 0.0081 us |   4.067 us |   4.053 us |   4.081 us |  1.00 |            Base |    0.00 |  0.4914 |      - |   8.19 KB |        1.00 |
|                     Stack | Job-EWAQMR | /runtime_ifbench/ |  512 |   4.060 us | 0.0080 us | 0.0071 us |   4.061 us |   4.052 us |   4.077 us |  1.00 |            Same |    0.00 |  0.4884 |      - |   8.19 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|           ConcurrentStack | Job-OOEPUJ |    /runtime_base/ |  512 |  12.880 us | 0.1640 us | 0.1534 us |  12.884 us |  12.610 us |  13.173 us |  1.00 |            Base |    0.00 |  0.9726 |      - |  16.02 KB |        1.00 |
|           ConcurrentStack | Job-EWAQMR | /runtime_ifbench/ |  512 |  11.555 us | 0.0691 us | 0.0612 us |  11.558 us |  11.433 us |  11.660 us |  0.90 |          Faster |    0.01 |  0.9773 |      - |  16.02 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|                     Queue | Job-OOEPUJ |    /runtime_base/ |  512 |   4.969 us | 0.0495 us | 0.0413 us |   4.966 us |   4.923 us |   5.057 us |  1.00 |            Base |    0.00 |  0.4982 |      - |    8.2 KB |        1.00 |
|                     Queue | Job-EWAQMR | /runtime_ifbench/ |  512 |   5.398 us | 0.0679 us | 0.0635 us |   5.374 us |   5.341 us |   5.548 us |  1.08 |          Slower |    0.01 |  0.4850 |      - |    8.2 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|           ConcurrentQueue | Job-OOEPUJ |    /runtime_base/ |  512 |   8.881 us | 0.0217 us | 0.0192 us |   8.871 us |   8.861 us |   8.914 us |  1.00 |            Base |    0.00 |  1.1331 | 0.0708 |  18.69 KB |        1.00 |
|           ConcurrentQueue | Job-EWAQMR | /runtime_ifbench/ |  512 |   9.902 us | 0.1962 us | 0.1835 us |   9.986 us |   9.604 us |  10.233 us |  1.12 |          Slower |    0.02 |  1.1182 | 0.0799 |  18.69 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|             ConcurrentBag | Job-OOEPUJ |    /runtime_base/ |  512 |  34.331 us | 0.3186 us | 0.2824 us |  34.435 us |  33.789 us |  34.666 us |  1.00 |            Base |    0.00 |  0.9470 | 0.8117 |  16.13 KB |        1.00 |
|             ConcurrentBag | Job-EWAQMR | /runtime_ifbench/ |  512 |  35.094 us | 1.8159 us | 1.8648 us |  34.377 us |  33.582 us |  39.840 us |  1.03 |            Same |    0.06 |  0.9511 | 0.8152 |  16.13 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|            ImmutableArray | Job-OOEPUJ |    /runtime_base/ |  512 | 117.483 us | 0.3473 us | 0.2712 us | 117.400 us | 117.169 us | 117.922 us |  1.00 |            Base |    0.00 | 63.4398 | 0.4699 |   1038 KB |        1.00 |
|            ImmutableArray | Job-EWAQMR | /runtime_ifbench/ |  512 | 204.908 us | 4.0980 us | 4.0248 us | 205.917 us | 192.703 us | 208.278 us |  1.74 |          Slower |    0.04 | 63.2530 |      - |   1038 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|             ImmutableList | Job-OOEPUJ |    /runtime_base/ |  512 | 135.738 us | 0.5270 us | 0.4400 us | 135.677 us | 135.072 us | 136.688 us |  1.00 |            Base |    0.00 | 13.7061 | 0.5482 | 228.05 KB |        1.00 |
|             ImmutableList | Job-EWAQMR | /runtime_ifbench/ |  512 | 135.595 us | 0.3670 us | 0.3253 us | 135.504 us | 135.268 us | 136.234 us |  1.00 |            Same |    0.00 | 13.5870 | 0.5435 | 228.05 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|       ImmutableDictionary | Job-OOEPUJ |    /runtime_base/ |  512 | 364.869 us | 1.1683 us | 1.0357 us | 365.071 us | 362.397 us | 365.925 us |  1.00 |            Base |    0.00 | 17.4419 |      - | 297.75 KB |        1.00 |
|       ImmutableDictionary | Job-EWAQMR | /runtime_ifbench/ |  512 | 363.205 us | 2.1554 us | 1.9107 us | 363.685 us | 360.112 us | 366.793 us |  1.00 |            Same |    0.00 | 17.0455 |      - | 297.81 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|          ImmutableHashSet | Job-OOEPUJ |    /runtime_base/ |  512 | 292.247 us | 2.8879 us | 2.7014 us | 291.290 us | 288.834 us | 297.549 us |  1.00 |            Base |    0.00 | 16.2037 |      - | 268.51 KB |        1.00 |
|          ImmutableHashSet | Job-EWAQMR | /runtime_ifbench/ |  512 | 293.078 us | 3.8898 us | 3.6386 us | 292.319 us | 289.580 us | 301.020 us |  1.00 |            Same |    0.02 | 16.2037 |      - | 266.54 KB |        0.99 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
| ImmutableSortedDictionary | Job-OOEPUJ |    /runtime_base/ |  512 | 494.286 us | 0.3800 us | 0.3173 us | 494.228 us | 493.863 us | 494.749 us |  1.00 |            Base |    0.00 | 15.6250 |      - | 269.38 KB |        1.00 |
| ImmutableSortedDictionary | Job-EWAQMR | /runtime_ifbench/ |  512 | 485.524 us | 2.1073 us | 1.8680 us | 484.559 us | 483.557 us | 489.741 us |  0.98 |            Same |    0.00 | 15.1515 |      - | 269.38 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|        ImmutableSortedSet | Job-OOEPUJ |    /runtime_base/ |  512 | 472.229 us | 1.0337 us | 0.9164 us | 472.101 us | 471.118 us | 474.410 us |  1.00 |            Base |    0.00 | 12.8676 |      - | 226.33 KB |        1.00 |
|        ImmutableSortedSet | Job-EWAQMR | /runtime_ifbench/ |  512 | 483.461 us | 3.9558 us | 3.5067 us | 482.384 us | 480.254 us | 489.961 us |  1.02 |            Same |    0.01 | 13.6719 |      - | 226.33 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|            ImmutableStack | Job-OOEPUJ |    /runtime_base/ |  512 |   6.394 us | 0.0391 us | 0.0347 us |   6.386 us |   6.343 us |   6.450 us |  1.00 |            Base |    0.00 |  0.9694 | 0.0255 |     16 KB |        1.00 |
|            ImmutableStack | Job-EWAQMR | /runtime_ifbench/ |  512 |   6.308 us | 0.0476 us | 0.0422 us |   6.288 us |   6.267 us |   6.397 us |  0.99 |            Same |    0.01 |  0.9773 | 0.0251 |     16 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|            ImmutableQueue | Job-OOEPUJ |    /runtime_base/ |  512 |  13.053 us | 0.1674 us | 0.1565 us |  12.979 us |  12.908 us |  13.364 us |  1.00 |            Base |    0.00 |  2.1716 | 0.0530 |     36 KB |        1.00 |
|            ImmutableQueue | Job-EWAQMR | /runtime_ifbench/ |  512 |  14.945 us | 0.0594 us | 0.0527 us |  14.925 us |  14.883 us |  15.037 us |  1.15 |          Slower |    0.01 |  2.1552 | 0.0599 |     36 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|                     Array | Job-OOEPUJ |    /runtime_base/ |  512 |   3.416 us | 0.0190 us | 0.0158 us |   3.409 us |   3.403 us |   3.460 us |  1.00 |            Base |    0.00 |  0.2375 |      - |   4.02 KB |        1.00 |
|                     Array | Job-EWAQMR | /runtime_ifbench/ |  512 |   3.400 us | 0.0425 us | 0.0355 us |   3.379 us |   3.377 us |   3.489 us |  1.00 |            Same |    0.01 |  0.2461 |      - |   4.02 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|                      Span | Job-OOEPUJ |    /runtime_base/ |  512 |   2.339 us | 0.0299 us | 0.0250 us |   2.331 us |   2.318 us |   2.397 us |  1.00 |            Base |    0.00 |  0.2445 |      - |   4.02 KB |        1.00 |
|                      Span | Job-EWAQMR | /runtime_ifbench/ |  512 |   2.318 us | 0.0128 us | 0.0107 us |   2.317 us |   2.303 us |   2.342 us |  0.99 |            Same |    0.01 |  0.2443 |      - |   4.02 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|               ICollection | Job-OOEPUJ |    /runtime_base/ |  512 |   5.080 us | 0.0051 us | 0.0042 us |   5.078 us |   5.076 us |   5.088 us |  1.00 |            Base |    0.00 |  0.4881 |      - |   8.19 KB |        1.00 |
|               ICollection | Job-EWAQMR | /runtime_ifbench/ |  512 |   5.069 us | 0.0013 us | 0.0010 us |   5.069 us |   5.067 us |   5.070 us |  1.00 |            Same |    0.00 |  0.4869 |      - |   8.19 KB |        1.00 |
|                           |            |                   |      |            |           |           |            |            |            |       |                 |         |         |        |           |             |
|               IDictionary | Job-OOEPUJ |    /runtime_base/ |  512 |  28.186 us | 0.0278 us | 0.0232 us |  28.184 us |  28.148 us |  28.222 us |  1.00 |            Base |    0.00 |  2.8153 | 0.5631 |  46.97 KB |        1.00 |
|               IDictionary | Job-EWAQMR | /runtime_ifbench/ |  512 |  28.202 us | 0.0422 us | 0.0352 us |  28.206 us |  28.125 us |  28.246 us |  1.00 |            Same |    0.00 |  2.8153 | 0.5631 |  46.97 KB |        1.00 |





|                                                    Method |        Job |         Toolchain |      Mean |    Error |   StdDev |    Median |       Min |       Max | Ratio | MannWhitney(2%) | RatioSD |   Gen0 | Allocated | Alloc Ratio |
|---------------------------------------------------------- |----------- |------------------------------------------------------------------------------------- |----------:|---------:|---------:|----------:|----------:|----------:|------:|---------------- |--------:|-------:|----------:|------------:|
|                                           Method0_NoParms | Job-RHXDLY |    /runtime_base/ |  20.62 ns | 0.125 ns | 0.117 ns |  20.66 ns |  20.32 ns |  20.71 ns |  1.00 |            Base |    0.00 |      - |         - |          NA |
|                                           Method0_NoParms | Job-CGDARJ | /runtime_ifbench/ |  20.30 ns | 0.053 ns | 0.050 ns |  20.28 ns |  20.25 ns |  20.41 ns |  0.98 |            Same |    0.01 |      - |         - |          NA |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|      StaticMethod4_arrayNotCached_int_string_struct_class | Job-RHXDLY |    /runtime_base/ | 113.37 ns | 0.821 ns | 0.685 ns | 113.10 ns | 113.03 ns | 114.94 ns |  1.00 |            Base |    0.00 | 0.0059 |     104 B |        1.00 |
|      StaticMethod4_arrayNotCached_int_string_struct_class | Job-CGDARJ | /runtime_ifbench/ | 113.56 ns | 1.546 ns | 1.446 ns | 112.70 ns | 112.60 ns | 117.50 ns |  1.00 |            Same |    0.01 | 0.0060 |     104 B |        1.00 |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
| StaticMethod5_arrayNotCached_int_string_struct_class_bool | Job-RHXDLY |    /runtime_base/ | 183.19 ns | 0.038 ns | 0.030 ns | 183.18 ns | 183.14 ns | 183.25 ns |  1.00 |            Base |    0.00 | 0.0118 |     200 B |        1.00 |
| StaticMethod5_arrayNotCached_int_string_struct_class_bool | Job-CGDARJ | /runtime_ifbench/ | 175.41 ns | 0.056 ns | 0.046 ns | 175.41 ns | 175.32 ns | 175.51 ns |  0.96 |          Faster |    0.00 | 0.0119 |     200 B |        1.00 |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|                     StaticMethod4_int_string_struct_class | Job-RHXDLY |    /runtime_base/ |  86.70 ns | 0.826 ns | 0.732 ns |  87.06 ns |  85.33 ns |  87.13 ns |  1.00 |            Base |    0.00 |      - |         - |          NA |
|                     StaticMethod4_int_string_struct_class | Job-CGDARJ | /runtime_ifbench/ |  85.54 ns | 0.102 ns | 0.080 ns |  85.54 ns |  85.37 ns |  85.69 ns |  0.99 |            Same |    0.01 |      - |         - |          NA |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|         StaticMethod4_ByRefParams_int_string_struct_class | Job-RHXDLY |    /runtime_base/ | 393.51 ns | 1.051 ns | 0.932 ns | 393.16 ns | 392.38 ns | 395.16 ns |  1.00 |            Base |    0.00 | 0.0016 |      48 B |        1.00 |
|         StaticMethod4_ByRefParams_int_string_struct_class | Job-CGDARJ | /runtime_ifbench/ | 393.68 ns | 0.745 ns | 0.622 ns | 393.76 ns | 392.60 ns | 394.67 ns |  1.00 |            Same |    0.00 | 0.0016 |      48 B |        1.00 |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|    StaticMethod5_ByRefParams_int_string_struct_class_bool | Job-RHXDLY |    /runtime_base/ | 606.72 ns | 1.346 ns | 1.193 ns | 606.54 ns | 604.31 ns | 608.99 ns |  1.00 |            Base |    0.00 | 0.0072 |     136 B |        1.00 |
|    StaticMethod5_ByRefParams_int_string_struct_class_bool | Job-CGDARJ | /runtime_ifbench/ | 560.27 ns | 1.588 ns | 1.407 ns | 560.30 ns | 557.86 ns | 563.25 ns |  0.92 |          Faster |    0.00 | 0.0067 |     136 B |        1.00 |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|                                            Ctor0_NoParams | Job-RHXDLY |    /runtime_base/ |  20.79 ns | 0.012 ns | 0.010 ns |  20.79 ns |  20.78 ns |  20.81 ns |  1.00 |            Base |    0.00 | 0.0033 |      56 B |        1.00 |
|                                            Ctor0_NoParams | Job-CGDARJ | /runtime_ifbench/ |  19.95 ns | 0.063 ns | 0.055 ns |  19.97 ns |  19.85 ns |  20.01 ns |  0.96 |          Faster |    0.00 | 0.0033 |      56 B |        1.00 |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|                    Ctor0_ActivatorCreateInstance_NoParams | Job-RHXDLY |    /runtime_base/ |  12.52 ns | 0.160 ns | 0.150 ns |  12.50 ns |  12.33 ns |  12.83 ns |  1.00 |            Base |    0.00 | 0.0033 |      56 B |        1.00 |
|                    Ctor0_ActivatorCreateInstance_NoParams | Job-CGDARJ | /runtime_ifbench/ |  13.76 ns | 0.022 ns | 0.019 ns |  13.76 ns |  13.74 ns |  13.80 ns |  1.10 |          Slower |    0.01 | 0.0033 |      56 B |        1.00 |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|                             Ctor4_int_string_struct_class | Job-RHXDLY |    /runtime_base/ |  92.41 ns | 1.021 ns | 0.955 ns |  92.94 ns |  90.98 ns |  93.29 ns |  1.00 |            Base |    0.00 | 0.0033 |      56 B |        1.00 |
|                             Ctor4_int_string_struct_class | Job-CGDARJ | /runtime_ifbench/ |  92.25 ns | 1.212 ns | 1.133 ns |  92.83 ns |  90.24 ns |  93.64 ns |  1.00 |            Same |    0.01 | 0.0030 |      56 B |        1.00 |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|                             Ctor4_ActivatorCreateInstance | Job-RHXDLY |    /runtime_base/ | 585.33 ns | 0.721 ns | 0.563 ns | 585.40 ns | 584.17 ns | 586.11 ns |  1.00 |            Base |    0.00 | 0.0223 |     416 B |        1.00 |
|                             Ctor4_ActivatorCreateInstance | Job-CGDARJ | /runtime_ifbench/ | 586.49 ns | 1.376 ns | 1.219 ns | 586.79 ns | 584.56 ns | 588.50 ns |  1.00 |            Same |    0.00 | 0.0231 |     416 B |        1.00 |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|                                          Property_Get_int | Job-RHXDLY |    /runtime_base/ |  27.08 ns | 0.035 ns | 0.030 ns |  27.08 ns |  27.02 ns |  27.13 ns |  1.00 |            Base |    0.00 | 0.0014 |      24 B |        1.00 |
|                                          Property_Get_int | Job-CGDARJ | /runtime_ifbench/ |  27.12 ns | 0.066 ns | 0.058 ns |  27.13 ns |  27.03 ns |  27.21 ns |  1.00 |            Same |    0.00 | 0.0014 |      24 B |        1.00 |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|                                        Property_Get_class | Job-RHXDLY |    /runtime_base/ |  25.00 ns | 0.477 ns | 0.490 ns |  25.10 ns |  24.05 ns |  25.75 ns |  1.00 |            Base |    0.00 |      - |         - |          NA |
|                                        Property_Get_class | Job-CGDARJ | /runtime_ifbench/ |  25.54 ns | 0.382 ns | 0.357 ns |  25.40 ns |  24.96 ns |  26.19 ns |  1.02 |            Same |    0.03 |      - |         - |          NA |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|                                          Property_Set_int | Job-RHXDLY |    /runtime_base/ |  53.02 ns | 0.048 ns | 0.040 ns |  53.02 ns |  52.98 ns |  53.12 ns |  1.00 |            Base |    0.00 | 0.0013 |      24 B |        1.00 |
|                                          Property_Set_int | Job-CGDARJ | /runtime_ifbench/ |  53.35 ns | 0.190 ns | 0.159 ns |  53.36 ns |  53.15 ns |  53.62 ns |  1.01 |            Same |    0.00 | 0.0013 |      24 B |        1.00 |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|                                        Property_Set_class | Job-RHXDLY |    /runtime_base/ |  47.51 ns | 0.068 ns | 0.053 ns |  47.53 ns |  47.35 ns |  47.56 ns |  1.00 |            Base |    0.00 |      - |         - |          NA |
|                                        Property_Set_class | Job-CGDARJ | /runtime_ifbench/ |  47.50 ns | 0.169 ns | 0.158 ns |  47.47 ns |  47.27 ns |  47.75 ns |  1.00 |            Same |    0.00 |      - |         - |          NA |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|                                             Field_Get_int | Job-RHXDLY |    /runtime_base/ |  87.95 ns | 0.293 ns | 0.260 ns |  87.96 ns |  87.40 ns |  88.24 ns |  1.00 |            Base |    0.00 | 0.0014 |      24 B |        1.00 |
|                                             Field_Get_int | Job-CGDARJ | /runtime_ifbench/ |  78.95 ns | 0.113 ns | 0.094 ns |  78.98 ns |  78.77 ns |  79.09 ns |  0.90 |          Faster |    0.00 | 0.0013 |      24 B |        1.00 |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|                                           Field_Get_class | Job-RHXDLY |    /runtime_base/ |  48.72 ns | 0.011 ns | 0.010 ns |  48.72 ns |  48.70 ns |  48.73 ns |  1.00 |            Base |    0.00 |      - |         - |          NA |
|                                           Field_Get_class | Job-CGDARJ | /runtime_ifbench/ |  48.76 ns | 0.011 ns | 0.010 ns |  48.75 ns |  48.74 ns |  48.77 ns |  1.00 |            Same |    0.00 |      - |         - |          NA |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|                                             Field_Set_int | Job-RHXDLY |    /runtime_base/ |  73.80 ns | 0.020 ns | 0.017 ns |  73.80 ns |  73.77 ns |  73.83 ns |  1.00 |            Base |    0.00 | 0.0012 |      24 B |        1.00 |
|                                             Field_Set_int | Job-CGDARJ | /runtime_ifbench/ |  72.02 ns | 0.297 ns | 0.264 ns |  72.05 ns |  71.58 ns |  72.45 ns |  0.98 |          Faster |    0.00 | 0.0012 |      24 B |        1.00 |
|                                                           |            |                   |           |          |          |           |           |           |       |                 |         |        |           |             |
|                                           Field_Set_class | Job-RHXDLY |    /runtime_base/ |  73.38 ns | 0.111 ns | 0.092 ns |  73.35 ns |  73.32 ns |  73.59 ns |  1.00 |            Base |    0.00 | 0.0012 |      24 B |        1.00 |
|                                           Field_Set_class | Job-CGDARJ | /runtime_ifbench/ |  71.61 ns | 0.218 ns | 0.182 ns |  71.50 ns |  71.45 ns |  71.93 ns |  0.98 |          Faster |    0.00 | 0.0014 |      24 B |        1.00 |

@a74nh
Copy link
Contributor Author

a74nh commented Jul 5, 2023

So, some things get faster, so thing get worse.
The worse was an outlier at 1.74, and the best one was 0.82.

It's not clear that one is obviously better than the other. I would be tempted to leave the code as it is.

@kunalspathak
Copy link
Member

Thanks @a74nh for checking.

I would be tempted to leave the code as it is.

You mean do not enable conditionals in loop?

@a74nh
Copy link
Contributor Author

a74nh commented Jul 6, 2023

Thanks @a74nh for checking.

I would be tempted to leave the code as it is.

You mean do not enable conditionals in loop?

Yes, unless anyone has strong opinions otherwise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants