[ruby-trunk - Bug #6098] Re: GVL改善案

Issue #6098 has been updated by Koichi Sasada.

Assignee set to Motohiro KOSAKI
ruby -v set to ?


Bug #6098: Re: GVL改善案

Author: Usaku NAKAMURA
Status: Open
Priority: Normal
Assignee: Motohiro KOSAKI
Category:
Target version:
ruby -v: ?

こんにちは、なかむら(う)です。

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]