[ruby-list:45490] Re: _volatileの付け方

From: 谷垣 宏一 <co01@...>
Date: 2008-09-11 13:11:30 UTC
List: ruby-list #45490
谷垣です。 

>以下のAPIでRubyの配列に格納するのが無難だと思いますが…
>
>VALUE rb_ary_new _((void));
>VALUE rb_ary_new2 _((long));
>VALUE rb_ary_new3 __((long,...));
>VALUE rb_ary_new4 _((long, const VALUE *));
>
>あえてC言語の配列に格納する意味があるのでしょうか?

はい。どうしても高速化が必要でして。。。

ちょっと複雑な数値計算をするプログラムが必要で、私の
好きなRubyでプロトタイプを作ったのですが、答えが得ら
れるまで数ヶ月くらいかかることがわかり、何とか2〜3週
間で終わるように、高速化の努力をしています。

単一の構造のデータだけを扱うわけではないので、モジュールの
外側にはRubyの柔軟性を活かしつつ、データを設定後は
極力Cだけで高速に回るよう、主要なクラスを全てC構造体+
Rubyラッパに書き換えましたが、Bus Error やら
rb_gc_mark(): unknown data type ... non object やらが出て
悩んでおります。:-(



In This Thread