Project

General

Profile

Feature #19315 » output_001.txt

himura467 (Akito Shitara), 08/21/2026 01:56 PM

 
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.
(2-2/2)