[ruby-dev:45294] Re: GVL改善案

From: "U.Nakamura" <usa@...>
Date: 2012-02-27 15:41:47 UTC
List: ruby-dev #45294
こんにちは、なかむら(う)です。

In message "[ruby-dev:43483] Re: GVL改善案"
    on May.09,2011 07:19:30, <[email protected]> wrote:
> |0 until hogehoge
> |
> |みたいなビジーループ書くとハマるので、これを「直すべき」とするか、
> |「言語仕様だ、ユーザは気をつけてスクリプト書きやがれ」とするか決めないと
> |いけない。とかとか
> 
> 「直すべき」でしょう。

いきなり10ヶ月くらい前のネタを蒸し返しますけど、その後r32064
で該当コードが入れられて、以降は250ms(実際は100ms単位でしか判
定されないので300ms)に一度しかスレッドが切り替わらなくなって
います。

簡単な例だとこんな感じ。
  ruby -e 'Thread.new{loop{}}; loop{p Time.now.usec; Thread.pass}

ruby-coreでは賞金までかけられてますが([ruby-core:42972])、ず
ばりこれが原因です。


それでは。
-- 
U.Nakamura <[email protected]>


In This Thread