[#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:39896] Re: dRuby: 急に遅くなる

From: ちば けいすけ <chowder@...>
Date: 2004-07-22 03:03:04 UTC
List: ruby-list #39896
ちばです。

> この問題は、ruby-1.8.2 と ruby-1.9.0 で、偶然 fix されました。
> 
> drb は処理の高速化のため、DRbConn というクラスで
> 接続をプーリングしているのですが、ruby-1.8.1 の段階では
> プールが一杯のときは、新しい接続を close していました。
> そのため、プールが一杯になった後は、新しい接続を連続して使用したくても、
> 毎回閉じなくてはならなかったため、速度が低下していました。
> 
> ruby-1.8.2 では一番昔に使用した接続を閉じて、新しい接続をプールに収める
> ようになったので、新しい接続が連続して必要になった場合でも、速度が低下
> することはありません。

情報ありがとうございます。

さっそく、
http://www.garbagecollect.jp/ruby/mswin32/ja/
から
ruby-1.8.2-20040519-i386-mswin32.zip
と
ruby-1.9.0-20040519-i386-mswin32.zip
をダウンロードして試してみたのですが、どちらもやはり同じよう
に遅くなります。

ちなみに 1.9.0 で drb/drb を require すると drb/drb.rb の398
行目でエラーになりますが、これは単にこの行
undef :to_a
をコメントにすれば大丈夫ですよね。

遅くなり具合が転送するバイト数に比例しているように見えます。
毎回接続を閉じたり開いたりしているのが遅くなる原因だとすれば、
私の直感と合わないのですが、そういうものなのでしょうか。

                   ちば けいすけ <chowder@mtj.biglobe.ne.jp>


In This Thread