
Issue #21164 has been updated by k0kubun (Takashi Kokubun). Thanks for updating the script. I still can't reproduce your issue. ``` $ chruby 3.3.7; ruby -v --disable-gems --jit array.rb ruby 3.3.7 (2025-01-15 revision be31f993d7) +YJIT [x86_64-linux] 0.7517766600003597 $ chruby 3.4.2; ruby -v --disable-gems --jit array.rb ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +YJIT +PRISM [x86_64-linux] 0.7428871890006121 ``` You somehow need to make the issue reproducible on our end to make this ticket actionable on our end. I think one problem with this script is that this does so many different things that some things may go faster while others may go slower. Can you simplify the benchmark script further while still reproducing a significant slowdown in your environment? At the moment, you call a lot of different methods (`Array.new`, `Array#each`, `<<`, `[]`, `+`, `/`, `%`), but it'd be nice to use as fewer methods as possible in the benchmark script. Also, please consider allocating `c = Array.new(n + 1, 0)` outside `Benchmark.realtime`. ---------------------------------------- Bug #21164: Performance Regression using --jit https://bugs.ruby-lang.org/issues/21164#change-112151 * Author: purbug28 (puni ru) * Status: Feedback * ruby -v: ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x86_64-linux] * Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN, 3.4: UNKNOWN ---------------------------------------- Ruby 3.4.2 --jit runs slower than no JIT, while Ruby 3.3.7 --jit runs faster. ```ruby # frozen_string_literal: true n = 200000 c = Array.new(n + 1, 0) (1..n).each do |i| a = [] m = 100 (1..m).each do a << i c[i] += 1 a << i / m c[i % m] += 1 end end puts c.sum ``` results of /usr/bin/time ruby 3.4.2 --jit : 1.98user 0.03system 0:02.02elapsed 99%CPU (0avgtext+0avgdata 19692maxresident)k no JIT: 1.77user 0.02system 0:01.80elapsed 99%CPU (0avgtext+0avgdata 18916maxresident)k ruby 3.3.7 --jit : 1.20user 0.05system 0:01.26elapsed 99%CPU (0avgtext+0avgdata 23220maxresident)k no JIT: 1.81user 0.02system 0:01.83elapsed 99%CPU (0avgtext+0avgdata 22952maxresident)k `ruby -v --jit` ``` ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +YJIT +PRISM [x86_64-linux] ``` -- https://bugs.ruby-lang.org/