Skip to content

Add 30k_variables benchmark - #529

Merged
k0kubun merged 1 commit into
ruby:mainfrom
k0kubun:30k-variables
Aug 29, 2026
Merged

Add 30k_variables benchmark#529
k0kubun merged 1 commit into
ruby:mainfrom
k0kubun:30k-variables

Conversation

@k0kubun

@k0kubun k0kubun commented Aug 28, 2026

Copy link
Copy Markdown
Member

This PR adds a synthetic benchmark that evaluates the performance of local variables.

cruby: ruby 4.1.0dev (2026-08-28T19:04:48Z master 90e729c9bc) +PRISM [x86_64-linux]
yjit: ruby 4.1.0dev (2026-08-28T19:04:48Z master 90e729c9bc) +YJIT +PRISM [x86_64-linux]
zjit: ruby 4.1.0dev (2026-08-28T19:04:48Z master 90e729c9bc) +ZJIT +PRISM [x86_64-linux]
jruby: jruby 10.1.1.0 (4.0.0) 2026-07-22 aaa95d57e1 OpenJDK 64-Bit Server VM 21.0.12+8-1-24.04-Ubuntu on 21.0.12+8-1-24.04-Ubuntu +indy +jit [x86_64-linux]
truffleruby: truffleruby 34.0.1 (2026-04-26), like ruby 3.4.9, Oracle GraalVM JVM [x86_64-linux]

-------------  ------------  ------------  ----------  ------------  ----------------  ----------  ----------  -----------  -----------------
bench            cruby (ms)     yjit (ms)   zjit (ms)    jruby (ms)  truffleruby (ms)  cruby/yjit  cruby/zjit  cruby/jruby  cruby/truffleruby
30k_variables  641.6 ± 0.2%  392.0 ± 1.9%  6.1 ± 0.1%  249.3 ± 1.7%       7.3 ± 14.6%       1.637     104.454        2.573             87.395
-------------  ------------  ------------  ----------  ------------  ----------------  ----------  ----------  -----------  -----------------
Full output
$ ./run_benchmarks.rb 30k_variables --harness=warmup --chruby 'cruby::after;yjit::after --yjit;zjit::after --zjit;jruby::jruby-10.1.1.0 -Xcompile.invokedynamic=true -J-XX:+UseParallelGC;truffleruby::truffleruby-graalvm-34.0.1 --jvm'
Running benchmark "30k_variables" (1/1)
+ setarch x86_64 -R taskset -c 9 /opt/rubies/after/bin/ruby -I harness-warmup /home/k0kubun/src/github.com/ruby/ruby-bench/benchmarks/30k_variables.rb
ruby 4.1.0dev (2026-08-28T19:04:48Z master 90e729c9bc) +PRISM [x86_64-linux]
iter #  1: 646ms, mad=0.0000/0.0000, median=646ms
iter #  2: 645ms, mad=0.0011/0.0000, median=645ms
iter #  3: 644ms, mad=0.0011/0.0000, median=645ms
iter #  4: 644ms, mad=0.0006/0.0000, median=644ms
iter #  5: 644ms, mad=0.0005/0.0000, median=644ms
iter #  6: 640ms, mad=0.0007/0.0000, median=644ms
iter #  7: 641ms, mad=0.0011/0.0000, median=644ms
iter #  8: 642ms, mad=0.0020/0.0000, median=644ms
iter #  9: 645ms, mad=0.0011/0.0000, median=644ms
iter # 10: 640ms, mad=0.0020/0.0010, median=644ms
iter # 11: 644ms, mad=0.0011/0.0011, median=644ms
iter # 12: 642ms, mad=0.0018/0.0012, median=644ms
iter # 13: 644ms, mad=0.0013/0.0013, median=644ms
iter # 14: 640ms, mad=0.0018/0.0014, median=644ms
iter # 15: 640ms, mad=0.0018/0.0015, median=644ms
iter # 16: 641ms, mad=0.0025/0.0016, median=643ms
iter # 17: 643ms, mad=0.0026/0.0017, median=643ms
iter # 18: 643ms, mad=0.0024/0.0018, median=643ms
iter # 19: 642ms, mad=0.0024/0.0019, median=643ms
iter # 20: 640ms, mad=0.0025/0.0020, median=642ms
iter # 21: 641ms, mad=0.0026/0.0021, median=642ms
iter # 22: 637ms, mad=0.0028/0.0022, median=642ms
iter # 23: 640ms, mad=0.0028/0.0023, median=642ms
iter # 24: 643ms, mad=0.0028/0.0024, median=642ms
iter # 25: 640ms, mad=0.0028/0.0025, median=642ms
iter # 26: 643ms, mad=0.0028/0.0026, median=642ms
iter # 27: 642ms, mad=0.0026/0.0027, median=642ms
RSS: 25.0MiB
MAXRSS: 36.9MiB
RSS sampled (n=14): median 25.1MiB ± 0.0MiB (MAD), range [25.1, 25.1]MiB
Benchmarking took 0 minutes 17 seconds
Statistics for the second half of iterations (considered warmed up):
median: 641ms +/- 1.252ms (0.20%) (median absolute deviation)
mean:   641ms +/- 1.576ms (0.25%) (standard deviation)
range: [637-643]ms
Running benchmark "30k_variables" (1/1)
+ setarch x86_64 -R taskset -c 9 /opt/rubies/after/bin/ruby --yjit -I harness-warmup /home/k0kubun/src/github.com/ruby/ruby-bench/benchmarks/30k_variables.rb
ruby 4.1.0dev (2026-08-28T19:04:48Z master 90e729c9bc) +YJIT +PRISM [x86_64-linux]
iter #  1: 3603ms, mad=0.0000/0.0000, median=3603ms
iter #  2: 391ms, mad=0.8041/0.0000, median=1997ms
iter #  3: 389ms, mad=0.0036/0.0000, median=391ms
iter #  4: 389ms, mad=0.0020/0.0000, median=390ms
iter #  5: 388ms, mad=0.0036/0.0000, median=389ms
iter #  6: 388ms, mad=0.0030/0.0000, median=389ms
iter #  7: 387ms, mad=0.0032/0.0000, median=389ms
iter #  8: 387ms, mad=0.0027/0.0000, median=389ms
iter #  9: 393ms, mad=0.0040/0.0000, median=389ms
iter # 10: 392ms, mad=0.0043/0.0010, median=389ms
iter # 11: 390ms, mad=0.0036/0.0011, median=389ms
iter # 12: 390ms, mad=0.0038/0.0012, median=390ms
iter # 13: 390ms, mad=0.0041/0.0013, median=390ms
iter # 14: 390ms, mad=0.0032/0.0014, median=390ms
iter # 15: 390ms, mad=0.0023/0.0015, median=390ms
iter # 16: 391ms, mad=0.0028/0.0016, median=390ms
iter # 17: 392ms, mad=0.0033/0.0017, median=390ms
iter # 18: 390ms, mad=0.0026/0.0018, median=390ms
iter # 19: 389ms, mad=0.0023/0.0019, median=390ms
iter # 20: 389ms, mad=0.0025/0.0020, median=390ms
iter # 21: 388ms, mad=0.0026/0.0021, median=390ms
iter # 22: 388ms, mad=0.0031/0.0022, median=390ms
iter # 23: 388ms, mad=0.0034/0.0023, median=390ms
iter # 24: 388ms, mad=0.0032/0.0024, median=389ms
iter # 25: 392ms, mad=0.0034/0.0025, median=390ms
iter # 26: 391ms, mad=0.0035/0.0026, median=390ms
iter # 27: 391ms, mad=0.0033/0.0027, median=390ms
iter # 28: 389ms, mad=0.0030/0.0028, median=390ms
iter # 29: 388ms, mad=0.0029/0.0029, median=390ms
iter # 30: 421ms, mad=0.0033/0.0030, median=390ms
iter # 31: 389ms, mad=0.0029/0.0031, median=390ms
YJIT stats:
inline_code_size:     2,676,722
outlined_code_size:  23,605,516
code_region_size:    54,951,936
yjit_alloc_size:     59,747,357
compile_time          3214.80ms
RSS: 161.4MiB
MAXRSS: 161.6MiB
RSS sampled (n=16): median 159.9MiB ± 0.0MiB (MAD), range [159.9, 161.6]MiB
Benchmarking took 0 minutes 15 seconds
Statistics for the second half of iterations (considered warmed up):
median: 389ms +/- 1.229ms (0.32%) (median absolute deviation)
mean:   392ms +/- 7.633ms (1.95%) (standard deviation)
range: [388-421]ms
Running benchmark "30k_variables" (1/1)
+ setarch x86_64 -R taskset -c 9 /opt/rubies/after/bin/ruby --zjit -I harness-warmup /home/k0kubun/src/github.com/ruby/ruby-bench/benchmarks/30k_variables.rb
ruby 4.1.0dev (2026-08-28T19:04:48Z master 90e729c9bc) +ZJIT +PRISM [x86_64-linux]
iter #  1: 550ms, mad=0.0000/0.0000, median=550ms
iter #  2: 39ms, mad=0.8654/0.0000, median=295ms
iter #  3: 39ms, mad=0.0080/0.0000, median=39ms
iter #  4: 39ms, mad=0.0041/0.0000, median=39ms
iter #  5: 39ms, mad=0.0035/0.0000, median=39ms
iter #  6: 39ms, mad=0.0018/0.0000, median=39ms
iter #  7: 39ms, mad=0.0035/0.0000, median=39ms
iter #  8: 39ms, mad=0.0018/0.0000, median=39ms
iter #  9: 39ms, mad=0.0035/0.0000, median=39ms
iter # 10: 39ms, mad=0.0028/0.0010, median=39ms
iter # 11: 39ms, mad=0.0022/0.0011, median=39ms
iter # 12: 39ms, mad=0.0037/0.0012, median=39ms
iter # 13: 39ms, mad=0.0045/0.0013, median=39ms
iter # 14: 39ms, mad=0.0029/0.0014, median=39ms
iter # 15: 39ms, mad=0.0034/0.0015, median=39ms
iter # 16: 39ms, mad=0.0035/0.0016, median=39ms
iter # 17: 39ms, mad=0.0034/0.0017, median=39ms
iter # 18: 39ms, mad=0.0029/0.0018, median=39ms
iter # 19: 39ms, mad=0.0022/0.0019, median=39ms
iter # 20: 39ms, mad=0.0028/0.0020, median=39ms
iter # 21: 39ms, mad=0.0022/0.0021, median=39ms
iter # 22: 39ms, mad=0.0022/0.0022, median=39ms
iter # 23: 39ms, mad=0.0022/0.0023, median=39ms
iter # 24: 39ms, mad=0.0027/0.0024, median=39ms
iter # 25: 40ms, mad=0.0022/0.0025, median=39ms
iter # 26: 39ms, mad=0.0023/0.0026, median=39ms
iter # 27: 39ms, mad=0.0024/0.0027, median=39ms
iter # 28: 39ms, mad=0.0027/0.0028, median=39ms
iter # 29: 39ms, mad=0.0022/0.0029, median=39ms
iter # 30: 41ms, mad=0.0027/0.0030, median=39ms
iter # 31: 6ms, mad=0.0025/0.0031, median=39ms
iter # 32: 6ms, mad=0.0027/0.0032, median=39ms
iter # 33: 6ms, mad=0.0030/0.0033, median=39ms
iter # 34: 6ms, mad=0.0032/0.0034, median=39ms
iter # 35: 6ms, mad=0.0035/0.0035, median=39ms
iter # 36: 6ms, mad=0.0036/0.0036, median=39ms
iter # 37: 6ms, mad=0.0036/0.0037, median=39ms
iter # 38: 6ms, mad=0.0039/0.0038, median=39ms
iter # 39: 6ms, mad=0.0041/0.0039, median=39ms
iter # 40: 6ms, mad=0.0042/0.0040, median=39ms
iter # 41: 6ms, mad=0.0045/0.0041, median=39ms
iter # 42: 6ms, mad=0.0050/0.0042, median=39ms
iter # 43: 6ms, mad=0.0055/0.0043, median=39ms
iter # 44: 6ms, mad=0.0056/0.0044, median=39ms
iter # 45: 6ms, mad=0.0059/0.0045, median=39ms
iter # 46: 6ms, mad=0.0075/0.0046, median=39ms
iter # 47: 6ms, mad=0.0092/0.0047, median=39ms
iter # 48: 6ms, mad=0.0095/0.0048, median=39ms
iter # 49: 6ms, mad=0.0097/0.0049, median=39ms
iter # 50: 6ms, mad=0.0098/0.0050, median=39ms
iter # 51: 6ms, mad=0.0100/0.0051, median=39ms
iter # 52: 6ms, mad=0.0112/0.0052, median=39ms
iter # 53: 6ms, mad=0.0124/0.0053, median=39ms
iter # 54: 6ms, mad=0.0253/0.0054, median=39ms
iter # 55: 6ms, mad=0.0382/0.0055, median=39ms
iter # 56: 6ms, mad=0.0415/0.0056, median=39ms
iter # 57: 6ms, mad=0.0448/0.0057, median=39ms
iter # 58: 6ms, mad=0.4442/0.0058, median=39ms
iter # 59: 6ms, mad=0.8404/0.0059, median=39ms
iter # 60: 6ms, mad=0.7293/0.0060, median=22ms
iter # 61: 6ms, mad=0.0173/0.0061, median=6ms
iter # 62: 6ms, mad=0.0122/0.0062, median=6ms
iter # 63: 6ms, mad=0.0075/0.0063, median=6ms
iter # 64: 6ms, mad=0.0063/0.0064, median=6ms
iter # 65: 6ms, mad=0.0051/0.0065, median=6ms
iter # 66: 6ms, mad=0.0044/0.0066, median=6ms
iter # 67: 6ms, mad=0.0040/0.0067, median=6ms
iter # 68: 6ms, mad=0.0038/0.0068, median=6ms
iter # 69: 6ms, mad=0.0039/0.0069, median=6ms
iter # 70: 6ms, mad=0.0037/0.0070, median=6ms
iter # 71: 6ms, mad=0.0035/0.0071, median=6ms
iter # 72: 6ms, mad=0.0035/0.0072, median=6ms
iter # 73: 6ms, mad=0.0036/0.0073, median=6ms
iter # 74: 6ms, mad=0.0034/0.0074, median=6ms
iter # 75: 6ms, mad=0.0033/0.0075, median=6ms
iter # 76: 6ms, mad=0.0031/0.0076, median=6ms
iter # 77: 6ms, mad=0.0028/0.0077, median=6ms
iter # 78: 6ms, mad=0.0028/0.0078, median=6ms
iter # 79: 6ms, mad=0.0028/0.0079, median=6ms
iter # 80: 6ms, mad=0.0027/0.0080, median=6ms
iter # 81: 6ms, mad=0.0026/0.0081, median=6ms
iter # 82: 6ms, mad=0.0025/0.0082, median=6ms
iter # 83: 6ms, mad=0.0025/0.0083, median=6ms
iter # 84: 6ms, mad=0.0025/0.0084, median=6ms
iter # 85: 6ms, mad=0.0025/0.0085, median=6ms
iter # 86: 6ms, mad=0.0025/0.0086, median=6ms
iter # 87: 6ms, mad=0.0024/0.0087, median=6ms
iter # 88: 6ms, mad=0.0024/0.0088, median=6ms
iter # 89: 6ms, mad=0.0023/0.0089, median=6ms
iter # 90: 6ms, mad=0.0024/0.0090, median=6ms
iter # 91: 6ms, mad=0.0023/0.0091, median=6ms
iter # 92: 6ms, mad=0.0023/0.0092, median=6ms
iter # 93: 6ms, mad=0.0023/0.0093, median=6ms
iter # 94: 6ms, mad=0.0022/0.0094, median=6ms
iter # 95: 6ms, mad=0.0022/0.0095, median=6ms
iter # 96: 6ms, mad=0.0022/0.0096, median=6ms
iter # 97: 6ms, mad=0.0022/0.0097, median=6ms
iter # 98: 6ms, mad=0.0022/0.0098, median=6ms
iter # 99: 6ms, mad=0.0022/0.0099, median=6ms
iter #100: 6ms, mad=0.0021/0.0100, median=6ms
iter #101: 6ms, mad=0.0021/0.0101, median=6ms
iter #102: 6ms, mad=0.0020/0.0102, median=6ms
iter #103: 6ms, mad=0.0020/0.0103, median=6ms
iter #104: 6ms, mad=0.0020/0.0104, median=6ms
iter #105: 6ms, mad=0.0020/0.0105, median=6ms
iter #106: 6ms, mad=0.0020/0.0106, median=6ms
iter #107: 6ms, mad=0.0020/0.0107, median=6ms
iter #108: 6ms, mad=0.0019/0.0108, median=6ms
iter #109: 6ms, mad=0.0018/0.0109, median=6ms
iter #110: 6ms, mad=0.0019/0.0110, median=6ms
iter #111: 6ms, mad=0.0018/0.0111, median=6ms
iter #112: 6ms, mad=0.0018/0.0112, median=6ms
iter #113: 6ms, mad=0.0018/0.0113, median=6ms
iter #114: 6ms, mad=0.0017/0.0114, median=6ms
iter #115: 6ms, mad=0.0017/0.0115, median=6ms
iter #116: 6ms, mad=0.0017/0.0116, median=6ms
iter #117: 6ms, mad=0.0017/0.0117, median=6ms
iter #118: 6ms, mad=0.0017/0.0118, median=6ms
iter #119: 6ms, mad=0.0017/0.0119, median=6ms
iter #120: 6ms, mad=0.0017/0.0120, median=6ms
iter #121: 6ms, mad=0.0017/0.0121, median=6ms
iter #122: 6ms, mad=0.0016/0.0122, median=6ms
iter #123: 6ms, mad=0.0016/0.0123, median=6ms
iter #124: 6ms, mad=0.0016/0.0124, median=6ms
iter #125: 6ms, mad=0.0016/0.0125, median=6ms
iter #126: 6ms, mad=0.0016/0.0126, median=6ms
iter #127: 6ms, mad=0.0016/0.0127, median=6ms
iter #128: 6ms, mad=0.0014/0.0128, median=6ms
iter #129: 6ms, mad=0.0015/0.0129, median=6ms
iter #130: 6ms, mad=0.0014/0.0130, median=6ms
iter #131: 6ms, mad=0.0014/0.0131, median=6ms
iter #132: 6ms, mad=0.0013/0.0132, median=6ms
iter #133: 6ms, mad=0.0014/0.0133, median=6ms
iter #134: 6ms, mad=0.0014/0.0134, median=6ms
iter #135: 6ms, mad=0.0014/0.0135, median=6ms
iter #136: 6ms, mad=0.0013/0.0136, median=6ms
iter #137: 6ms, mad=0.0014/0.0137, median=6ms
iter #138: 6ms, mad=0.0013/0.0138, median=6ms
iter #139: 6ms, mad=0.0013/0.0139, median=6ms
iter #140: 6ms, mad=0.0013/0.0140, median=6ms
iter #141: 6ms, mad=0.0013/0.0141, median=6ms
iter #142: 6ms, mad=0.0013/0.0142, median=6ms
iter #143: 6ms, mad=0.0013/0.0143, median=6ms
iter #144: 6ms, mad=0.0013/0.0144, median=6ms
iter #145: 6ms, mad=0.0013/0.0145, median=6ms
iter #146: 6ms, mad=0.0013/0.0146, median=6ms
iter #147: 6ms, mad=0.0013/0.0147, median=6ms
iter #148: 6ms, mad=0.0013/0.0148, median=6ms
iter #149: 6ms, mad=0.0013/0.0149, median=6ms
iter #150: 6ms, mad=0.0013/0.0150, median=6ms
iter #151: 6ms, mad=0.0013/0.0151, median=6ms
iter #152: 6ms, mad=0.0013/0.0152, median=6ms
iter #153: 6ms, mad=0.0013/0.0153, median=6ms
iter #154: 6ms, mad=0.0013/0.0154, median=6ms
iter #155: 6ms, mad=0.0013/0.0155, median=6ms
iter #156: 6ms, mad=0.0013/0.0156, median=6ms
iter #157: 6ms, mad=0.0013/0.0157, median=6ms
iter #158: 6ms, mad=0.0013/0.0158, median=6ms
iter #159: 6ms, mad=0.0013/0.0159, median=6ms
iter #160: 6ms, mad=0.0013/0.0160, median=6ms
iter #161: 6ms, mad=0.0013/0.0161, median=6ms
iter #162: 6ms, mad=0.0013/0.0162, median=6ms
iter #163: 6ms, mad=0.0013/0.0163, median=6ms
iter #164: 6ms, mad=0.0013/0.0164, median=6ms
iter #165: 6ms, mad=0.0013/0.0165, median=6ms
iter #166: 6ms, mad=0.0013/0.0166, median=6ms
iter #167: 6ms, mad=0.0013/0.0167, median=6ms
iter #168: 6ms, mad=0.0012/0.0168, median=6ms
iter #169: 6ms, mad=0.0012/0.0169, median=6ms
iter #170: 6ms, mad=0.0012/0.0170, median=6ms
iter #171: 6ms, mad=0.0012/0.0171, median=6ms
iter #172: 6ms, mad=0.0012/0.0172, median=6ms
iter #173: 6ms, mad=0.0012/0.0173, median=6ms
iter #174: 6ms, mad=0.0012/0.0174, median=6ms
iter #175: 6ms, mad=0.0013/0.0175, median=6ms
iter #176: 6ms, mad=0.0012/0.0176, median=6ms
iter #177: 6ms, mad=0.0012/0.0177, median=6ms
iter #178: 6ms, mad=0.0012/0.0178, median=6ms
iter #179: 6ms, mad=0.0012/0.0179, median=6ms
iter #180: 6ms, mad=0.0012/0.0180, median=6ms
iter #181: 6ms, mad=0.0012/0.0181, median=6ms
iter #182: 6ms, mad=0.0012/0.0182, median=6ms
iter #183: 6ms, mad=0.0012/0.0183, median=6ms
iter #184: 6ms, mad=0.0012/0.0184, median=6ms
iter #185: 6ms, mad=0.0012/0.0185, median=6ms
iter #186: 6ms, mad=0.0012/0.0186, median=6ms
iter #187: 6ms, mad=0.0012/0.0187, median=6ms
iter #188: 6ms, mad=0.0012/0.0188, median=6ms
iter #189: 6ms, mad=0.0012/0.0189, median=6ms
iter #190: 6ms, mad=0.0012/0.0190, median=6ms
iter #191: 6ms, mad=0.0013/0.0191, median=6ms
iter #192: 6ms, mad=0.0012/0.0192, median=6ms
iter #193: 6ms, mad=0.0013/0.0193, median=6ms
iter #194: 6ms, mad=0.0012/0.0194, median=6ms
iter #195: 6ms, mad=0.0012/0.0195, median=6ms
iter #196: 6ms, mad=0.0012/0.0196, median=6ms
iter #197: 6ms, mad=0.0012/0.0197, median=6ms
iter #198: 6ms, mad=0.0012/0.0198, median=6ms
iter #199: 6ms, mad=0.0012/0.0199, median=6ms
iter #200: 6ms, mad=0.0012/0.0200, median=6ms
iter #201: 6ms, mad=0.0012/0.0201, median=6ms
iter #202: 6ms, mad=0.0012/0.0202, median=6ms
iter #203: 6ms, mad=0.0012/0.0203, median=6ms
iter #204: 6ms, mad=0.0012/0.0204, median=6ms
iter #205: 6ms, mad=0.0012/0.0205, median=6ms
iter #206: 6ms, mad=0.0012/0.0206, median=6ms
iter #207: 6ms, mad=0.0012/0.0207, median=6ms
iter #208: 6ms, mad=0.0012/0.0208, median=6ms
iter #209: 6ms, mad=0.0012/0.0209, median=6ms
iter #210: 6ms, mad=0.0012/0.0210, median=6ms
iter #211: 6ms, mad=0.0012/0.0211, median=6ms
iter #212: 6ms, mad=0.0012/0.0212, median=6ms
iter #213: 6ms, mad=0.0012/0.0213, median=6ms
iter #214: 6ms, mad=0.0012/0.0214, median=6ms
iter #215: 6ms, mad=0.0012/0.0215, median=6ms
iter #216: 6ms, mad=0.0012/0.0216, median=6ms
iter #217: 6ms, mad=0.0012/0.0217, median=6ms
iter #218: 6ms, mad=0.0012/0.0218, median=6ms
iter #219: 6ms, mad=0.0012/0.0219, median=6ms
iter #220: 6ms, mad=0.0012/0.0220, median=6ms
iter #221: 6ms, mad=0.0012/0.0221, median=6ms
iter #222: 6ms, mad=0.0012/0.0222, median=6ms
iter #223: 6ms, mad=0.0011/0.0223, median=6ms
iter #224: 6ms, mad=0.0011/0.0224, median=6ms
iter #225: 6ms, mad=0.0011/0.0225, median=6ms
iter #226: 6ms, mad=0.0012/0.0226, median=6ms
iter #227: 6ms, mad=0.0011/0.0227, median=6ms
iter #228: 6ms, mad=0.0011/0.0228, median=6ms
iter #229: 6ms, mad=0.0011/0.0229, median=6ms
iter #230: 6ms, mad=0.0011/0.0230, median=6ms
iter #231: 6ms, mad=0.0011/0.0231, median=6ms
iter #232: 6ms, mad=0.0011/0.0232, median=6ms
iter #233: 6ms, mad=0.0011/0.0233, median=6ms
iter #234: 6ms, mad=0.0011/0.0234, median=6ms
iter #235: 6ms, mad=0.0011/0.0235, median=6ms
iter #236: 6ms, mad=0.0011/0.0236, median=6ms
iter #237: 6ms, mad=0.0011/0.0237, median=6ms
iter #238: 6ms, mad=0.0011/0.0238, median=6ms
iter #239: 6ms, mad=0.0011/0.0239, median=6ms
iter #240: 6ms, mad=0.0011/0.0240, median=6ms
iter #241: 6ms, mad=0.0011/0.0241, median=6ms
iter #242: 6ms, mad=0.0011/0.0242, median=6ms
iter #243: 6ms, mad=0.0010/0.0243, median=6ms
iter #244: 6ms, mad=0.0010/0.0244, median=6ms
iter #245: 6ms, mad=0.0010/0.0245, median=6ms
iter #246: 6ms, mad=0.0010/0.0246, median=6ms
iter #247: 6ms, mad=0.0010/0.0247, median=6ms
iter #248: 6ms, mad=0.0010/0.0248, median=6ms
iter #249: 6ms, mad=0.0010/0.0249, median=6ms
iter #250: 6ms, mad=0.0010/0.0250, median=6ms
iter #251: 6ms, mad=0.0010/0.0251, median=6ms
iter #252: 6ms, mad=0.0010/0.0252, median=6ms
iter #253: 6ms, mad=0.0010/0.0253, median=6ms
iter #254: 6ms, mad=0.0010/0.0254, median=6ms
iter #255: 6ms, mad=0.0010/0.0255, median=6ms
iter #256: 6ms, mad=0.0009/0.0256, median=6ms
iter #257: 6ms, mad=0.0009/0.0257, median=6ms
iter #258: 6ms, mad=0.0009/0.0258, median=6ms
iter #259: 6ms, mad=0.0009/0.0259, median=6ms
iter #260: 6ms, mad=0.0010/0.0260, median=6ms
iter #261: 6ms, mad=0.0010/0.0261, median=6ms
iter #262: 6ms, mad=0.0010/0.0262, median=6ms
iter #263: 6ms, mad=0.0010/0.0263, median=6ms
iter #264: 6ms, mad=0.0010/0.0264, median=6ms
iter #265: 6ms, mad=0.0010/0.0265, median=6ms
iter #266: 6ms, mad=0.0010/0.0266, median=6ms
iter #267: 6ms, mad=0.0009/0.0267, median=6ms
iter #268: 6ms, mad=0.0009/0.0268, median=6ms
iter #269: 6ms, mad=0.0010/0.0269, median=6ms
iter #270: 6ms, mad=0.0009/0.0270, median=6ms
iter #271: 6ms, mad=0.0009/0.0271, median=6ms
iter #272: 6ms, mad=0.0009/0.0272, median=6ms
iter #273: 6ms, mad=0.0009/0.0273, median=6ms
iter #274: 6ms, mad=0.0009/0.0274, median=6ms
iter #275: 6ms, mad=0.0010/0.0275, median=6ms
iter #276: 6ms, mad=0.0010/0.0276, median=6ms
iter #277: 6ms, mad=0.0010/0.0277, median=6ms
iter #278: 6ms, mad=0.0009/0.0278, median=6ms
iter #279: 6ms, mad=0.0010/0.0279, median=6ms
iter #280: 6ms, mad=0.0009/0.0280, median=6ms
iter #281: 6ms, mad=0.0009/0.0281, median=6ms
iter #282: 6ms, mad=0.0010/0.0282, median=6ms
iter #283: 6ms, mad=0.0009/0.0283, median=6ms
iter #284: 6ms, mad=0.0009/0.0284, median=6ms
iter #285: 6ms, mad=0.0009/0.0285, median=6ms
iter #286: 6ms, mad=0.0009/0.0286, median=6ms
iter #287: 6ms, mad=0.0009/0.0287, median=6ms
iter #288: 6ms, mad=0.0010/0.0288, median=6ms
iter #289: 6ms, mad=0.0009/0.0289, median=6ms
iter #290: 6ms, mad=0.0009/0.0290, median=6ms
iter #291: 6ms, mad=0.0009/0.0291, median=6ms
iter #292: 6ms, mad=0.0009/0.0292, median=6ms
iter #293: 6ms, mad=0.0009/0.0293, median=6ms
iter #294: 6ms, mad=0.0009/0.0294, median=6ms
iter #295: 6ms, mad=0.0009/0.0295, median=6ms
iter #296: 6ms, mad=0.0009/0.0296, median=6ms
iter #297: 6ms, mad=0.0009/0.0297, median=6ms
iter #298: 6ms, mad=0.0009/0.0298, median=6ms
iter #299: 6ms, mad=0.0009/0.0299, median=6ms
iter #300: 6ms, mad=0.0009/0.0300, median=6ms
iter #301: 6ms, mad=0.0009/0.0301, median=6ms
iter #302: 6ms, mad=0.0009/0.0302, median=6ms
iter #303: 6ms, mad=0.0009/0.0303, median=6ms
iter #304: 6ms, mad=0.0009/0.0304, median=6ms
iter #305: 6ms, mad=0.0009/0.0305, median=6ms
iter #306: 6ms, mad=0.0009/0.0306, median=6ms
iter #307: 6ms, mad=0.0009/0.0307, median=6ms
iter #308: 6ms, mad=0.0009/0.0308, median=6ms
iter #309: 6ms, mad=0.0009/0.0309, median=6ms
iter #310: 6ms, mad=0.0009/0.0310, median=6ms
iter #311: 6ms, mad=0.0009/0.0311, median=6ms
iter #312: 6ms, mad=0.0009/0.0312, median=6ms
iter #313: 6ms, mad=0.0009/0.0313, median=6ms
iter #314: 6ms, mad=0.0009/0.0314, median=6ms
iter #315: 6ms, mad=0.0009/0.0315, median=6ms
iter #316: 6ms, mad=0.0009/0.0316, median=6ms
iter #317: 6ms, mad=0.0009/0.0317, median=6ms
iter #318: 6ms, mad=0.0009/0.0318, median=6ms
iter #319: 6ms, mad=0.0009/0.0319, median=6ms
iter #320: 6ms, mad=0.0009/0.0320, median=6ms
iter #321: 6ms, mad=0.0009/0.0321, median=6ms
iter #322: 6ms, mad=0.0009/0.0322, median=6ms
iter #323: 6ms, mad=0.0009/0.0323, median=6ms
iter #324: 6ms, mad=0.0009/0.0324, median=6ms
iter #325: 6ms, mad=0.0009/0.0325, median=6ms
iter #326: 6ms, mad=0.0009/0.0326, median=6ms
iter #327: 6ms, mad=0.0009/0.0327, median=6ms
iter #328: 6ms, mad=0.0009/0.0328, median=6ms
iter #329: 6ms, mad=0.0009/0.0329, median=6ms
iter #330: 6ms, mad=0.0009/0.0330, median=6ms
iter #331: 6ms, mad=0.0009/0.0331, median=6ms
iter #332: 6ms, mad=0.0009/0.0332, median=6ms
iter #333: 6ms, mad=0.0009/0.0333, median=6ms
iter #334: 6ms, mad=0.0009/0.0334, median=6ms
iter #335: 6ms, mad=0.0009/0.0335, median=6ms
iter #336: 6ms, mad=0.0009/0.0336, median=6ms
iter #337: 6ms, mad=0.0009/0.0337, median=6ms
iter #338: 6ms, mad=0.0009/0.0338, median=6ms
iter #339: 6ms, mad=0.0009/0.0339, median=6ms
iter #340: 6ms, mad=0.0009/0.0340, median=6ms
iter #341: 6ms, mad=0.0009/0.0341, median=6ms
iter #342: 6ms, mad=0.0009/0.0342, median=6ms
iter #343: 6ms, mad=0.0008/0.0343, median=6ms
iter #344: 6ms, mad=0.0008/0.0344, median=6ms
iter #345: 6ms, mad=0.0008/0.0345, median=6ms
iter #346: 6ms, mad=0.0008/0.0346, median=6ms
iter #347: 6ms, mad=0.0008/0.0347, median=6ms
iter #348: 6ms, mad=0.0009/0.0348, median=6ms
iter #349: 6ms, mad=0.0009/0.0349, median=6ms
iter #350: 6ms, mad=0.0009/0.0350, median=6ms
iter #351: 6ms, mad=0.0009/0.0351, median=6ms
iter #352: 6ms, mad=0.0009/0.0352, median=6ms
iter #353: 6ms, mad=0.0009/0.0353, median=6ms
iter #354: 6ms, mad=0.0009/0.0354, median=6ms
iter #355: 6ms, mad=0.0009/0.0355, median=6ms
iter #356: 6ms, mad=0.0008/0.0356, median=6ms
iter #357: 6ms, mad=0.0008/0.0357, median=6ms
iter #358: 6ms, mad=0.0008/0.0358, median=6ms
iter #359: 6ms, mad=0.0008/0.0359, median=6ms
iter #360: 6ms, mad=0.0008/0.0360, median=6ms
iter #361: 6ms, mad=0.0008/0.0361, median=6ms
iter #362: 6ms, mad=0.0008/0.0362, median=6ms
iter #363: 6ms, mad=0.0008/0.0363, median=6ms
iter #364: 6ms, mad=0.0008/0.0364, median=6ms
iter #365: 6ms, mad=0.0008/0.0365, median=6ms
iter #366: 6ms, mad=0.0008/0.0366, median=6ms
iter #367: 6ms, mad=0.0009/0.0367, median=6ms
iter #368: 6ms, mad=0.0008/0.0368, median=6ms
iter #369: 6ms, mad=0.0008/0.0369, median=6ms
iter #370: 6ms, mad=0.0008/0.0370, median=6ms
iter #371: 6ms, mad=0.0008/0.0371, median=6ms
iter #372: 6ms, mad=0.0008/0.0372, median=6ms
iter #373: 6ms, mad=0.0008/0.0373, median=6ms
iter #374: 6ms, mad=0.0008/0.0374, median=6ms
iter #375: 6ms, mad=0.0008/0.0375, median=6ms
iter #376: 6ms, mad=0.0008/0.0376, median=6ms
iter #377: 6ms, mad=0.0008/0.0377, median=6ms
iter #378: 6ms, mad=0.0008/0.0378, median=6ms
iter #379: 6ms, mad=0.0008/0.0379, median=6ms
iter #380: 6ms, mad=0.0008/0.0380, median=6ms
iter #381: 6ms, mad=0.0008/0.0381, median=6ms
iter #382: 6ms, mad=0.0008/0.0382, median=6ms
iter #383: 6ms, mad=0.0008/0.0383, median=6ms
iter #384: 6ms, mad=0.0008/0.0384, median=6ms
iter #385: 6ms, mad=0.0008/0.0385, median=6ms
iter #386: 6ms, mad=0.0008/0.0386, median=6ms
iter #387: 6ms, mad=0.0008/0.0387, median=6ms
iter #388: 6ms, mad=0.0008/0.0388, median=6ms
iter #389: 6ms, mad=0.0008/0.0389, median=6ms
iter #390: 6ms, mad=0.0008/0.0390, median=6ms
iter #391: 6ms, mad=0.0008/0.0391, median=6ms
iter #392: 6ms, mad=0.0008/0.0392, median=6ms
iter #393: 6ms, mad=0.0008/0.0393, median=6ms
iter #394: 6ms, mad=0.0008/0.0394, median=6ms
iter #395: 6ms, mad=0.0008/0.0395, median=6ms
iter #396: 6ms, mad=0.0008/0.0396, median=6ms
iter #397: 6ms, mad=0.0008/0.0397, median=6ms
iter #398: 6ms, mad=0.0008/0.0398, median=6ms
iter #399: 6ms, mad=0.0008/0.0399, median=6ms
iter #400: 6ms, mad=0.0008/0.0400, median=6ms
iter #401: 6ms, mad=0.0008/0.0401, median=6ms
iter #402: 6ms, mad=0.0008/0.0402, median=6ms
iter #403: 6ms, mad=0.0008/0.0403, median=6ms
iter #404: 6ms, mad=0.0008/0.0404, median=6ms
iter #405: 6ms, mad=0.0008/0.0405, median=6ms
iter #406: 6ms, mad=0.0008/0.0406, median=6ms
iter #407: 6ms, mad=0.0008/0.0407, median=6ms
iter #408: 6ms, mad=0.0008/0.0408, median=6ms
iter #409: 6ms, mad=0.0008/0.0409, median=6ms
iter #410: 6ms, mad=0.0008/0.0410, median=6ms
iter #411: 6ms, mad=0.0008/0.0411, median=6ms
iter #412: 6ms, mad=0.0008/0.0412, median=6ms
iter #413: 6ms, mad=0.0008/0.0413, median=6ms
iter #414: 6ms, mad=0.0008/0.0414, median=6ms
iter #415: 6ms, mad=0.0008/0.0415, median=6ms
iter #416: 6ms, mad=0.0008/0.0416, median=6ms
iter #417: 6ms, mad=0.0008/0.0417, median=6ms
iter #418: 6ms, mad=0.0008/0.0418, median=6ms
iter #419: 6ms, mad=0.0008/0.0419, median=6ms
iter #420: 6ms, mad=0.0008/0.0420, median=6ms
iter #421: 6ms, mad=0.0008/0.0421, median=6ms
iter #422: 6ms, mad=0.0008/0.0422, median=6ms
iter #423: 6ms, mad=0.0008/0.0423, median=6ms
iter #424: 6ms, mad=0.0008/0.0424, median=6ms
iter #425: 6ms, mad=0.0008/0.0425, median=6ms
iter #426: 6ms, mad=0.0008/0.0426, median=6ms
iter #427: 6ms, mad=0.0008/0.0427, median=6ms
iter #428: 6ms, mad=0.0008/0.0428, median=6ms
iter #429: 6ms, mad=0.0008/0.0429, median=6ms
iter #430: 6ms, mad=0.0008/0.0430, median=6ms
iter #431: 6ms, mad=0.0008/0.0431, median=6ms
iter #432: 6ms, mad=0.0008/0.0432, median=6ms
iter #433: 6ms, mad=0.0008/0.0433, median=6ms
iter #434: 6ms, mad=0.0008/0.0434, median=6ms
iter #435: 6ms, mad=0.0008/0.0435, median=6ms
iter #436: 6ms, mad=0.0008/0.0436, median=6ms
iter #437: 6ms, mad=0.0008/0.0437, median=6ms
iter #438: 6ms, mad=0.0008/0.0438, median=6ms
iter #439: 6ms, mad=0.0008/0.0439, median=6ms
iter #440: 6ms, mad=0.0008/0.0440, median=6ms
iter #441: 6ms, mad=0.0008/0.0441, median=6ms
iter #442: 6ms, mad=0.0008/0.0442, median=6ms
iter #443: 6ms, mad=0.0008/0.0443, median=6ms
iter #444: 6ms, mad=0.0008/0.0444, median=6ms
iter #445: 6ms, mad=0.0008/0.0445, median=6ms
iter #446: 6ms, mad=0.0008/0.0446, median=6ms
iter #447: 6ms, mad=0.0008/0.0447, median=6ms
iter #448: 6ms, mad=0.0008/0.0448, median=6ms
iter #449: 6ms, mad=0.0008/0.0449, median=6ms
iter #450: 6ms, mad=0.0008/0.0450, median=6ms
iter #451: 6ms, mad=0.0008/0.0451, median=6ms
iter #452: 6ms, mad=0.0008/0.0452, median=6ms
iter #453: 6ms, mad=0.0008/0.0453, median=6ms
iter #454: 6ms, mad=0.0008/0.0454, median=6ms
iter #455: 6ms, mad=0.0008/0.0455, median=6ms
iter #456: 6ms, mad=0.0008/0.0456, median=6ms
iter #457: 6ms, mad=0.0008/0.0457, median=6ms
iter #458: 6ms, mad=0.0008/0.0458, median=6ms
iter #459: 6ms, mad=0.0008/0.0459, median=6ms
iter #460: 6ms, mad=0.0008/0.0460, median=6ms
iter #461: 6ms, mad=0.0008/0.0461, median=6ms
iter #462: 6ms, mad=0.0008/0.0462, median=6ms
iter #463: 6ms, mad=0.0008/0.0463, median=6ms
iter #464: 6ms, mad=0.0008/0.0464, median=6ms
iter #465: 6ms, mad=0.0008/0.0465, median=6ms
iter #466: 6ms, mad=0.0008/0.0466, median=6ms
iter #467: 6ms, mad=0.0008/0.0467, median=6ms
iter #468: 6ms, mad=0.0008/0.0468, median=6ms
iter #469: 6ms, mad=0.0008/0.0469, median=6ms
iter #470: 6ms, mad=0.0008/0.0470, median=6ms
iter #471: 6ms, mad=0.0008/0.0471, median=6ms
iter #472: 6ms, mad=0.0008/0.0472, median=6ms
iter #473: 6ms, mad=0.0008/0.0473, median=6ms
iter #474: 6ms, mad=0.0008/0.0474, median=6ms
iter #475: 6ms, mad=0.0008/0.0475, median=6ms
iter #476: 6ms, mad=0.0008/0.0476, median=6ms
iter #477: 6ms, mad=0.0008/0.0477, median=6ms
iter #478: 6ms, mad=0.0008/0.0478, median=6ms
iter #479: 6ms, mad=0.0008/0.0479, median=6ms
iter #480: 6ms, mad=0.0008/0.0480, median=6ms
iter #481: 6ms, mad=0.0008/0.0481, median=6ms
iter #482: 6ms, mad=0.0008/0.0482, median=6ms
iter #483: 6ms, mad=0.0008/0.0483, median=6ms
iter #484: 6ms, mad=0.0008/0.0484, median=6ms
iter #485: 6ms, mad=0.0008/0.0485, median=6ms
iter #486: 6ms, mad=0.0008/0.0486, median=6ms
iter #487: 6ms, mad=0.0008/0.0487, median=6ms
iter #488: 6ms, mad=0.0008/0.0488, median=6ms
iter #489: 6ms, mad=0.0008/0.0489, median=6ms
iter #490: 6ms, mad=0.0008/0.0490, median=6ms
iter #491: 6ms, mad=0.0008/0.0491, median=6ms
iter #492: 6ms, mad=0.0008/0.0492, median=6ms
iter #493: 6ms, mad=0.0008/0.0493, median=6ms
iter #494: 6ms, mad=0.0008/0.0494, median=6ms
iter #495: 6ms, mad=0.0008/0.0495, median=6ms
iter #496: 6ms, mad=0.0008/0.0496, median=6ms
iter #497: 6ms, mad=0.0008/0.0497, median=6ms
iter #498: 6ms, mad=0.0008/0.0498, median=6ms
iter #499: 6ms, mad=0.0008/0.0499, median=6ms
iter #500: 6ms, mad=0.0008/0.0500, median=6ms
iter #501: 6ms, mad=0.0008/0.0501, median=6ms
iter #502: 6ms, mad=0.0008/0.0502, median=6ms
iter #503: 6ms, mad=0.0008/0.0503, median=6ms
iter #504: 6ms, mad=0.0008/0.0504, median=6ms
iter #505: 6ms, mad=0.0008/0.0505, median=6ms
iter #506: 6ms, mad=0.0008/0.0506, median=6ms
iter #507: 6ms, mad=0.0008/0.0507, median=6ms
iter #508: 6ms, mad=0.0008/0.0508, median=6ms
iter #509: 6ms, mad=0.0008/0.0509, median=6ms
iter #510: 6ms, mad=0.0008/0.0510, median=6ms
iter #511: 6ms, mad=0.0008/0.0511, median=6ms
iter #512: 6ms, mad=0.0008/0.0512, median=6ms
iter #513: 6ms, mad=0.0008/0.0513, median=6ms
iter #514: 6ms, mad=0.0008/0.0514, median=6ms
iter #515: 6ms, mad=0.0008/0.0515, median=6ms
iter #516: 6ms, mad=0.0008/0.0516, median=6ms
iter #517: 6ms, mad=0.0008/0.0517, median=6ms
iter #518: 6ms, mad=0.0008/0.0518, median=6ms
iter #519: 6ms, mad=0.0008/0.0519, median=6ms
iter #520: 6ms, mad=0.0008/0.0520, median=6ms
iter #521: 6ms, mad=0.0008/0.0521, median=6ms
iter #522: 6ms, mad=0.0008/0.0522, median=6ms
iter #523: 6ms, mad=0.0008/0.0523, median=6ms
iter #524: 6ms, mad=0.0008/0.0524, median=6ms
iter #525: 6ms, mad=0.0008/0.0525, median=6ms
iter #526: 6ms, mad=0.0008/0.0526, median=6ms
iter #527: 6ms, mad=0.0008/0.0527, median=6ms
iter #528: 6ms, mad=0.0008/0.0528, median=6ms
iter #529: 6ms, mad=0.0008/0.0529, median=6ms
iter #530: 6ms, mad=0.0008/0.0530, median=6ms
iter #531: 6ms, mad=0.0008/0.0531, median=6ms
iter #532: 6ms, mad=0.0008/0.0532, median=6ms
iter #533: 6ms, mad=0.0008/0.0533, median=6ms
iter #534: 6ms, mad=0.0008/0.0534, median=6ms
iter #535: 6ms, mad=0.0008/0.0535, median=6ms
iter #536: 6ms, mad=0.0008/0.0536, median=6ms
iter #537: 6ms, mad=0.0008/0.0537, median=6ms
iter #538: 6ms, mad=0.0008/0.0538, median=6ms
iter #539: 6ms, mad=0.0008/0.0539, median=6ms
iter #540: 6ms, mad=0.0008/0.0540, median=6ms
iter #541: 6ms, mad=0.0008/0.0541, median=6ms
iter #542: 6ms, mad=0.0008/0.0542, median=6ms
iter #543: 6ms, mad=0.0008/0.0543, median=6ms
iter #544: 6ms, mad=0.0008/0.0544, median=6ms
iter #545: 6ms, mad=0.0008/0.0545, median=6ms
iter #546: 6ms, mad=0.0008/0.0546, median=6ms
ZJIT stats:
code_region_bytes:      4,820,992
zjit_alloc_bytes:       3,115,596
compile_time             550.15ms
profile_time               2.91ms
gc_time                    0.00ms
invalidation_time          0.00ms
RSS: 41.0MiB
MAXRSS: 41.2MiB
RSS sampled (n=273): median 40.3MiB ± 0.2MiB (MAD), range [40.0, 41.1]MiB
Benchmarking took 0 minutes 5 seconds
Statistics for the second half of iterations (considered warmed up):
median: 6ms +/- 0.004ms (0.06%) (median absolute deviation)
mean:   6ms +/- 0.008ms (0.14%) (standard deviation)
range: [6-6]ms
Running benchmark "30k_variables" (1/1)
+ setarch x86_64 -R /opt/rubies/jruby-10.1.1.0/bin/ruby -Xcompile.invokedynamic\=true -J-XX:+UseParallelGC -I harness-warmup /home/k0kubun/src/github.com/ruby/ruby-bench/benchmarks/30k_variables.rb
jruby 10.1.1.0 (4.0.0) 2026-07-22 aaa95d57e1 OpenJDK 64-Bit Server VM 21.0.12+8-1-24.04-Ubuntu on 21.0.12+8-1-24.04-Ubuntu +indy +jit [x86_64-linux]
iter #  1: 8455ms, mad=0.0000/0.0000, median=8455ms
iter #  2: 11614ms, mad=0.1574/0.0000, median=10035ms
iter #  3: 11396ms, mad=0.0192/0.0000, median=11396ms
iter #  4: 6914ms, mad=0.1591/0.0000, median=9925ms
iter #  5: 2360ms, mad=0.3478/0.0000, median=8455ms
iter #  6: 513ms, mad=0.4972/0.0000, median=7684ms
iter #  7: 202ms, mad=0.6586/0.0000, median=6914ms
iter #  8: 208ms, mad=0.9221/0.0000, median=4637ms
iter #  9: 206ms, mad=0.9141/0.0000, median=2360ms
iter # 10: 206ms, mad=0.8577/0.0010, median=1437ms
iter # 11: 204ms, mad=0.6051/0.0011, median=513ms
iter # 12: 205ms, mad=0.4358/0.0012, median=361ms
iter # 13: 197ms, mad=0.0513/0.0013, median=208ms
iter # 14: 201ms, mad=0.0372/0.0014, median=207ms
iter # 15: 244ms, mad=0.0513/0.0015, median=208ms
iter # 16: 203ms, mad=0.0372/0.0016, median=207ms
iter # 17: 199ms, mad=0.0350/0.0017, median=206ms
iter # 18: 197ms, mad=0.0377/0.0018, median=206ms
iter # 19: 204ms, mad=0.0335/0.0019, median=206ms
iter # 20: 207ms, mad=0.0281/0.0020, median=206ms
iter # 21: 203ms, mad=0.0213/0.0021, median=206ms
iter # 22: 193ms, mad=0.0252/0.0022, median=205ms
iter # 23: 206ms, mad=0.0213/0.0023, median=206ms
iter # 24: 199ms, mad=0.0252/0.0024, median=205ms
iter # 25: 201ms, mad=0.0169/0.0025, median=205ms
iter # 26: 206ms, mad=0.0190/0.0026, median=205ms
iter # 27: 5189ms, mad=0.0213/0.0027, median=206ms
iter # 28: 2103ms, mad=0.0281/0.0028, median=206ms
iter # 29: 2043ms, mad=0.0349/0.0029, median=206ms
iter # 30: 1841ms, mad=0.0350/0.0030, median=206ms
iter # 31: 1529ms, mad=0.0351/0.0031, median=206ms
iter # 32: 1292ms, mad=0.0389/0.0032, median=206ms
iter # 33: 1099ms, mad=0.0428/0.0033, median=206ms
iter # 34: 859ms, mad=0.0455/0.0034, median=206ms
iter # 35: 662ms, mad=0.0482/0.0035, median=207ms
iter # 36: 466ms, mad=0.0612/0.0036, median=207ms
iter # 37: 326ms, mad=0.0741/0.0037, median=208ms
iter # 38: 336ms, mad=0.1389/0.0038, median=226ms
iter # 39: 324ms, mad=0.2113/0.0039, median=244ms
iter # 40: 321ms, mad=0.2959/0.0040, median=282ms
iter # 41: 328ms, mad=0.3795/0.0041, median=321ms
iter # 42: 335ms, mad=0.3785/0.0042, median=322ms
iter # 43: 328ms, mad=0.3775/0.0043, median=324ms
iter # 44: 334ms, mad=0.3802/0.0044, median=325ms
iter # 45: 337ms, mad=0.3829/0.0045, median=326ms
iter # 46: 327ms, mad=0.3817/0.0046, median=327ms
iter # 47: 337ms, mad=0.3805/0.0047, median=327ms
iter # 48: 335ms, mad=0.3810/0.0048, median=327ms
iter # 49: 328ms, mad=0.3815/0.0049, median=328ms
iter # 50: 327ms, mad=0.3800/0.0050, median=327ms
iter # 51: 5060ms, mad=0.3815/0.0051, median=328ms
iter # 52: 3803ms, mad=0.3822/0.0052, median=328ms
iter # 53: 1516ms, mad=0.3829/0.0053, median=328ms
iter # 54: 454ms, mad=0.3824/0.0054, median=328ms
iter # 55: 257ms, mad=0.3820/0.0055, median=328ms
iter # 56: 246ms, mad=0.3821/0.0056, median=328ms
iter # 57: 248ms, mad=0.3815/0.0057, median=328ms
iter # 58: 247ms, mad=0.3800/0.0058, median=327ms
iter # 59: 250ms, mad=0.3785/0.0059, median=327ms
iter # 60: 251ms, mad=0.3774/0.0060, median=327ms
iter # 61: 254ms, mad=0.3763/0.0061, median=327ms
iter # 62: 272ms, mad=0.3752/0.0062, median=327ms
iter # 63: 254ms, mad=0.3741/0.0063, median=326ms
iter # 64: 252ms, mad=0.3705/0.0064, median=325ms
iter # 65: 245ms, mad=0.3668/0.0065, median=324ms
iter # 66: 249ms, mad=0.3624/0.0066, median=322ms
iter # 67: 256ms, mad=0.3580/0.0067, median=321ms
iter # 68: 255ms, mad=0.3046/0.0068, median=296ms
iter # 69: 255ms, mad=0.2415/0.0069, median=272ms
iter # 70: 255ms, mad=0.2383/0.0070, median=264ms
iter # 71: 255ms, mad=0.2341/0.0071, median=257ms
iter # 72: 255ms, mad=0.2320/0.0072, median=257ms
iter # 73: 256ms, mad=0.2301/0.0073, median=256ms
iter # 74: 249ms, mad=0.2273/0.0074, median=256ms
iter # 75: 248ms, mad=0.2245/0.0075, median=256ms
iter # 76: 251ms, mad=0.2230/0.0076, median=256ms
iter # 77: 251ms, mad=0.2216/0.0077, median=255ms
iter # 78: 255ms, mad=0.2164/0.0078, median=255ms
iter # 79: 249ms, mad=0.2111/0.0079, median=255ms
iter # 80: 245ms, mad=0.2110/0.0080, median=255ms
iter # 81: 268ms, mad=0.2109/0.0081, median=255ms
iter # 82: 242ms, mad=0.2087/0.0082, median=255ms
iter # 83: 240ms, mad=0.2065/0.0083, median=255ms
iter # 84: 252ms, mad=0.2057/0.0084, median=255ms
iter # 85: 249ms, mad=0.2050/0.0085, median=255ms
iter # 86: 243ms, mad=0.2040/0.0086, median=255ms
iter # 87: 244ms, mad=0.2029/0.0087, median=255ms
iter # 88: 244ms, mad=0.2014/0.0088, median=255ms
iter # 89: 245ms, mad=0.1999/0.0089, median=255ms
iter # 90: 247ms, mad=0.1980/0.0090, median=254ms
iter # 91: 244ms, mad=0.1961/0.0091, median=254ms
iter # 92: 251ms, mad=0.1946/0.0092, median=254ms
iter # 93: 252ms, mad=0.1931/0.0093, median=254ms
iter # 94: 253ms, mad=0.1902/0.0094, median=253ms
iter # 95: 252ms, mad=0.1873/0.0095, median=253ms
iter # 96: 251ms, mad=0.1854/0.0096, median=253ms
iter # 97: 253ms, mad=0.1861/0.0097, median=253ms
iter # 98: 252ms, mad=0.1850/0.0098, median=253ms
iter # 99: 247ms, mad=0.1838/0.0099, median=252ms
iter #100: 245ms, mad=0.1833/0.0100, median=252ms
iter #101: 248ms, mad=0.1827/0.0101, median=252ms
iter #102: 253ms, mad=0.1817/0.0102, median=252ms
iter #103: 248ms, mad=0.1802/0.0103, median=252ms
iter #104: 249ms, mad=0.1777/0.0104, median=252ms
iter #105: 252ms, mad=0.1751/0.0105, median=252ms
iter #106: 254ms, mad=0.1259/0.0106, median=252ms
iter #107: 245ms, mad=0.0769/0.0107, median=252ms
iter #108: 247ms, mad=0.0696/0.0108, median=252ms
iter #109: 253ms, mad=0.0623/0.0109, median=252ms
iter #110: 255ms, mad=0.0556/0.0110, median=252ms
iter #111: 254ms, mad=0.0492/0.0111, median=252ms
iter #112: 246ms, mad=0.0454/0.0112, median=252ms
iter #113: 238ms, mad=0.0489/0.0113, median=252ms
iter #114: 253ms, mad=0.0454/0.0114, median=252ms
iter #115: 251ms, mad=0.0417/0.0115, median=252ms
iter #116: 252ms, mad=0.0401/0.0116, median=252ms
iter #117: 249ms, mad=0.0383/0.0117, median=252ms
iter #118: 245ms, mad=0.0364/0.0118, median=252ms
iter #119: 254ms, mad=0.0345/0.0119, median=252ms
iter #120: 240ms, mad=0.0364/0.0120, median=252ms
iter #121: 252ms, mad=0.0345/0.0121, median=252ms
iter #122: 248ms, mad=0.0332/0.0122, median=252ms
iter #123: 245ms, mad=0.0319/0.0123, median=252ms
iter #124: 250ms, mad=0.0315/0.0124, median=252ms
iter #125: 248ms, mad=0.0310/0.0125, median=252ms
iter #126: 244ms, mad=0.0309/0.0126, median=252ms
iter #127: 250ms, mad=0.0307/0.0127, median=252ms
iter #128: 253ms, mad=0.0305/0.0128, median=252ms
iter #129: 253ms, mad=0.0303/0.0129, median=252ms
iter #130: 255ms, mad=0.0302/0.0130, median=252ms
iter #131: 249ms, mad=0.0292/0.0131, median=252ms
iter #132: 245ms, mad=0.0289/0.0132, median=252ms
iter #133: 245ms, mad=0.0289/0.0133, median=252ms
iter #134: 244ms, mad=0.0278/0.0134, median=252ms
iter #135: 251ms, mad=0.0266/0.0135, median=251ms
iter #136: 256ms, mad=0.0276/0.0136, median=252ms
iter #137: 252ms, mad=0.0277/0.0137, median=252ms
iter #138: 239ms, mad=0.0271/0.0138, median=251ms
iter #139: 251ms, mad=0.0268/0.0139, median=251ms
iter #140: 248ms, mad=0.0264/0.0140, median=251ms
iter #141: 249ms, mad=0.0260/0.0141, median=251ms
iter #142: 252ms, mad=0.0258/0.0142, median=251ms
iter #143: 251ms, mad=0.0255/0.0143, median=251ms
iter #144: 251ms, mad=0.0255/0.0144, median=251ms
iter #145: 252ms, mad=0.0256/0.0145, median=251ms
iter #146: 243ms, mad=0.0255/0.0146, median=251ms
iter #147: 243ms, mad=0.0255/0.0147, median=251ms
iter #148: 243ms, mad=0.0258/0.0148, median=251ms
iter #149: 242ms, mad=0.0260/0.0149, median=251ms
iter #150: 240ms, mad=0.0261/0.0150, median=251ms
iter #151: 254ms, mad=0.0260/0.0151, median=251ms
iter #152: 254ms, mad=0.0258/0.0152, median=251ms
iter #153: 248ms, mad=0.0249/0.0153, median=251ms
iter #154: 249ms, mad=0.0248/0.0154, median=251ms
iter #155: 246ms, mad=0.0246/0.0155, median=251ms
iter #156: 253ms, mad=0.0245/0.0156, median=251ms
iter #157: 252ms, mad=0.0245/0.0157, median=251ms
iter #158: 248ms, mad=0.0238/0.0158, median=251ms
iter #159: 243ms, mad=0.0243/0.0159, median=251ms
iter #160: 245ms, mad=0.0243/0.0160, median=251ms
iter #161: 249ms, mad=0.0242/0.0161, median=251ms
iter #162: 251ms, mad=0.0238/0.0162, median=251ms
iter #163: 250ms, mad=0.0235/0.0163, median=251ms
iter #164: 250ms, mad=0.0233/0.0164, median=251ms
iter #165: 251ms, mad=0.0228/0.0165, median=251ms
iter #166: 251ms, mad=0.0227/0.0166, median=251ms
iter #167: 253ms, mad=0.0227/0.0167, median=251ms
iter #168: 252ms, mad=0.0223/0.0168, median=251ms
iter #169: 246ms, mad=0.0219/0.0169, median=251ms
iter #170: 252ms, mad=0.0218/0.0170, median=251ms
iter #171: 242ms, mad=0.0219/0.0171, median=251ms
iter #172: 246ms, mad=0.0217/0.0172, median=251ms
iter #173: 244ms, mad=0.0216/0.0173, median=251ms
iter #174: 245ms, mad=0.0218/0.0174, median=251ms
iter #175: 244ms, mad=0.0220/0.0175, median=251ms
iter #176: 244ms, mad=0.0220/0.0176, median=251ms
iter #177: 254ms, mad=0.0220/0.0177, median=251ms
iter #178: 253ms, mad=0.0218/0.0178, median=251ms
iter #179: 255ms, mad=0.0216/0.0179, median=251ms
iter #180: 253ms, mad=0.0217/0.0180, median=251ms
iter #181: 252ms, mad=0.0217/0.0181, median=251ms
iter #182: 250ms, mad=0.0216/0.0182, median=251ms
iter #183: 251ms, mad=0.0215/0.0183, median=251ms
iter #184: 252ms, mad=0.0213/0.0184, median=251ms
iter #185: 249ms, mad=0.0211/0.0185, median=251ms
iter #186: 255ms, mad=0.0209/0.0186, median=251ms
iter #187: 253ms, mad=0.0207/0.0187, median=251ms
iter #188: 245ms, mad=0.0209/0.0188, median=251ms
iter #189: 242ms, mad=0.0211/0.0189, median=251ms
iter #190: 245ms, mad=0.0213/0.0190, median=251ms
iter #191: 244ms, mad=0.0213/0.0191, median=251ms
iter #192: 244ms, mad=0.0213/0.0192, median=251ms
iter #193: 245ms, mad=0.0214/0.0193, median=251ms
iter #194: 246ms, mad=0.0212/0.0194, median=251ms
iter #195: 244ms, mad=0.0210/0.0195, median=251ms
iter #196: 247ms, mad=0.0207/0.0196, median=251ms
iter #197: 255ms, mad=0.0205/0.0197, median=251ms
iter #198: 252ms, mad=0.0209/0.0198, median=251ms
iter #199: 249ms, mad=0.0203/0.0199, median=251ms
iter #200: 251ms, mad=0.0207/0.0200, median=251ms
iter #201: 249ms, mad=0.0202/0.0201, median=251ms
iter #202: 253ms, mad=0.0206/0.0202, median=251ms
iter #203: 247ms, mad=0.0201/0.0203, median=251ms
RSS: 849.8MiB
MAXRSS: 851.8MiB
RSS sampled (n=102): median 849.3MiB ± 0.1MiB (MAD), range [849.1, 849.8]MiB
Benchmarking took 1 minutes 56 seconds
Statistics for the second half of iterations (considered warmed up):
median: 249ms +/- 3.709ms (1.49%) (median absolute deviation)
mean:   249ms +/- 4.218ms (1.69%) (standard deviation)
range: [238-256]ms
Running benchmark "30k_variables" (1/1)
+ setarch x86_64 -R /opt/rubies/truffleruby-graalvm-34.0.1/bin/ruby --jvm -I harness-warmup /home/k0kubun/src/github.com/ruby/ruby-bench/benchmarks/30k_variables.rb
truffleruby 34.0.1 (2026-04-26), like ruby 3.4.9, Oracle GraalVM JVM [x86_64-linux]
iter #  1: 1727ms, mad=0.0000/0.0000, median=1727ms
iter #  2: 309ms, mad=0.6962/0.0000, median=1018ms
iter #  3: 181ms, mad=0.4146/0.0000, median=309ms
iter #  4: 170ms, mad=0.2830/0.0000, median=245ms
iter #  5: 184ms, mad=0.0749/0.0000, median=184ms
iter #  6: 148ms, mad=0.1280/0.0000, median=182ms
iter #  7: 139ms, mad=0.1821/0.0000, median=181ms
iter #  8: 129ms, mad=0.1814/0.0000, median=175ms
iter #  9: 125ms, mad=0.1807/0.0000, median=170ms
iter # 10: 115ms, mad=0.1727/0.0010, median=159ms
iter # 11: 108ms, mad=0.2204/0.0011, median=148ms
iter # 12: 116ms, mad=0.1954/0.0012, median=143ms
iter # 13: 98ms, mad=0.2205/0.0013, median=139ms
iter # 14: 98ms, mad=0.2297/0.0014, median=134ms
iter # 15: 100ms, mad=0.2219/0.0015, median=129ms
iter # 16: 98ms, mad=0.2174/0.0016, median=127ms
iter # 17: 98ms, mad=0.2129/0.0017, median=125ms
iter # 18: 98ms, mad=0.1834/0.0018, median=120ms
iter # 19: 101ms, mad=0.1497/0.0019, median=116ms
iter # 20: 99ms, mad=0.1471/0.0020, median=115ms
iter # 21: 99ms, mad=0.1444/0.0021, median=115ms
iter # 22: 98ms, mad=0.1182/0.0022, median=112ms
iter # 23: 101ms, mad=0.0899/0.0023, median=108ms
iter # 24: 106ms, mad=0.0806/0.0024, median=107ms
iter # 25: 99ms, mad=0.0711/0.0025, median=106ms
iter # 26: 98ms, mad=0.0495/0.0026, median=103ms
iter # 27: 101ms, mad=0.0328/0.0027, median=101ms
iter # 28: 99ms, mad=0.0299/0.0028, median=101ms
iter # 29: 99ms, mad=0.0269/0.0029, median=101ms
iter # 30: 99ms, mad=0.0264/0.0030, median=101ms
iter # 31: 96ms, mad=0.0260/0.0031, median=101ms
iter # 32: 96ms, mad=0.0239/0.0032, median=101ms
iter # 33: 96ms, mad=0.0217/0.0033, median=100ms
iter # 34: 98ms, mad=0.0169/0.0034, median=99ms
iter # 35: 96ms, mad=0.0256/0.0035, median=99ms
iter # 36: 98ms, mad=0.0241/0.0036, median=99ms
iter # 37: 96ms, mad=0.0257/0.0037, median=99ms
iter # 38: 97ms, mad=0.0248/0.0038, median=99ms
iter # 39: 96ms, mad=0.0240/0.0039, median=99ms
iter # 40: 96ms, mad=0.0238/0.0040, median=99ms
iter # 41: 96ms, mad=0.0237/0.0041, median=99ms
iter # 42: 100ms, mad=0.0237/0.0042, median=99ms
iter # 43: 96ms, mad=0.0237/0.0043, median=99ms
iter # 44: 97ms, mad=0.0237/0.0044, median=99ms
iter # 45: 96ms, mad=0.0237/0.0045, median=99ms
iter # 46: 97ms, mad=0.0237/0.0046, median=99ms
iter # 47: 95ms, mad=0.0237/0.0047, median=99ms
iter # 48: 95ms, mad=0.0238/0.0048, median=99ms
iter # 49: 98ms, mad=0.0233/0.0049, median=98ms
iter # 50: 96ms, mad=0.0232/0.0050, median=98ms
iter # 51: 96ms, mad=0.0231/0.0051, median=98ms
iter # 52: 17ms, mad=0.0231/0.0052, median=98ms
iter # 53: 16ms, mad=0.0231/0.0053, median=98ms
iter # 54: 14ms, mad=0.0232/0.0054, median=98ms
iter # 55: 14ms, mad=0.0233/0.0055, median=98ms
iter # 56: 14ms, mad=0.0234/0.0056, median=98ms
iter # 57: 15ms, mad=0.0235/0.0057, median=98ms
iter # 58: 14ms, mad=0.0239/0.0058, median=98ms
iter # 59: 14ms, mad=0.0242/0.0059, median=98ms
iter # 60: 14ms, mad=0.0254/0.0060, median=98ms
iter # 61: 14ms, mad=0.0267/0.0061, median=98ms
iter # 62: 15ms, mad=0.0269/0.0062, median=98ms
iter # 63: 14ms, mad=0.0269/0.0063, median=98ms
iter # 64: 14ms, mad=0.0258/0.0064, median=98ms
iter # 65: 14ms, mad=0.0247/0.0065, median=98ms
iter # 66: 15ms, mad=0.0243/0.0066, median=98ms
iter # 67: 14ms, mad=0.0259/0.0067, median=98ms
iter # 68: 14ms, mad=0.0278/0.0068, median=98ms
iter # 69: 14ms, mad=0.0297/0.0069, median=97ms
iter # 70: 15ms, mad=0.0324/0.0070, median=97ms
iter # 71: 14ms, mad=0.0350/0.0071, median=97ms
iter # 72: 14ms, mad=0.0394/0.0072, median=97ms
iter # 73: 14ms, mad=0.0439/0.0073, median=97ms
iter # 74: 15ms, mad=0.0470/0.0074, median=97ms
iter # 75: 14ms, mad=0.0502/0.0075, median=96ms
iter # 76: 14ms, mad=0.0736/0.0076, median=96ms
iter # 77: 14ms, mad=0.0970/0.0077, median=96ms
iter # 78: 16ms, mad=0.1096/0.0078, median=96ms
iter # 79: 37ms, mad=0.1223/0.0079, median=96ms
iter # 80: 24ms, mad=0.1583/0.0080, median=96ms
iter # 81: 15ms, mad=0.1943/0.0081, median=96ms
iter # 82: 14ms, mad=0.1986/0.0082, median=96ms
iter # 83: 15ms, mad=0.2029/0.0083, median=96ms
iter # 84: 14ms, mad=0.2527/0.0084, median=96ms
iter # 85: 14ms, mad=0.3024/0.0085, median=96ms
iter # 86: 14ms, mad=0.3212/0.0086, median=96ms
iter # 87: 14ms, mad=0.3399/0.0087, median=96ms
iter # 88: 15ms, mad=0.3943/0.0088, median=96ms
iter # 89: 14ms, mad=0.4488/0.0089, median=96ms
iter # 90: 14ms, mad=0.4928/0.0090, median=96ms
iter # 91: 15ms, mad=0.5369/0.0091, median=96ms
iter # 92: 14ms, mad=0.5749/0.0092, median=96ms
iter # 93: 15ms, mad=0.6101/0.0093, median=96ms
iter # 94: 14ms, mad=0.6754/0.0094, median=96ms
iter # 95: 14ms, mad=0.7407/0.0095, median=96ms
iter # 96: 14ms, mad=0.7586/0.0096, median=96ms
iter # 97: 14ms, mad=0.7764/0.0097, median=96ms
iter # 98: 15ms, mad=0.7967/0.0098, median=95ms
iter # 99: 14ms, mad=0.8163/0.0099, median=95ms
iter #100: 14ms, mad=0.8214/0.0100, median=95ms
iter #101: 14ms, mad=0.8266/0.0101, median=95ms
iter #102: 14ms, mad=0.7649/0.0102, median=66ms
iter #103: 15ms, mad=0.6220/0.0103, median=37ms
iter #104: 14ms, mad=0.5470/0.0104, median=31ms
iter #105: 14ms, mad=0.4341/0.0105, median=24ms
iter #106: 14ms, mad=0.3368/0.0106, median=21ms
iter #107: 14ms, mad=0.2008/0.0107, median=17ms
iter #108: 16ms, mad=0.1768/0.0108, median=17ms
iter #109: 14ms, mad=0.1512/0.0109, median=16ms
iter #110: 14ms, mad=0.1401/0.0110, median=16ms
iter #111: 14ms, mad=0.1270/0.0111, median=16ms
iter #112: 14ms, mad=0.1265/0.0112, median=16ms
iter #113: 16ms, mad=0.1259/0.0113, median=16ms
iter #114: 14ms, mad=0.1228/0.0114, median=16ms
iter #115: 14ms, mad=0.1197/0.0115, median=16ms
iter #116: 14ms, mad=0.1128/0.0116, median=15ms
iter #117: 14ms, mad=0.1060/0.0117, median=15ms
iter #118: 15ms, mad=0.1046/0.0118, median=15ms
iter #119: 14ms, mad=0.1031/0.0119, median=15ms
iter #120: 14ms, mad=0.1011/0.0120, median=15ms
iter #121: 14ms, mad=0.0990/0.0121, median=15ms
iter #122: 14ms, mad=0.0959/0.0122, median=15ms
iter #123: 15ms, mad=0.0927/0.0123, median=15ms
iter #124: 14ms, mad=0.0920/0.0124, median=15ms
iter #125: 14ms, mad=0.0919/0.0125, median=15ms
iter #126: 14ms, mad=0.0915/0.0126, median=15ms
iter #127: 14ms, mad=0.0916/0.0127, median=15ms
iter #128: 15ms, mad=0.0911/0.0128, median=15ms
iter #129: 14ms, mad=0.0906/0.0129, median=15ms
iter #130: 14ms, mad=0.0897/0.0130, median=15ms
iter #131: 14ms, mad=0.0888/0.0131, median=15ms
iter #132: 14ms, mad=0.0885/0.0132, median=15ms
iter #133: 16ms, mad=0.0883/0.0133, median=15ms
iter #134: 14ms, mad=0.0885/0.0134, median=15ms
iter #135: 14ms, mad=0.0888/0.0135, median=15ms
iter #136: 14ms, mad=0.0879/0.0136, median=15ms
iter #137: 14ms, mad=0.0871/0.0137, median=15ms
iter #138: 16ms, mad=0.0879/0.0138, median=15ms
iter #139: 14ms, mad=0.0871/0.0139, median=15ms
iter #140: 14ms, mad=0.0866/0.0140, median=15ms
iter #141: 14ms, mad=0.0856/0.0141, median=15ms
iter #142: 14ms, mad=0.0849/0.0142, median=15ms
iter #143: 16ms, mad=0.0849/0.0143, median=15ms
iter #144: 14ms, mad=0.0843/0.0144, median=15ms
iter #145: 14ms, mad=0.0837/0.0145, median=15ms
iter #146: 14ms, mad=0.0817/0.0146, median=15ms
iter #147: 14ms, mad=0.0798/0.0147, median=15ms
iter #148: 16ms, mad=0.0813/0.0148, median=15ms
iter #149: 14ms, mad=0.0798/0.0149, median=15ms
iter #150: 14ms, mad=0.0777/0.0150, median=15ms
iter #151: 14ms, mad=0.0756/0.0151, median=15ms
iter #152: 14ms, mad=0.0750/0.0152, median=15ms
iter #153: 16ms, mad=0.0749/0.0153, median=15ms
iter #154: 35ms, mad=0.0773/0.0154, median=15ms
iter #155: 33ms, mad=0.0799/0.0155, median=15ms
iter #156: 14ms, mad=0.0778/0.0156, median=15ms
iter #157: 14ms, mad=0.0756/0.0157, median=15ms
iter #158: 14ms, mad=0.0750/0.0158, median=15ms
iter #159: 14ms, mad=0.0744/0.0159, median=15ms
iter #160: 69ms, mad=0.0750/0.0160, median=15ms
iter #161: 8ms, mad=0.0751/0.0161, median=15ms
iter #162: 7ms, mad=0.0556/0.0162, median=14ms
iter #163: 7ms, mad=0.0637/0.0163, median=14ms
iter #164: 7ms, mad=0.0667/0.0164, median=14ms
iter #165: 7ms, mad=0.0697/0.0165, median=14ms
iter #166: 7ms, mad=0.0716/0.0166, median=14ms
iter #167: 7ms, mad=0.0734/0.0167, median=14ms
iter #168: 7ms, mad=0.0747/0.0168, median=14ms
iter #169: 7ms, mad=0.0759/0.0169, median=14ms
iter #170: 7ms, mad=0.0775/0.0170, median=14ms
iter #171: 8ms, mad=0.0790/0.0171, median=14ms
iter #172: 7ms, mad=0.0793/0.0172, median=14ms
iter #173: 7ms, mad=0.0797/0.0173, median=14ms
iter #174: 7ms, mad=0.0806/0.0174, median=14ms
iter #175: 7ms, mad=0.0815/0.0175, median=14ms
iter #176: 7ms, mad=0.0818/0.0176, median=14ms
iter #177: 7ms, mad=0.0821/0.0177, median=14ms
iter #178: 7ms, mad=0.0828/0.0178, median=14ms
iter #179: 7ms, mad=0.0836/0.0179, median=14ms
iter #180: 7ms, mad=0.0848/0.0180, median=14ms
iter #181: 7ms, mad=0.0859/0.0181, median=14ms
iter #182: 7ms, mad=0.0898/0.0182, median=14ms
iter #183: 8ms, mad=0.0936/0.0183, median=14ms
iter #184: 7ms, mad=0.0937/0.0184, median=14ms
iter #185: 7ms, mad=0.0938/0.0185, median=14ms
iter #186: 7ms, mad=0.0956/0.0186, median=14ms
iter #187: 7ms, mad=0.0975/0.0187, median=14ms
iter #188: 7ms, mad=0.1038/0.0188, median=14ms
iter #189: 7ms, mad=0.1102/0.0189, median=14ms
iter #190: 7ms, mad=0.1125/0.0190, median=14ms
iter #191: 7ms, mad=0.1148/0.0191, median=14ms
iter #192: 7ms, mad=0.1174/0.0192, median=14ms
iter #193: 7ms, mad=0.1199/0.0193, median=14ms
iter #194: 7ms, mad=0.1205/0.0194, median=14ms
iter #195: 8ms, mad=0.1210/0.0195, median=14ms
iter #196: 7ms, mad=0.1212/0.0196, median=14ms
iter #197: 7ms, mad=0.1214/0.0197, median=14ms
iter #198: 7ms, mad=0.1222/0.0198, median=14ms
iter #199: 7ms, mad=0.1229/0.0199, median=14ms
iter #200: 7ms, mad=0.1249/0.0200, median=14ms
iter #201: 7ms, mad=0.1270/0.0201, median=14ms
iter #202: 7ms, mad=0.1341/0.0202, median=14ms
iter #203: 7ms, mad=0.1412/0.0203, median=14ms
iter #204: 7ms, mad=0.1479/0.0204, median=14ms
iter #205: 7ms, mad=0.1547/0.0205, median=14ms
iter #206: 7ms, mad=0.1895/0.0206, median=14ms
iter #207: 8ms, mad=0.2244/0.0207, median=14ms
iter #208: 7ms, mad=0.3148/0.0208, median=14ms
iter #209: 7ms, mad=0.4047/0.0209, median=14ms
iter #210: 7ms, mad=0.4126/0.0210, median=14ms
iter #211: 7ms, mad=0.4206/0.0211, median=14ms
iter #212: 7ms, mad=0.4232/0.0212, median=14ms
iter #213: 7ms, mad=0.4258/0.0213, median=14ms
iter #214: 7ms, mad=0.4284/0.0214, median=14ms
iter #215: 7ms, mad=0.4310/0.0215, median=14ms
iter #216: 7ms, mad=0.4341/0.0216, median=14ms
iter #217: 7ms, mad=0.4371/0.0217, median=14ms
iter #218: 7ms, mad=0.4687/0.0218, median=14ms
iter #219: 7ms, mad=0.5003/0.0219, median=14ms
iter #220: 8ms, mad=0.4685/0.0220, median=14ms
iter #221: 7ms, mad=0.5002/0.0221, median=14ms
iter #222: 7ms, mad=0.5003/0.0222, median=14ms
iter #223: 7ms, mad=0.5004/0.0223, median=14ms
iter #224: 7ms, mad=0.5003/0.0224, median=14ms
iter #225: 7ms, mad=0.5002/0.0225, median=14ms
iter #226: 7ms, mad=0.5006/0.0226, median=14ms
iter #227: 7ms, mad=0.5010/0.0227, median=14ms
iter #228: 7ms, mad=0.5010/0.0228, median=14ms
iter #229: 7ms, mad=0.5010/0.0229, median=14ms
iter #230: 7ms, mad=0.5011/0.0230, median=14ms
iter #231: 7ms, mad=0.5013/0.0231, median=14ms
iter #232: 8ms, mad=0.5010/0.0232, median=14ms
iter #233: 7ms, mad=0.5007/0.0233, median=14ms
iter #234: 7ms, mad=0.5008/0.0234, median=14ms
iter #235: 7ms, mad=0.5009/0.0235, median=14ms
iter #236: 7ms, mad=0.5008/0.0236, median=14ms
iter #237: 7ms, mad=0.5007/0.0237, median=14ms
iter #238: 7ms, mad=0.5006/0.0238, median=14ms
iter #239: 7ms, mad=0.5005/0.0239, median=14ms
iter #240: 7ms, mad=0.5005/0.0240, median=14ms
iter #241: 7ms, mad=0.5005/0.0241, median=14ms
iter #242: 7ms, mad=0.5004/0.0242, median=14ms
iter #243: 7ms, mad=0.5003/0.0243, median=14ms
iter #244: 8ms, mad=0.5002/0.0244, median=14ms
iter #245: 7ms, mad=0.5002/0.0245, median=14ms
iter #246: 7ms, mad=0.5002/0.0246, median=14ms
iter #247: 7ms, mad=0.5003/0.0247, median=14ms
iter #248: 7ms, mad=0.5003/0.0248, median=14ms
iter #249: 7ms, mad=0.5003/0.0249, median=14ms
iter #250: 7ms, mad=0.5006/0.0250, median=14ms
iter #251: 7ms, mad=0.5008/0.0251, median=14ms
iter #252: 7ms, mad=0.5008/0.0252, median=14ms
iter #253: 7ms, mad=0.5008/0.0253, median=14ms
iter #254: 7ms, mad=0.5007/0.0254, median=14ms
iter #255: 7ms, mad=0.5006/0.0255, median=14ms
iter #256: 8ms, mad=0.5006/0.0256, median=14ms
iter #257: 7ms, mad=0.5006/0.0257, median=14ms
iter #258: 8ms, mad=0.5005/0.0258, median=14ms
iter #259: 7ms, mad=0.5006/0.0259, median=14ms
iter #260: 7ms, mad=0.5006/0.0260, median=14ms
iter #261: 7ms, mad=0.5006/0.0261, median=14ms
iter #262: 7ms, mad=0.5006/0.0262, median=14ms
iter #263: 7ms, mad=0.5007/0.0263, median=14ms
iter #264: 7ms, mad=0.5006/0.0264, median=14ms
iter #265: 7ms, mad=0.5004/0.0265, median=14ms
iter #266: 7ms, mad=0.5004/0.0266, median=14ms
iter #267: 7ms, mad=0.5004/0.0267, median=14ms
iter #268: 7ms, mad=0.5004/0.0268, median=14ms
iter #269: 8ms, mad=0.5002/0.0269, median=14ms
iter #270: 7ms, mad=0.5003/0.0270, median=14ms
iter #271: 7ms, mad=0.5003/0.0271, median=14ms
iter #272: 7ms, mad=0.5004/0.0272, median=14ms
iter #273: 7ms, mad=0.5004/0.0273, median=14ms
iter #274: 7ms, mad=0.5005/0.0274, median=14ms
iter #275: 7ms, mad=0.5004/0.0275, median=14ms
iter #276: 7ms, mad=0.5003/0.0276, median=14ms
iter #277: 7ms, mad=0.5001/0.0277, median=14ms
iter #278: 7ms, mad=0.4998/0.0278, median=14ms
iter #279: 7ms, mad=0.4996/0.0279, median=14ms
iter #280: 7ms, mad=0.4994/0.0280, median=14ms
iter #281: 8ms, mad=0.4991/0.0281, median=14ms
iter #282: 7ms, mad=0.4989/0.0282, median=14ms
iter #283: 7ms, mad=0.4988/0.0283, median=14ms
iter #284: 7ms, mad=0.4989/0.0284, median=14ms
iter #285: 7ms, mad=0.4989/0.0285, median=14ms
iter #286: 7ms, mad=0.4990/0.0286, median=14ms
iter #287: 7ms, mad=0.4991/0.0287, median=14ms
iter #288: 7ms, mad=0.4992/0.0288, median=14ms
iter #289: 7ms, mad=0.4991/0.0289, median=14ms
iter #290: 7ms, mad=0.4989/0.0290, median=14ms
iter #291: 7ms, mad=0.4986/0.0291, median=14ms
iter #292: 7ms, mad=0.4976/0.0292, median=14ms
iter #293: 8ms, mad=0.4966/0.0293, median=14ms
iter #294: 7ms, mad=0.4966/0.0294, median=14ms
iter #295: 7ms, mad=0.4966/0.0295, median=14ms
iter #296: 7ms, mad=0.4967/0.0296, median=14ms
iter #297: 7ms, mad=0.4966/0.0297, median=14ms
iter #298: 7ms, mad=0.4965/0.0298, median=14ms
iter #299: 7ms, mad=0.4964/0.0299, median=14ms
iter #300: 7ms, mad=0.4963/0.0300, median=14ms
iter #301: 7ms, mad=0.4962/0.0301, median=14ms
iter #302: 7ms, mad=0.4961/0.0302, median=14ms
iter #303: 7ms, mad=0.4960/0.0303, median=14ms
iter #304: 7ms, mad=0.4956/0.0304, median=14ms
iter #305: 8ms, mad=0.4951/0.0305, median=14ms
iter #306: 7ms, mad=0.4951/0.0306, median=14ms
iter #307: 7ms, mad=0.4951/0.0307, median=14ms
iter #308: 7ms, mad=0.4951/0.0308, median=14ms
iter #309: 7ms, mad=0.4951/0.0309, median=14ms
iter #310: 7ms, mad=0.4949/0.0310, median=14ms
iter #311: 7ms, mad=0.4947/0.0311, median=14ms
iter #312: 7ms, mad=0.4945/0.0312, median=14ms
iter #313: 7ms, mad=0.4942/0.0313, median=14ms
iter #314: 12ms, mad=0.4940/0.0314, median=14ms
iter #315: 7ms, mad=0.4938/0.0315, median=14ms
iter #316: 16ms, mad=0.4940/0.0316, median=14ms
iter #317: 8ms, mad=0.4938/0.0317, median=14ms
iter #318: 7ms, mad=0.4936/0.0318, median=14ms
iter #319: 7ms, mad=0.4935/0.0319, median=14ms
iter #320: 7ms, mad=0.4935/0.0320, median=14ms
iter #321: 16ms, mad=0.4935/0.0321, median=14ms
iter #322: 7ms, mad=0.4935/0.0322, median=14ms
iter #323: 7ms, mad=0.4934/0.0323, median=14ms
iter #324: 7ms, mad=0.4571/0.0324, median=13ms
iter #325: 7ms, mad=0.4152/0.0325, median=12ms
iter #326: 7ms, mad=0.3329/0.0326, median=10ms
iter #327: 7ms, mad=0.2065/0.0327, median=8ms
iter #328: 7ms, mad=0.1941/0.0328, median=8ms
iter #329: 7ms, mad=0.1813/0.0329, median=8ms
iter #330: 7ms, mad=0.1771/0.0330, median=8ms
iter #331: 7ms, mad=0.1729/0.0331, median=8ms
iter #332: 7ms, mad=0.1694/0.0332, median=8ms
iter #333: 7ms, mad=0.1659/0.0333, median=8ms
iter #334: 7ms, mad=0.1621/0.0334, median=8ms
iter #335: 7ms, mad=0.1583/0.0335, median=8ms
iter #336: 7ms, mad=0.1543/0.0336, median=8ms
iter #337: 7ms, mad=0.1503/0.0337, median=8ms
iter #338: 7ms, mad=0.1491/0.0338, median=8ms
iter #339: 7ms, mad=0.1479/0.0339, median=8ms
iter #340: 7ms, mad=0.1478/0.0340, median=8ms
iter #341: 7ms, mad=0.1476/0.0341, median=8ms
iter #342: 8ms, mad=0.1475/0.0342, median=8ms
iter #343: 7ms, mad=0.1471/0.0343, median=8ms
iter #344: 7ms, mad=0.1471/0.0344, median=8ms
iter #345: 7ms, mad=0.1470/0.0345, median=8ms
iter #346: 7ms, mad=0.1461/0.0346, median=8ms
iter #347: 7ms, mad=0.1453/0.0347, median=8ms
iter #348: 7ms, mad=0.1431/0.0348, median=8ms
iter #349: 7ms, mad=0.1409/0.0349, median=8ms
iter #350: 7ms, mad=0.1389/0.0350, median=8ms
iter #351: 7ms, mad=0.1370/0.0351, median=8ms
iter #352: 7ms, mad=0.1350/0.0352, median=8ms
iter #353: 7ms, mad=0.1330/0.0353, median=8ms
iter #354: 8ms, mad=0.1350/0.0354, median=8ms
iter #355: 7ms, mad=0.1330/0.0355, median=8ms
iter #356: 7ms, mad=0.1318/0.0356, median=8ms
iter #357: 7ms, mad=0.1306/0.0357, median=8ms
iter #358: 7ms, mad=0.1298/0.0358, median=8ms
iter #359: 7ms, mad=0.1289/0.0359, median=8ms
iter #360: 7ms, mad=0.0902/0.0360, median=7ms
iter #361: 7ms, mad=0.0501/0.0361, median=7ms
iter #362: 7ms, mad=0.0457/0.0362, median=7ms
iter #363: 7ms, mad=0.0413/0.0363, median=7ms
iter #364: 7ms, mad=0.0392/0.0364, median=7ms
iter #365: 7ms, mad=0.0371/0.0365, median=7ms
iter #366: 8ms, mad=0.0392/0.0366, median=7ms
iter #367: 7ms, mad=0.0371/0.0367, median=7ms
iter #368: 7ms, mad=0.0360/0.0368, median=7ms
RSS: 2175.8MiB
MAXRSS: 2478.7MiB
RSS sampled (n=184): median 2138.5MiB ± 0.1MiB (MAD), range [2064.4, 2157.1]MiB
Benchmarking took 0 minutes 15 seconds
Statistics for the second half of iterations (considered warmed up):
median: 7ms +/- 0.044ms (0.61%) (median absolute deviation)
mean:   7ms +/- 1.071ms (14.59%) (standard deviation)
range: [7-16]ms
Total time spent benchmarking: 180s

cruby: ruby 4.1.0dev (2026-08-28T19:04:48Z master 90e729c9bc) +PRISM [x86_64-linux]
yjit: ruby 4.1.0dev (2026-08-28T19:04:48Z master 90e729c9bc) +YJIT +PRISM [x86_64-linux]
zjit: ruby 4.1.0dev (2026-08-28T19:04:48Z master 90e729c9bc) +ZJIT +PRISM [x86_64-linux]
jruby: jruby 10.1.1.0 (4.0.0) 2026-07-22 aaa95d57e1 OpenJDK 64-Bit Server VM 21.0.12+8-1-24.04-Ubuntu on 21.0.12+8-1-24.04-Ubuntu +indy +jit [x86_64-linux]
truffleruby: truffleruby 34.0.1 (2026-04-26), like ruby 3.4.9, Oracle GraalVM JVM [x86_64-linux]

-------------  ------------  ------------  ----------  ------------  ----------------  ------------  ------------  -------------  -------------------  ----------  ----------  -----------  -----------------
bench            cruby (ms)     yjit (ms)   zjit (ms)    jruby (ms)  truffleruby (ms)  yjit 1st itr  zjit 1st itr  jruby 1st itr  truffleruby 1st itr  cruby/yjit  cruby/zjit  cruby/jruby  cruby/truffleruby
30k_variables  641.6 ± 0.2%  392.0 ± 1.9%  6.1 ± 0.1%  249.3 ± 1.7%       7.3 ± 14.6%         0.179         1.175          0.076                0.374       1.637     104.454        2.573             87.395
-------------  ------------  ------------  ----------  ------------  ----------------  ------------  ------------  -------------  -------------------  ----------  ----------  -----------  -----------------

Legend:
- yjit 1st itr: ratio of cruby/yjit time for the first benchmarking iteration.
- cruby/yjit: ratio of cruby/yjit time. Higher is better for yjit. Above 1 represents a speedup.
- zjit 1st itr: ratio of cruby/zjit time for the first benchmarking iteration.
- cruby/zjit: ratio of cruby/zjit time. Higher is better for zjit. Above 1 represents a speedup.
- jruby 1st itr: ratio of cruby/jruby time for the first benchmarking iteration.
- cruby/jruby: ratio of cruby/jruby time. Higher is better for jruby. Above 1 represents a speedup.
- truffleruby 1st itr: ratio of cruby/truffleruby time for the first benchmarking iteration.
- cruby/truffleruby: ratio of cruby/truffleruby time. Higher is better for truffleruby. Above 1 represents a speedup.

Output:
/home/k0kubun/src/github.com/ruby/ruby-bench/data/output_2824.json

@tekknolagi

Copy link
Copy Markdown
Contributor

I like this for the paper. I think it would also be interesting to have a benchmark that has treatment of EP escape too. Perhaps another benchmark.

@k0kubun
k0kubun merged commit c1de6a9 into ruby:main Aug 29, 2026
11 checks passed
@k0kubun
k0kubun deleted the 30k-variables branch August 29, 2026 16:15
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.

2 participants