master: ruby 4.1.0dev (2026-07-02T09:24:35Z master 7c69f93d53) +PRISM [arm64-darwin25]
current: ruby 4.1.0dev (2026-07-02T11:29:55Z str-subseq-embed-f.. e7c2d5062c) +PRISM [arm64-darwin25]

---------------------  -------------  -------------  ---------------  --------------
bench                    master (ms)   current (ms)  current 1st itr  master/current
activerecord            148.7 ± 0.7%   153.0 ± 3.0%            1.009           0.972
chunky-png              503.5 ± 0.3%   509.7 ± 0.3%            0.991           0.988
erubi-rails             668.3 ± 0.8%   671.4 ± 1.1%            0.988           0.995
hexapdf                1250.6 ± 0.2%  1246.7 ± 0.4%            0.999           1.003
liquid-c                 31.2 ± 6.3%    30.6 ± 3.7%            1.009           1.022
liquid-compile           28.8 ± 4.5%    28.6 ± 5.5%            1.000           1.007
liquid-render            80.3 ± 2.1%    79.8 ± 2.1%            1.011           1.006
lobsters                475.1 ± 0.6%   476.1 ± 0.7%            0.943           0.998
mail                     69.1 ± 1.6%    69.1 ± 1.4%            0.997           1.000
psych-load             1244.9 ± 0.2%  1291.4 ± 0.6%            0.986           0.964
railsbench              906.5 ± 1.3%   898.8 ± 0.7%            0.996           1.009
rubocop                 101.2 ± 6.0%   101.1 ± 5.6%            1.000           1.001
ruby-lsp                 96.8 ± 0.6%    96.3 ± 1.7%            1.041           1.006
sequel                   30.6 ± 3.6%    30.4 ± 3.7%            1.001           1.008
shipit                  829.7 ± 0.9%   828.6 ± 1.9%            1.010           1.001
addressable-equality    356.3 ± 0.3%   360.8 ± 0.7%            1.002           0.988
addressable-getters      88.0 ± 0.5%    88.9 ± 1.5%            0.996           0.990
addressable-join        166.0 ± 1.0%   165.0 ± 1.3%            1.011           1.006
addressable-merge        91.1 ± 0.8%    91.1 ± 0.7%            0.998           1.000
addressable-new          42.3 ± 0.7%    42.3 ± 0.7%            0.961           0.999
addressable-normalize   200.1 ± 0.4%   199.9 ± 0.4%            0.981           1.001
addressable-parse       135.8 ± 0.5%   136.8 ± 0.7%            0.992           0.993
addressable-setters      78.5 ± 0.7%    77.7 ± 0.6%            0.989           1.010
addressable-to-s         88.1 ± 0.6%    88.7 ± 0.6%            1.028           0.993
binarytrees             225.7 ± 0.5%   226.6 ± 0.4%            0.995           0.996
blurhash                251.3 ± 0.3%   250.7 ± 0.2%            1.002           1.002
erubi                   122.8 ± 0.5%   123.8 ± 0.4%            0.991           0.991
etanni                  211.4 ± 0.6%   211.0 ± 0.5%            1.000           1.002
fannkuchredux           357.4 ± 0.3%   357.6 ± 0.3%            0.998           1.000
fluentd                 258.6 ± 0.4%   230.8 ± 4.3%            1.044           1.120
gcbench                1295.6 ± 0.3%  1294.7 ± 0.4%            1.004           1.001
graphql                  39.6 ± 1.0%    39.9 ± 0.8%            1.004           0.993
graphql-native          172.0 ± 0.4%   174.9 ± 0.5%            1.034           0.983
knucleotide              28.3 ± 6.6%    28.1 ± 7.1%            1.020           1.005
lee                     527.0 ± 0.3%   528.6 ± 0.2%            0.995           0.997
matmul                  358.4 ± 0.3%   357.9 ± 0.2%            1.009           1.001
nbody                    64.1 ± 0.5%    64.2 ± 0.8%            1.000           0.999
nqueens                 162.8 ± 0.3%   163.3 ± 0.4%            0.998           0.997
optcarrot              3440.1 ± 0.7%  3432.0 ± 0.7%            1.002           1.002
protoboeuf              103.1 ± 0.5%   103.0 ± 0.5%            1.003           1.001
protoboeuf-encode        99.5 ± 1.0%    99.9 ± 1.0%            0.999           0.997
rack                     32.2 ± 4.4%    31.9 ± 3.4%            0.996           1.009
ruby-json               154.1 ± 0.4%   150.2 ± 0.4%            1.033           1.026
rubyboy                3123.6 ± 0.1%  3128.1 ± 0.1%            0.998           0.999
rubykon                 574.9 ± 1.3%   574.8 ± 1.4%            0.997           1.000
splay                   91.0 ± 64.1%   90.4 ± 60.5%            1.007           1.006
sudoku                  398.8 ± 0.3%   398.6 ± 0.2%            1.007           1.000
tinygql                 385.9 ± 0.5%   380.1 ± 0.3%            1.020           1.015
30k_ifelse              330.2 ± 0.9%   332.4 ± 0.6%            1.006           0.993
30k_methods             281.0 ± 0.6%   280.3 ± 0.8%            0.994           1.003
attr_accessor           127.9 ± 0.7%   127.9 ± 0.5%            1.002           1.000
cfunc_itself             60.8 ± 0.5%    60.6 ± 0.7%            1.005           1.002
fib                     162.3 ± 0.4%   162.7 ± 0.5%            0.991           0.998
getivar                  90.8 ± 0.5%    90.7 ± 0.8%            1.000           1.001
getivar-module          180.7 ± 0.5%   180.7 ± 0.5%            1.003           1.000
keyword_args            138.0 ± 0.5%   138.0 ± 0.5%            1.000           1.000
loops-times             714.2 ± 0.2%   714.5 ± 0.2%            0.998           1.000
object-new               36.3 ± 0.9%    36.2 ± 1.0%            1.001           1.003
object-new-initialize    71.0 ± 0.7%    71.3 ± 0.6%            0.997           0.996
object-new-no-escape    141.3 ± 0.9%   141.0 ± 0.4%            1.003           1.003
respond_to              149.7 ± 0.5%   150.0 ± 0.5%            0.998           0.997
ruby-xor                 85.1 ± 0.5%    84.9 ± 0.6%            1.000           1.002
send_bmethod            146.1 ± 0.4%   146.9 ± 1.3%            0.998           0.995
send_cfunc_block        191.2 ± 0.4%   190.9 ± 0.3%            0.999           1.001
send_rubyfunc_block      98.3 ± 0.5%    97.0 ± 0.5%            1.016           1.014
setivar                  60.7 ± 0.8%    60.6 ± 1.0%            1.006           1.003
setivar_object           70.7 ± 2.5%    70.4 ± 2.2%            1.003           1.003
setivar_young            70.7 ± 2.3%    70.9 ± 2.3%            1.068           0.997
str_concat               55.4 ± 1.0%    55.2 ± 1.0%            1.004           1.003
structaref              130.6 ± 0.6%   130.4 ± 0.6%            0.995           1.002
structaset              119.2 ± 0.7%   118.9 ± 0.7%            1.002           1.003
throw                    14.3 ± 1.4%    14.3 ± 1.4%            1.007           1.003
---------------------  -------------  -------------  ---------------  --------------

GC summary:
-------  ---------------  ----------------  -------------  --------------  -------------  -------------  -------------
bench    mark/iter ratio  sweep/iter ratio  mark/GC ratio  sweep/GC ratio     major/iter     minor/iter     minor GC %
gcbench            0.659             0.996          0.635           0.959   0.0  →   0.0  54.0  →  52.0  100%  →  100%
-------  ---------------  ----------------  -------------  --------------  -------------  -------------  -------------

Legend:
- current 1st itr: ratio of master/current time for the first benchmarking iteration.
- master/current: ratio of master/current time. Higher is better for current. Above 1 represents a speedup.
- GC summary compares master → comparison. Ratio columns are master/comparison; above 1 means the comparison spent less GC time.
- mark/iter ratio and sweep/iter ratio compare total GC phase time per benchmark iteration, so they include both per-GC cost and GC frequency changes.
- mark/GC ratio and sweep/GC ratio compare average phase time per GC, isolating whether each GC became cheaper or more expensive.
- major/iter, minor/iter, and minor GC % show master → comparison values, not ratios. Rows with no GC activity are omitted.
