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

From: rubikitch@...
Date: 2008-09-11 14:56:07 UTC
List: ruby-list #45493
From: 谷垣 宏一 <co01@mac.com>
Subject: [ruby-list:45490] Re: _volatileの付け方
Date: Thu, 11 Sep 2008 22:11:30 +0900

# もはやRubyの話題ではないけれど。

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

はたして本当にボトルネックはそこなのでしょうか?

これだけ大規模な数値計算ならばアルゴリズムやデータ構造の選定が大切になっ
てきます。ことによると、数値計算の本物のプロが書いたライブラリはナイー
ブな実装と比較して数百倍の性能差が出ると聞きます。ATLAS等のCPUに特化し
たライブラリを使う必要があるでしょう。


> 確かにそれもありだと思います。ただ今回に限っては、
> C言語で延々と実行する反復計算の合間合間に、
> ちょっとCでは書きたくない面倒な評価処理(計算量と
> しては小さい)が入るため、そこをRubyに任せられる
> よう、密に連携した形で実装しようとしています。

それならば逆転の発想でCプログラム「に」Ruby「を」組み込む方法があります。

OctaveやMatlab等の数値計算言語を使う選択肢も考えられます。
統計計算ならばR言語という選択肢も。

--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/

In This Thread