😎

[Bug #21119] CPU を消費するスレッドがある場合に Dir.glob の処理が必要に遅くなるバグ報告

に公開

[Bug #21119] Programs containing Dir.glob with a thread executing a CPU-heavy task run very slowly.

  • CPU を大量に消費するスレッドがある場合に Dir.glob の処理が必要に遅くなるバグ報告
  • チケットだと以下のようなコードが提示されているんですが Ruby 3.3.6 だと 2.2秒で完了するのに対して Ruby 3.4.1 だと 119.43秒もかかるようになっているみたいです
# Launch a thread to execute CPU-heavy task
Thread.new do
  loop do
    arr = []
    100.times do
      arr << rand(1...100)
    end
  end
end

# Execute a program containing `Dir.glob` in the main thread.
10.times do
  Dir.glob('*')
  puts "aaaa"
end
GitHubで編集を提案

Discussion