[#39863] forループの速度 — Masahiro Sato <msato@...>

15 messages 2004/07/20

[#39868] イテレータとfor文 — OOTANI TAKASHI <otn@...5.so-net.ne.jp>

大谷と申します。

31 messages 2004/07/20
[#39886] Re: イテレータとfor文 — Tietew <tietew-ml-ruby-list@...> 2004/07/21

[ruby-list:39864] Re: forループの速度

From: SASADA Koichi <ko1@...>
Date: 2004-07-20 12:14:16 UTC
List: ruby-list #39864
  Masahiro Sato <msato@ims.ac.jp> wrote :
    [ [ruby-list:39863] forループの速度 ]
    at Tue, 20 Jul 2004 19:20:55 +0900

 ささだです.

> forループの速度についてなのですが、
> 下記のようなCのサンプルと比較すると、それぞれ下記のように
> なります。(実際にやりたいことは配列の初期化ではなく、
> ちょっとしたデータの生成です)
> 
> データの量が大きくなると、rubyではかなり時間がかかるので
> どうにかしたいのですが、なにか良い方法がありましたら
> 教えてください。

 C言語をご利用ください.









 すみません,冗談です.

 C言語と比べると,一つ一つの動作が冗長に実行されるため,Ruby
では一般的に,全体の処理速度が遅くなります.最適化なども,あま
りかかりません.

 サンプルプログラムでは,Array の生成と初期化を別々にしていま
すが,このあたりを一緒にやると少しは変わるかもしれません.
(Array.new(num){|i| ...} みたいな)

 もう少し具体的な例を挙げていただければ,もう少し具体的なアド
バイスをさせていただけるかも知れません.

 で,速度がとても重要な場合,最終的にはC言語で実装するなどが
考えられます(拡張ライブラリを作ることになります).

-- 
// SASADA Koichi at atdot dot net
//

In This Thread