[#31166] is_ruby_native_thread() — Masahiro Sakai (酒井政裕) <masahiro.sakai@...>

酒井です。

16 messages 2007/07/08
[#31269] Re: is_ruby_native_thread() — Nobuyoshi Nakada <nobu@...> 2007/07/21

なかだです。

[#31270] Re: is_ruby_native_thread() — Hidetoshi NAGAI <nagai@...> 2007/07/22

永井@知能.九工大です.

[#31298] retryの使い方 — eklerni <eklerni@...>

松尾といいます。

52 messages 2007/07/25
[#31299] Re: retryの使い方 — SASADA Koichi <ko1@...> 2007/07/26

 ささだです。

[#31300] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/26

松尾です、返信ありがとうございます。

[#31303] Re: retryの使い方 — Yugui <yugui@...> 2007/07/26

Yuguiといいます。

[#31306] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/26

松尾といいます。

[#31308] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/07/26

In article <46A909DD.1070405@for.mail-box.ne.jp>,

[#31310] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/26

Tanaka Akira さんは書きました:

[#31314] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/07/30

In article <46A92530.80507@for.mail-box.ne.jp>,

[#31315] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/30

Tanaka Akira さんは書きました:

[#31316] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/07/30

In article <46AD7A16.8080509@for.mail-box.ne.jp>,

[#31317] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/31

松尾です。

[#31381] Re: retryの使い方 — SASADA Koichi <ko1@...> 2007/08/12

 ささだです。

[#31422] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/15

まつもと ゆきひろです

[#31425] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/15

In article <E1ILDTi-0005T6-Be@x31>,

[#31426] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/15

まつもと ゆきひろです

[#31433] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/16

In article <E1ILKn6-0003Nv-0f@x31>,

[#31435] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/16

まつもと ゆきひろです

[#31447] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/16

In article <E1ILVN9-0006xJ-7I@x31>,

[#31450] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/17

In article <E1ILq4x-0002Bs-Lg@x31>,

[#31451] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/17

まつもと ゆきひろです

[ruby-dev:31276] Re: is_ruby_native_thread()

From: Hidetoshi NAGAI <nagai@...>
Date: 2007-07-23 03:54:43 UTC
List: ruby-dev #31276
永井@知能.九工大です.

From: SASADA Koichi <ko1@atdot.net>
Subject: [ruby-dev:31275] Re: is_ruby_native_thread()
Date: Mon, 23 Jul 2007 11:20:40 +0900
Message-ID: <46A4107A.6030207@atdot.net>
>  (1) に有効な方法が思いつかないので、(2) しか無いんじゃないか
> なぁ。
> 
>  グローバル変数に linked list か hash へのポインタを加えてあ
> げて、アクセスは必ず排他制御する感じのものが。
> 
>  性能に影響が出るほど利用頻度は高いですか?

一つは,外部ライブラリがその内部ルーチンで native thread を
生成する可能性があるケースです.
ruby への call が一切無いことが保証されるならいいのですが,
そうでない場合には毎回のチェックを必要とする可能性があります.

ある固定スレッドに必ず ruby 呼び出し処理を依頼するという方法も
もちろんありますが,効率を考えると,直接呼べる限りは直接呼びたいと
考えるのが人情ですよね.

ただ,「毎度のスレッド切り替えに比べれば軽いから (2) でいいじゃん」
って主張もありそうですね.

もう一つは,割り込み処理です.
割り込み処理を ruby で登録している場合,
割り込みを受け付けた native thread が ruby を呼べるかどうかを
チェックする必要がありますよね?
割り込み処理は少しでも早くに完了させるべきですので,
チェックもわずかでも早いに越したことはないはずです.

# 現在の 1.9 の signal.c では問題なしということであればごめんなさい.

>  あと、is_* という名前はあれなので、出来れば rb_ がついたナイ
> スな名前になるといいなぁ、とは思います。互換性の点から難しいかな。

これは変更しちゃってもいいと思います.
is_ruby_native_thread() でのチェックを必要とするようなライブラリは,
1.9 対応のためには,多分,それなりの量の書き直しを必要とするでしょうから.
-- 
                                       永井 秀利 (九工大 知能情報)
                                           nagai@ai.kyutech.ac.jp

In This Thread