[#30232] [patch] rb_type(): シンボル型に対する型判定が怪しい — "Yoshinori Sano" <yoshinori.sano@...>
さの よしのり です。
6 messages
2007/02/01
[#30241] 質問: 関数風メソッド呼び出しのYARV命令列について — "Yoshinori Sano" <yoshinori.sano@...>
さの よしのり です
7 messages
2007/02/01
[#30259] getinstancevariable2 — SASADA Koichi <ko1@...>
ささだです。
5 messages
2007/02/05
[#30263] exception on Singleton — SASADA Koichi <ko1@...>
ささだです。
10 messages
2007/02/05
[#30273] Re: exception on Singleton
— SASADA Koichi <ko1@...>
2007/02/05
ささだです.
[#30332] Re: exception on Singleton
— SASADA Koichi <ko1@...>
2007/02/14
ささだです。
[#30284] Re: 1.8.5 release on 3/3 — Urabe Shyouhei <shyouhei@...>
卜部です。1.8.5も3/3に同時リリースするといいと思いました。
14 messages
2007/02/06
[#30293] Re: 1.8.5 release on 3/3
— Shugo Maeda <shugo@...>
2007/02/06
前田です。
[#30307] Re: [ruby-cvs:18927] Ruby:r11679: * ext/thread: Make style fixes (mostly de-K&R'ism) to match the — Nobuyoshi Nakada <nobu@...>
なかだです。
8 messages
2007/02/09
[#30312] Re: [ruby-cvs:18927] Ruby:r11679: * ext/thread: Make style fixes (mostly de-K&R'ism) to match the
— "Akinori MUSHA" <knu@...>
2007/02/10
At Sat, 10 Feb 2007 00:00:44 +0900,
[#30321] [ruby_1_8] can't grub Digest::SHAxxx on powerpc-darwin — Tadashi Saito <shiba@...2.accsnet.ne.jp>
こんばんは。斎藤と申します。
5 messages
2007/02/11
[#30328] Re: [ruby-cvs:18955] Ruby:r11707: * ext/win32ole/win32ole.c (ole_variant2val): support VT_I8, VT_UI8. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
3 messages
2007/02/13
[#30338] backporting URI to ruby_1_8 — "Akinori MUSHA" <knu@...>
lib/uri を trunk から ruby_1_8 にマージします。
7 messages
2007/02/14
[#30362] Re: class local instance variable — "Park Ji-In" <tisphie@...>
44GT44KT44Gw44KT44Gv44CC5py0IOiKneWNsCDjgajnlLPjgZfjgb7jgZnjgIIKCuWIneOCgeOB
5 messages
2007/02/16
[#30373] Ruby 1.8.6 preview1 has been released — "Akinori MUSHA" <knu@...>
Ruby 1.8.6 preview1 をリリースしました。
5 messages
2007/02/17
[#30396] unsupported: th_call0 in 1.9 — "KUBO Takehiro" <kubo@...>
久保です。
5 messages
2007/02/21
[#30404] ruby-1.8 で SEGV — Tomoyuki Chikanaga <chikanag@...>
日本コントロールシステム(株)の近永と申します。
6 messages
2007/02/24
[#30433] Re: ruby-1.8 で SEGV
— Chikanaga Tomoyuki <chikanag@...>
2007/02/26
日本コントロールシステム(株)の近永と申します。
[#30407] Arrayのメソッド増強について — Minero Aoki <aamine@...>
青木です。
7 messages
2007/02/24
[#30408] Ruby 1.8.6 preview2 has been released — "Akinori MUSHA" <knu@...>
Ruby 1.8.6 preview2 をリリースしました。
20 messages
2007/02/24
[#30414] fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released)
— Hidetoshi NAGAI <nagai@...>
2007/02/25
永井@知能.九工大です.
[#30418] Re: fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released)
— Nobuyoshi Nakada <nobu@...>
2007/02/25
なかだです。
[#30419] Re: fail to autoload at $SAFE==4
— Hidetoshi NAGAI <nagai@...>
2007/02/25
永井@知能.九工大です.
[#30434] Re: fail to autoload at $SAFE==4
— Nobuyoshi Nakada <nobu@...>
2007/02/27
なかだです。
[#30435] Re: fail to autoload at $SAFE==4
— Hidetoshi NAGAI <nagai@...>
2007/02/27
永井@知能.九工大です.
[#30437] Re: fail to autoload at $SAFE==4
— "Nobuyoshi Nakada" <nobu@...>
2007/02/27
なかだです。
[#30412] fastthreadについて — Shugo Maeda <shugo@...>
前田です。
9 messages
2007/02/25
[#30439] Re: MIME decoding confused by non-MIME characters — Urabe Shyouhei <shyouhei@...>
-devに振ってみる。
9 messages
2007/02/27
[#30440] Re: MIME decoding confused by non-MIME characters
— "H.Holon" <holon@...>
2007/02/27
はじめてこちらには postします。相馬と申します。
[#30441] Re: MIME decoding confused by non-MIME characters
— "H.Holon" <holon@...>
2007/02/27
相馬です。
[#30445] Re: MIME decoding confused by non-MIME characters
— "H.Holon" <holon@...>
2007/02/27
相馬です。
[ruby-dev:30428] Re: fastthreadについて
From:
"Akinori MUSHA" <knu@...>
Date:
2007-02-26 06:13:29 UTC
List:
ruby-dev #30428
At Sun, 25 Feb 2007 17:03:17 +0900,
Shugo Maeda wrote:
> ちょっと遅きに失した感もありますが、fastthreadのコードレビューを
> しましたので、いくつか気付いた点を。
ありがとうございます!
このようなものは本来 trunk で実験すべきですが、タイミング的に
今の trunk は落ち着いていないので、 ruby_1_8 で公開テストして
いるという状況です。(下の方に続く)
> (1) rb_thread_wakeup()のrb_rescue2()
>
> rb_thread_wakeup()をrb_rescue2()で実行してThreadErrorを無視する
> ようにしていますが、THREAD_KILLEDなスレッドはスキップして次の
> スレッドをwakeupしないと、だれもMutexを獲得できなくなってまずい
> ような気がします。
別メールの通り、返り値を見てループを継続しているので大丈夫そう
ですね。
> (2) Marshalの対応
>
> Marshalでlockでブロックしている時にもdump/loadできるようになって
> いますが、今のMutexではlock中はdump/loadできないので非互換ですね。
> JavaのObjectもdump/loadできる(Javaだとモニタ機構はObjectに備わって
> います)ので問題ないとは思うのですが、この点については十分検討されて
> いますでしょうか。
気づきませんでした。検討します。
> (3) malloc/free
>
> malloc/freeを使ってますが、xmalloc/xfreeにした方がよいのでは
> ないでしょうか。
修正します。
> (4) rb_thread_critical
>
> いくつかrb_thread_criticalの操作をしていますが、Cレベルでは
> ある種のRuby APIを呼ばないかぎりはスケジューリングイベントは
> 発生しないので不要ではないでしょうか。
確かに。設定している値も統一感がないので見直してみます。
> (5) Queue
>
> QueueはRubyレベルでMutex/ConditionVariableを使って実装した方が
> いいように思います。
> # というか、Queueという名前もちょっとあれなので、1.9では
> # Thread::Queueとかにした方がいい気も。
> そうすると、ListのsizeなどはMutex/ConditionVariableの実現には
> 不要なので削ることもできますね。
作者とも相談してみます。
> (6) 実績
>
> Mongrelで使っているので実績があるということですが、ConditionVariable
> は使われていないように思います。
> どちらかというとConditionVariableの方が問題が起きやすいかもしれません。
> あと、スレッドがらみだとあるアプリケーションで問題ないからといって、
> 他のアプリケーションで問題ないとはいえないので、複数のアプリケーション
> で検証した方が望ましいですね。
これは大きな課題です。マルチスレッドの手頃なテストスイートが
ないこともありますが、デバッグのしにくさも問題です。
逆に、こうして Mutex や ConditionVariable を拡張ライブラリ化
することで各処理を制御下に置けるので、例えばロックや変数の値の
変更の前後で意図的にコンテクストスイッチを発生させ、スレッド・
ロック・変数の状態をモニタするような機能を付加したりはしやすく
なると思います。
> (7) メンテナ
>
> fastthreadのメンテナは誰になるのでしょうか?
落ち着くまでは作者の MentTaLguY です。メールでやりとりして
いる限りコミュニケーションに問題はないので、何かあれば気軽に
連絡してあげてください。
> 最後の方はコードと関係なくなってますね;p
> 他にも何かあったような気がしますが、忘れました。
> 全体的に致命的な問題があるわけではない(lib/thread.rbと同じ程度
> には上手く動きそう)と思うのですが、ちょっと不安です。
>
> といって今のタイミングでコードをいじるのも恐いのですが、どうする
> べきでしょうか。
テスト促進のため ruby_1_8_6 にも入れて preview してもらって
いますが、もし問題が見つかった場合には、最終リリースは
--disable-fastthread をデフォルトにして出荷することにしています。
> 1.8.5もメンテナンスされることですし、このままえいやっと入れて
> しまってもいいですかね。
はい、同様に 1.8.6 もメンテナンスされます。パッチリリース(-p#)
という新しい品質向上サイクルができたことで、少し楽観的な方針に
なっています。
1.8.6 最終リリースをどうするかは、以上のレビュー結果への対応の
中で決めたいと思います。
--
/
/__ __ Akinori.org / MUSHA.org
/ ) ) ) ) / FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp
"Different eyes see different things,
Different hearts beat on different strings --
But there are times for you and me when all such things agree"