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

From: SASADA Koichi <ko1@...>
Date: 2008-09-11 16:12:45 UTC
List: ruby-list #45496
 ささだです.

 高速化と聞いてやってきました.

rubikitch@ruby-lang.org wrote:
>>> あえてC言語の配列に格納する意味があるのでしょうか?
>> はい。どうしても高速化が必要でして。。。
>>
>> ちょっと複雑な数値計算をするプログラムが必要で、私の
>> 好きなRubyでプロトタイプを作ったのですが、答えが得ら
>> れるまで数ヶ月くらいかかることがわかり、何とか2〜3週
>> 間で終わるように、高速化の努力をしています。
> 
> はたして本当にボトルネックはそこなのでしょうか?
> 
> これだけ大規模な数値計算ならばアルゴリズムやデータ構造の選定が大切になっ
> てきます。ことによると、数値計算の本物のプロが書いたライブラリはナイー
> ブな実装と比較して数百倍の性能差が出ると聞きます。ATLAS等のCPUに特化し
> たライブラリを使う必要があるでしょう。


 本件は,「Rubyですでに作ったモノがある」「ボトルネックは多分絞れて
いる」「とりあえず速くしたい」という話かと思いますので,「とりあえず
ボトルネック部分をCで実装して高速化しよう」というのは正しいアプロー
チの一つかと思います.

 つまり,るびきちさんの仰るような最高速(もしくは,数値計算を真剣に
考えたアプローチ)が必要な局面もあると思いますが,谷垣さんのアプロー
チも,一つの手かと思います.

 このあたり,ご存じの通り開発コストと実行時間(性能)の兼ね合いかと
思います.

 これがたくさんの人に,これからも利用されるような場合は,るびきちさ
んの仰るようなアプローチを強く推薦しますが,そうでない,とりあえず動
けばいいや,的な計算でしたら,「とりあえずボトルネックを解消させて様
子を見てみるか」的なアプローチもありかと思います.


 釈迦に説法かと思いましたが,つい突っ込んでしまいました.


# 現在,研究者としての私は,このギャップ,つまり生産性と性能
# の差を埋めるようなことができないか,日夜考えています.多分.

-- 
// SASADA Koichi at atdot dot net

In This Thread