master: ruby 4.1.0dev (2026-08-20T07:43:55Z master 2b0dfbe690) +PRISM [arm64-darwin25]
current: ruby 4.1.0dev (2026-08-20T10:15:26Z rstring-raw-ptr-ex.. df2697eafd) +PRISM [arm64-darwin25]
last_commit=test_embedded_middle_string_terminator: use an unfrozen source

harness:
---------------------  -------------  -------------  -------------  -------------  ---------------  --------------  ------------------
bench                    master (ms)      RSS (MiB)   current (ms)      RSS (MiB)  current 1st itr  master/current  RSS master/current
activerecord            147.4 ± 1.6%    73.6 ± 0.6%   148.6 ± 2.6%    76.6 ± 2.0%            1.010           0.992               0.961
chunky-png              517.2 ± 0.4%    72.9 ± 1.2%   500.6 ± 0.2%    70.9 ± 2.1%            1.038           1.033               1.029
erubi-rails             692.4 ± 1.0%   122.2 ± 0.7%   691.9 ± 1.0%   117.9 ± 1.2%            1.018           1.001               1.037
hexapdf                1282.1 ± 0.6%   426.9 ± 3.2%  1277.3 ± 0.3%   401.4 ± 3.3%            1.025           1.004               1.063
liquid-c                 30.8 ± 6.3%   79.7 ± 19.0%    30.8 ± 6.5%   78.4 ± 18.9%            0.787           1.000               1.016
liquid-compile           28.6 ± 6.3%    46.7 ± 6.4%    28.5 ± 5.1%    42.2 ± 6.3%            0.997           1.004               1.107
liquid-il               232.8 ± 0.8%    61.5 ± 3.7%   234.4 ± 0.8%    61.8 ± 3.7%            0.998           0.993               0.995
liquid-render            79.2 ± 2.3%   63.1 ± 10.9%    79.0 ± 1.8%    53.7 ± 7.6%            0.995           1.001               1.174
lobsters                481.1 ± 2.6%   381.2 ± 0.1%   482.4 ± 2.6%   376.1 ± 0.1%            1.049           0.997               1.014
mail                     69.0 ± 2.0%    75.1 ± 4.0%    68.7 ± 2.1%    74.2 ± 2.9%            1.065           1.005               1.012
psych-load             1261.0 ± 1.5%    38.0 ± 0.9%  1261.4 ± 1.6%    40.7 ± 8.1%            0.984           1.000               0.935
railsbench              926.9 ± 0.8%   167.6 ± 3.3%   924.0 ± 1.3%   167.6 ± 3.3%            0.984           1.003               1.000
rubocop                 103.1 ± 6.4%   106.9 ± 1.0%   101.9 ± 5.4%   106.9 ± 1.7%            1.011           1.012               1.000
ruby-lsp                 93.9 ± 1.8%    71.8 ± 0.1%    92.5 ± 1.8%    71.9 ± 0.3%            0.859           1.015               0.998
sequel                   31.0 ± 4.2%    57.2 ± 2.3%    31.0 ± 4.2%    57.6 ± 2.1%            0.902           0.997               0.995
shipit                  819.1 ± 1.6%   269.2 ± 5.7%   821.3 ± 1.5%   266.2 ± 5.6%            1.099           0.997               1.011
addressable-equality    353.9 ± 0.4%    42.1 ± 0.2%   356.2 ± 0.4%    47.2 ± 0.0%            1.006           0.994               0.892
addressable-getters      88.6 ± 1.1%    39.6 ± 1.5%    87.9 ± 1.2%    42.3 ± 0.7%            1.023           1.007               0.936
addressable-join        167.1 ± 0.8%    48.1 ± 3.3%   163.4 ± 0.7%    46.4 ± 0.9%            1.014           1.023               1.035
addressable-merge        91.6 ± 0.7%    36.6 ± 0.8%    91.4 ± 0.7%    38.7 ± 0.4%            1.073           1.002               0.946
addressable-new          43.0 ± 1.4%    33.8 ± 0.6%    42.4 ± 1.1%    34.1 ± 1.4%            1.022           1.014               0.991
addressable-normalize   199.8 ± 0.7%    40.8 ± 0.8%   197.9 ± 0.6%    44.2 ± 0.2%            1.008           1.010               0.924
addressable-parse       135.8 ± 0.7%    40.0 ± 1.3%   135.1 ± 0.8%    41.7 ± 0.7%            1.013           1.005               0.957
addressable-setters      78.1 ± 1.4%    38.8 ± 1.1%    78.0 ± 1.2%    42.2 ± 0.6%            1.030           1.002               0.918
addressable-to-s         89.0 ± 1.0%    40.0 ± 1.0%    88.5 ± 1.2%    42.5 ± 0.7%            1.018           1.005               0.942
binarytrees             222.5 ± 1.4%    23.5 ± 0.0%   221.6 ± 1.5%    23.6 ± 0.0%            1.004           1.004               0.996
blurhash                251.0 ± 0.3%    19.6 ± 0.3%   250.3 ± 0.3%    19.6 ± 0.2%            0.991           1.003               1.001
erubi                   122.4 ± 1.2%    54.1 ± 6.6%   124.0 ± 1.1%    55.2 ± 1.9%            0.806           0.987               0.979
etanni                  208.3 ± 0.5%    45.5 ± 0.2%   209.4 ± 0.4%    45.2 ± 0.1%            0.998           0.995               1.006
fannkuchredux           355.9 ± 0.4%    18.4 ± 0.1%   355.9 ± 0.3%    18.3 ± 0.1%            1.006           1.000               1.001
fluentd                 247.6 ± 1.4%  317.3 ± 13.1%   242.4 ± 1.9%  321.5 ± 14.4%            1.008           1.021               0.987
graphql                  39.2 ± 1.1%    35.7 ± 0.8%    39.1 ± 1.8%    35.7 ± 1.0%            1.013           1.002               1.001
graphql-native          171.8 ± 1.3%    42.3 ± 1.0%   171.5 ± 0.9%    43.4 ± 0.8%            0.940           1.002               0.973
knucleotide              27.5 ± 7.4%    22.2 ± 8.4%    26.9 ± 7.6%    22.3 ± 8.5%            1.035           1.025               0.996
lee                     516.4 ± 0.3%    42.5 ± 0.1%   514.5 ± 0.3%    42.6 ± 0.3%            0.943           1.004               0.997
matmul                  357.7 ± 0.2%    28.6 ± 0.0%   357.8 ± 0.3%    28.5 ± 0.0%            1.002           1.000               1.001
nbody                    63.9 ± 0.5%    18.7 ± 0.7%    63.8 ± 0.6%    18.7 ± 0.6%            1.000           1.001               0.997
nqueens                 162.2 ± 0.4%    18.6 ± 0.6%   162.4 ± 0.4%    18.7 ± 0.6%            0.999           0.999               0.994
optcarrot              3270.9 ± 0.7%    61.2 ± 0.0%  3279.3 ± 0.9%    61.4 ± 0.0%            1.000           0.997               0.998
protoboeuf              102.6 ± 0.8%    44.5 ± 0.7%   104.9 ± 0.7%    42.1 ± 0.1%            0.972           0.978               1.058
protoboeuf-encode        99.2 ± 1.5%   134.9 ± 3.1%    99.8 ± 1.4%   135.1 ± 3.1%            0.993           0.994               0.999
rack                     33.4 ± 4.9%  637.4 ± 48.6%    33.9 ± 4.7%  629.1 ± 48.7%            0.990           0.987               1.013
ruby-json               146.3 ± 0.5%    28.2 ± 1.5%   144.0 ± 0.5%    28.0 ± 2.1%            1.034           1.016               1.005
rubyboy                3096.0 ± 0.1%    38.0 ± 5.0%  3091.3 ± 0.1%    40.7 ± 2.6%            1.005           1.002               0.934
rubykon                 571.9 ± 1.3%  241.5 ± 12.2%   573.1 ± 1.3%  241.7 ± 12.1%            1.000           0.998               0.999
splay                   90.6 ± 63.8%  466.1 ± 17.1%   91.4 ± 62.6%  465.1 ± 16.8%            0.991           0.991               1.002
sudoku                  396.0 ± 0.2%    21.3 ± 0.1%   396.1 ± 0.3%    21.5 ± 0.1%            1.003           1.000               0.993
tinygql                 376.8 ± 0.3%    35.6 ± 0.3%   370.4 ± 0.3%    35.3 ± 0.3%            1.022           1.017               1.008
30k_ifelse              332.0 ± 1.0%   103.3 ± 0.0%   333.0 ± 1.0%   103.4 ± 0.0%            0.987           0.997               0.999
30k_methods             278.6 ± 0.7%    62.0 ± 0.0%   278.9 ± 0.7%    61.9 ± 0.0%            1.000           0.999               1.001
attr_accessor           127.5 ± 0.7%    18.5 ± 0.6%   127.2 ± 0.4%    18.6 ± 0.6%            1.030           1.003               0.991
cfunc_itself             60.5 ± 0.5%    18.6 ± 0.7%    60.3 ± 1.0%    18.6 ± 0.8%            1.003           1.003               0.997
fib                     162.7 ± 0.6%    18.4 ± 0.3%   162.1 ± 0.5%    18.4 ± 0.3%            1.014           1.004               1.002
getivar                  90.7 ± 0.6%    18.6 ± 0.6%    90.7 ± 0.5%    18.4 ± 0.7%            1.001           1.000               1.014
getivar-module          183.2 ± 0.4%    18.4 ± 0.3%   183.3 ± 0.6%    18.4 ± 0.3%            0.998           0.999               1.001
keyword_args            139.8 ± 0.3%    18.4 ± 0.5%   140.1 ± 0.4%    18.5 ± 0.5%            0.993           0.998               0.997
loops-times             693.2 ± 0.2%    19.9 ± 1.1%   697.8 ± 0.3%    20.0 ± 1.1%            0.995           0.993               0.995
object-new               36.4 ± 0.7%    23.3 ± 0.4%    37.7 ± 0.9%    23.3 ± 0.4%            0.960           0.966               1.004
object-new-initialize    73.7 ± 0.6%    22.8 ± 3.5%    74.4 ± 0.8%    22.7 ± 4.3%            0.992           0.991               1.001
object-new-no-escape    149.3 ± 0.5%    23.1 ± 0.0%   150.2 ± 0.6%    23.2 ± 0.0%            0.997           0.994               0.998
respond_to              153.2 ± 1.3%    18.5 ± 0.4%   154.8 ± 2.2%    18.5 ± 0.4%            0.996           0.990               0.997
ruby-xor                 84.9 ± 0.6%    22.5 ± 0.0%    86.1 ± 0.6%    22.5 ± 0.0%            0.988           0.986               0.999
send_bmethod            146.0 ± 0.4%    18.5 ± 0.5%   146.3 ± 0.6%    18.5 ± 0.5%            1.020           0.998               0.997
send_cfunc_block        173.0 ± 0.4%    18.4 ± 0.3%   173.1 ± 0.4%    18.5 ± 0.3%            0.999           1.000               0.997
send_rubyfunc_block      91.9 ± 0.6%    18.5 ± 0.6%    90.9 ± 0.6%    18.6 ± 0.6%            1.012           1.011               0.998
send_rubyfunc_inline    554.4 ± 0.2%    18.3 ± 0.0%   555.6 ± 0.3%    18.4 ± 0.0%            0.999           0.998               0.995
setivar                  60.3 ± 0.6%    18.6 ± 0.7%    60.4 ± 0.7%    18.6 ± 0.7%            1.000           1.000               0.998
setivar_object           66.1 ± 0.6%    18.6 ± 0.7%    65.6 ± 0.7%    18.5 ± 0.8%            1.009           1.008               1.004
setivar_young            65.8 ± 0.5%    18.6 ± 0.7%    65.6 ± 0.5%    18.5 ± 0.8%            1.001           1.003               1.006
str_concat               54.3 ± 0.9%  151.5 ± 10.1%    54.8 ± 0.9%  151.4 ± 10.2%            0.992           0.990               1.000
structaref              134.6 ± 0.8%    18.5 ± 0.5%   135.1 ± 0.6%    18.6 ± 0.5%            0.991           0.996               0.991
structaset              118.5 ± 0.7%    18.5 ± 0.6%   118.7 ± 0.8%    18.5 ± 0.6%            0.992           0.998               1.001
throw                    13.9 ± 1.2%    23.9 ± 1.6%    13.5 ± 1.2%    23.9 ± 1.8%            1.027           1.032               1.001
---------------------  -------------  -------------  -------------  -------------  ---------------  --------------  ------------------

harness-gc:
----------------------  -------------  -------------  -------------  -------------  ---------------  --------------  ------------------
bench                     master (ms)      RSS (MiB)   current (ms)      RSS (MiB)  current 1st itr  master/current  RSS master/current
gcbench                 1301.9 ± 0.2%    57.1 ± 0.1%  1301.7 ± 0.2%    57.1 ± 0.1%            0.993           1.000               0.999
string_malloc_pressure   520.2 ± 6.6%  8042.9 ± 0.3%   525.2 ± 0.9%  8052.6 ± 0.0%            0.585           0.990               0.999
----------------------  -------------  -------------  -------------  -------------  ---------------  --------------  ------------------

GC summary (harness-gc):
----------------------  ---------------  ----------------  -------------  --------------  -------------  ---------------  -------------
bench                   mark/iter ratio  sweep/iter ratio  mark/GC ratio  sweep/GC ratio     major/iter       minor/iter     minor GC %
gcbench                           0.985             1.003          0.985           1.003   0.0  →   0.0    54.0  →  54.0  100%  →  100%
string_malloc_pressure            1.004             1.006          0.982           0.984  38.4  →  37.7  152.7  →  149.2   80%  →   80%
----------------------  ---------------  ----------------  -------------  --------------  -------------  ---------------  -------------

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.
- RSS master/current: ratio of master/current RSS. Higher is better for current. Above 1 means lower memory usage.
- 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.
