Project

General

Profile

Feature #22186 » output_002.txt

himura467 (Akito Shitara), 07/08/2026 01:56 AM

 
master: ruby 4.1.0dev (2026-07-02T09:24:35Z master 7c69f93d53) +PRISM [arm64-darwin25]
subseq-embed: ruby 4.1.0dev (2026-07-02T11:29:55Z str-subseq-embed-f.. e7c2d5062c) +PRISM [arm64-darwin25]
raw-ptr-reverted: ruby 4.1.0dev (2026-07-03T06:25:25Z rstring-raw-ptr-re.. 4bb015491d) +PRISM [arm64-darwin25]

--------------------- ------------- ----------------- --------------------- -------------------- ------------------------ ------------------- -----------------------
bench master (ms) subseq-embed (ms) raw-ptr-reverted (ms) subseq-embed 1st itr raw-ptr-reverted 1st itr master/subseq-embed master/raw-ptr-reverted
activerecord 147.8 ± 0.5% 151.5 ± 1.4% 148.7 ± 0.6% 0.925 0.996 0.976 0.994
chunky-png 498.7 ± 0.3% 510.5 ± 0.3% 492.5 ± 0.4% 0.978 1.015 0.977 1.013
erubi-rails 665.2 ± 1.2% 670.2 ± 2.0% 695.1 ± 1.1% 1.000 0.986 0.993 0.957
hexapdf 1238.7 ± 0.5% 1250.7 ± 0.1% 1243.0 ± 0.7% 1.002 1.001 0.990 0.996
liquid-c 30.6 ± 3.7% 29.9 ± 4.0% 31.0 ± 6.4% 1.018 0.984 1.024 0.988
liquid-compile 28.4 ± 4.3% 28.4 ± 5.4% 28.8 ± 0.9% 1.030 0.986 0.999 0.984
liquid-render 79.6 ± 2.1% 78.9 ± 2.3% 79.4 ± 2.1% 1.036 1.005 1.009 1.003
lobsters 474.9 ± 0.4% 471.6 ± 0.6% 473.6 ± 0.8% 0.980 0.977 1.007 1.003
mail 71.9 ± 20.2% 68.2 ± 1.5% 69.0 ± 1.7% 0.996 0.979 1.054 1.043
psych-load 1257.6 ± 0.5% 1244.7 ± 0.3% 1248.6 ± 0.3% 1.005 1.003 1.010 1.007
railsbench 914.2 ± 1.6% 895.5 ± 0.6% 902.5 ± 1.3% 1.013 0.974 1.021 1.013
rubocop 100.0 ± 5.5% 100.7 ± 6.1% 101.1 ± 5.8% 0.984 0.912 0.993 0.989
ruby-lsp 95.4 ± 2.3% 96.2 ± 1.3% 95.4 ± 2.7% 1.046 1.004 0.992 1.000
sequel 30.8 ± 3.7% 30.7 ± 3.8% 31.0 ± 3.6% 0.893 0.988 1.001 0.993
shipit 823.0 ± 0.8% 825.2 ± 0.3% 825.2 ± 1.1% 1.006 1.001 0.997 0.997
addressable-equality 353.8 ± 0.2% 358.0 ± 0.6% 353.3 ± 0.3% 0.983 1.004 0.988 1.001
addressable-getters 88.2 ± 0.7% 89.8 ± 1.5% 92.1 ± 0.7% 0.994 0.961 0.982 0.958
addressable-join 164.2 ± 0.4% 164.7 ± 0.6% 163.2 ± 0.6% 0.974 1.000 0.997 1.006
addressable-merge 90.8 ± 0.6% 92.2 ± 1.4% 90.7 ± 0.6% 0.977 0.980 0.985 1.001
addressable-new 42.6 ± 0.7% 42.6 ± 0.8% 42.4 ± 1.2% 0.966 0.967 1.000 1.005
addressable-normalize 199.1 ± 0.4% 200.1 ± 0.3% 199.3 ± 0.5% 0.995 0.975 0.995 0.999
addressable-parse 136.8 ± 0.6% 138.3 ± 0.7% 139.9 ± 0.4% 0.971 0.964 0.989 0.978
addressable-setters 78.3 ± 0.5% 78.1 ± 0.6% 77.9 ± 0.7% 0.983 0.984 1.002 1.005
addressable-to-s 89.1 ± 0.8% 90.0 ± 1.5% 92.8 ± 0.8% 1.000 0.964 0.990 0.960
binarytrees 223.7 ± 0.6% 225.6 ± 0.4% 226.3 ± 0.4% 0.988 0.984 0.991 0.988
blurhash 251.0 ± 0.4% 250.9 ± 0.3% 250.9 ± 0.3% 1.000 1.001 1.001 1.001
erubi 122.9 ± 0.5% 123.2 ± 0.5% 125.7 ± 0.6% 0.998 0.979 0.998 0.977
etanni 210.5 ± 0.7% 210.5 ± 0.5% 213.4 ± 0.5% 1.009 0.991 1.000 0.986
fannkuchredux 357.0 ± 0.4% 356.9 ± 0.2% 357.2 ± 0.4% 1.007 1.009 1.000 0.999
fluentd 256.9 ± 0.4% 207.2 ± 0.4% 255.6 ± 0.4% 1.041 1.017 1.240 1.005
gcbench 1308.4 ± 0.2% 1289.5 ± 0.2% 1291.0 ± 0.3% 1.015 1.016 1.015 1.013
graphql 40.8 ± 6.7% 39.2 ± 1.7% 39.4 ± 1.3% 0.931 0.988 1.041 1.035
graphql-native 171.9 ± 0.5% 175.0 ± 0.4% 174.4 ± 0.5% 1.035 1.042 0.982 0.986
knucleotide 27.8 ± 6.7% 27.7 ± 6.7% 27.7 ± 6.6% 1.129 1.057 1.003 1.003
lee 528.2 ± 0.4% 527.4 ± 0.3% 530.0 ± 0.2% 0.997 1.010 1.001 0.997
matmul 356.9 ± 0.2% 356.9 ± 0.3% 358.1 ± 0.4% 1.127 1.123 1.000 0.997
nbody 63.8 ± 0.5% 63.9 ± 0.6% 63.8 ± 0.5% 0.979 1.001 0.999 1.000
nqueens 162.3 ± 0.4% 162.6 ± 0.4% 162.5 ± 0.3% 0.998 0.999 0.998 0.999
optcarrot 3432.2 ± 0.6% 3431.3 ± 0.8% 3423.8 ± 0.7% 1.002 1.003 1.000 1.002
protoboeuf 102.4 ± 0.8% 102.2 ± 0.5% 105.0 ± 0.6% 1.002 0.969 1.002 0.976
protoboeuf-encode 99.2 ± 1.0% 99.3 ± 1.0% 99.7 ± 1.0% 0.997 0.972 0.999 0.995
rack 31.8 ± 4.6% 31.0 ± 3.3% 31.7 ± 4.6% 1.015 1.012 1.026 1.006
ruby-json 150.4 ± 0.6% 150.4 ± 0.5% 149.6 ± 0.5% 0.994 1.008 1.000 1.006
rubyboy 3122.1 ± 0.3% 3122.4 ± 0.1% 3112.5 ± 0.1% 0.997 1.001 1.000 1.003
rubykon 577.2 ± 1.3% 574.5 ± 1.4% 574.0 ± 1.5% 1.000 0.999 1.005 1.006
splay 90.8 ± 61.5% 89.6 ± 62.9% 91.9 ± 62.3% 1.002 1.005 1.013 0.988
sudoku 399.2 ± 0.3% 398.7 ± 0.3% 398.3 ± 0.2% 1.002 1.002 1.001 1.002
tinygql 378.6 ± 0.2% 378.5 ± 0.3% 379.8 ± 0.2% 1.002 0.994 1.000 0.997
30k_ifelse 337.0 ± 1.4% 341.8 ± 0.6% 342.2 ± 0.8% 0.971 0.974 0.986 0.985
30k_methods 286.7 ± 0.4% 289.6 ± 0.4% 286.3 ± 1.0% 1.004 1.015 0.990 1.001
attr_accessor 128.0 ± 0.4% 128.1 ± 0.6% 127.4 ± 0.4% 0.980 1.004 0.999 1.005
cfunc_itself 60.5 ± 0.7% 60.7 ± 0.6% 60.5 ± 0.6% 1.010 1.013 0.997 1.001
fib 162.2 ± 0.4% 161.7 ± 0.4% 162.0 ± 0.5% 1.003 1.003 1.004 1.001
getivar 90.8 ± 0.5% 90.7 ± 0.8% 90.6 ± 0.5% 0.999 1.002 1.001 1.002
getivar-module 180.6 ± 0.6% 180.2 ± 0.7% 181.7 ± 0.4% 0.992 0.986 1.002 0.994
keyword_args 137.2 ± 0.5% 137.4 ± 0.4% 136.1 ± 0.5% 0.998 1.009 0.999 1.008
loops-times 709.2 ± 0.2% 720.2 ± 0.2% 707.9 ± 0.2% 0.982 0.995 0.985 1.002
object-new 36.3 ± 1.0% 36.1 ± 0.8% 36.1 ± 0.9% 1.008 1.008 1.006 1.005
object-new-initialize 70.8 ± 0.7% 71.0 ± 0.7% 70.7 ± 0.7% 1.003 1.008 0.997 1.001
object-new-no-escape 140.0 ± 0.4% 139.7 ± 0.5% 140.5 ± 0.4% 1.003 0.998 1.002 0.996
respond_to 149.8 ± 0.5% 149.6 ± 0.4% 149.5 ± 0.3% 1.001 1.003 1.001 1.003
ruby-xor 84.6 ± 0.6% 84.3 ± 0.5% 84.5 ± 0.5% 1.003 0.999 1.004 1.002
send_bmethod 148.1 ± 0.4% 147.6 ± 0.5% 146.0 ± 0.4% 1.001 1.014 1.003 1.014
send_cfunc_block 192.1 ± 0.3% 191.7 ± 0.3% 191.9 ± 0.5% 0.998 0.998 1.002 1.001
send_rubyfunc_block 97.6 ± 0.6% 98.6 ± 0.4% 97.6 ± 0.5% 0.990 0.998 0.990 1.000
setivar 60.7 ± 0.8% 60.8 ± 0.6% 60.7 ± 0.6% 0.998 0.997 0.998 1.000
setivar_object 70.9 ± 2.5% 70.6 ± 2.5% 70.4 ± 2.6% 1.014 1.011 1.004 1.007
setivar_young 70.6 ± 2.1% 70.5 ± 2.4% 70.1 ± 2.3% 0.981 0.995 1.002 1.007
str_concat 55.2 ± 0.8% 55.4 ± 0.8% 55.8 ± 0.9% 0.987 0.982 0.998 0.990
structaref 130.7 ± 0.9% 130.2 ± 0.4% 132.3 ± 0.6% 1.001 0.984 1.004 0.988
structaset 119.1 ± 0.7% 118.9 ± 0.5% 142.8 ± 0.3% 1.001 0.819 1.002 0.834
throw 14.5 ± 1.4% 14.2 ± 1.6% 14.1 ± 1.4% 1.030 1.035 1.016 1.024
--------------------- ------------- ----------------- --------------------- -------------------- ------------------------ ------------------- -----------------------

GC summary:
------- ---------------- --------------- ---------------- ------------- -------------- ------------- ------------- -------------
bench comparison mark/iter ratio sweep/iter ratio mark/GC ratio sweep/GC ratio major/iter minor/iter minor GC %
gcbench subseq-embed 0.678 1.002 0.653 0.965 0.0 → 0.0 54.0 → 52.0 100% → 100%
gcbench raw-ptr-reverted 0.685 1.002 0.660 0.965 0.0 → 0.0 54.0 → 52.0 100% → 100%
------- ---------------- --------------- ---------------- ------------- -------------- ------------- ------------- -------------

Legend:
- subseq-embed 1st itr: ratio of master/subseq-embed time for the first benchmarking iteration.
- master/subseq-embed: ratio of master/subseq-embed time. Higher is better for subseq-embed. Above 1 represents a speedup.
- raw-ptr-reverted 1st itr: ratio of master/raw-ptr-reverted time for the first benchmarking iteration.
- master/raw-ptr-reverted: ratio of master/raw-ptr-reverted time. Higher is better for raw-ptr-reverted. 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.
(3-3/3)