⛳
[Bug #21032] $LOAD_PATH に相対パスが含まれていると Module#autoload? が遅くなるというバグ報告
[Bug #21032] Module#autoload?
is slow when $LOAD_PATH
contains a relative path
-
$LOAD_PATH
に相対パスが含まれている場合にModule#autoload?
が遅くなるというバグ報告 - 手元だと次のようなコードを実行した時に相対パスが含まれていると10倍近く遅くなりますね…
require 'benchmark'
$LOAD_PATH << 'relative-path'
autoload :FOO, '/tmp/foo.rb'
puts Benchmark.realtime {
500_000.times do
Object.autoload?(:FOO)
end
}
- これが Zeitwerk にまで影響を及ぼしているみたいですね
- この不具合は開発版の Ruby 3.5-dev で修正済みです
Discussion