From: Hidetoshi NAGAI Date: 2009-09-21T16:52:33+09:00 Subject: [ruby-dev:39360] Re: [ruby19] Thread 切替えが異常に遅い? 永井@知能.九工大です. From: SASADA Koichi Subject: [ruby-dev:39358] Re: [ruby19] Thread 切替えが異常に遅い? Date: Sun, 20 Sep 2009 23:57:02 +0900 Message-ID: <4AB642BA.8090500@atdot.net> >  ちなみに,CPU とか環境はなんでしょうか.SMP(マルチコアなど)環境だ > と,遅くなることがわかっていて,なんとかしたいなぁ,と思いながら数年たっ > てしまいました.1.9.2 までにはなんとかする,余裕が欲しい. Thread#raise が極端に遅くなっていたりしませんか? こういうの(↓)を 1.8 と 1.9 とで試すと, ------------------------------------------- th = Thread.new{ begin sleep rescue retry end } 1000.times{ Thread.pass until th.status == 'sleep' th.raise RuntimeError.new('hoge') } ------------------------------------------------- こんな感じ(↓)になります. $ ruby -v ruby 1.8.8dev (2009-08-07 revision 24442) [i686-linux] $ time ruby a.rb real 0m0.044s user 0m0.040s sys 0m0.004s $ ruby19 -v ruby 1.9.2dev (2009-09-19) [i686-linux] $ time ruby19 a.rb real 1m47.132s user 0m0.012s sys 0m0.004s うちの環境だけの問題でしょうか. -- 永井 秀利 (nagai@ai.kyutech.ac.jp) 九州工業大学 大学院情報工学研究院 知能情報工学研究系 知能情報メディア部門