matz / ruby-lang.org (Yukihiro Matsumoto) wrote :
    [ [ruby-ext:02275] Re: ruby-src:ruby/README.EXT.ja ]
    at Tue, 11 May 2004 22:33:03 +0900

 ささだです。

> いや、独立したオブジェクト空間しか考えてません。しかし、引数
> を増やさないためにはスレッドローカルならぬインタプリタオブジェ
> クトローカルの変数が必要な気がしますが。

 ちょうどそのメールで、スレッドローカル変数のことを書こうか書
くまいか悩んで、結局落としました。

 (システムに依存する、Cの)スレッドローカル変数に、インタプ
リタオブジェクトを突っ込んで、既存の API との互換性を取るとか、
そういうことを考えてました。というか、昨年の温泉offでそんな話
を伺ったような気がします。

pthread_getspecific がどれくらいのオーバヘッドになるかとか、
そんなのが問題になりましょうか。Windows だと、専用セグメント
があったような気がしたんで、速いんでしょうか。使ったこと無い
けど。Linux kernel 2.6 からの NTPL では、たしかそんなのが入っ
てた気がする。*BSD 系の実装は知らない。


> 上記のようなインタプリタオブジェクトローカルの変数を考えてい
> なかったので。

 この API というのは GC関係にかかっていたんですね。

 って、あれ? Data_Wrap_Struct も、インタプリタ独立になるんだ
ろうか。なってもいいような気もする。でも、klass が独立なら、別
にこれに引数を追加する必要もないか。


 いろいろとありがとうございました。>まつもとさん、Tietew さん。

-- 
// SASADA Koichi @ namikilab.tuat.ac.jp
//