
Issue #19911 has been updated by k0kubun (Takashi Kokubun). Status changed from Open to Feedback You're measuring a lot other things by using the `time` command to benchmark the script. It's more accurate to measure the time inside a script. ``` $ ruby -v -e 't = Time.new; require "json"; puts "%.3fs" % (Time.new - t)' ruby 2.7.7p221 (2022-11-24 revision 168ec2b1e5) [x86_64-linux] 0.003s $ ruby -v -e 't = Time.new; require "json"; puts "%.3fs" % (Time.new - t)' ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux] 0.003s ``` ---------------------------------------- Bug #19911: require slower with ruby/3.2.2 https://bugs.ruby-lang.org/issues/19911#change-104826 * Author: ashwinsurya14 (Ashwin Surya Kumar Sivasubramanian) * Status: Feedback * Priority: Normal * ruby -v: ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- we tested require with ruby 3.2.2 and ruby 2.7.2 and its seems to slowdown considerabily the test case: Ruby 3.2.2 command: time ruby -e 'require "json"' time: user=0.19s system=0.02s cpu=99% total=0.204 Ruby 2.7.2 command: time ruby -e 'require "json"' time: user=0.05s system=0.02s cpu=98% total=0.064 We also saw the same slowdown with File.read Not sure that is casuing the slowdown in require also On side note we saw three times more lstat on strace with the above command on ruby/3.2.2.Not sure if that is the root cause I also tested with multiple versions of ruby 2* starting with ruby/2.3.1 and it doesnt seem to have this slowdown -- https://bugs.ruby-lang.org/