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

From: 横山(KOJIMA) <yokotatu@...>
Date: 2008-09-11 13:25:28 UTC
List: ruby-list #45491
横山と申します。
もし、そういう理由でしたら、
あえて、拡張ライブラリにせず、
シンプルにファイル渡しにされてはいかがですか。
以下のような手順になるかとおもいますが。
1.rubyでC言語の処理で必要となるパラメータを
全て、ファイルに書き出す。
2.C言語の処理をrubyから呼び出す。(systemを使用)
3.C言語側で、ファイルを読込、しょりする。
4.結果を別なファイルに書き出す。
5.rubyで結果がかかれたファイルを読み込む。
以上、参考までに。

----- Original Message ----- 
From: "谷垣 宏一" <co01@mac.com>
To: "ruby mailing list" <ruby-list@ruby-lang.org>
Sent: Thursday, September 11, 2008 10:11 PM
Subject: [ruby-list:45490] Re: _volatileの付け方


> 谷垣です。
>
> >以下の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