[#20083] non-block IO with TCPSocket — dn <daisuke@...>

初投稿の中村と申します。よろしくお願いします。

19 messages 2000/01/06
[#20084] Re: non-block IO with TCPSocket — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp> 2000/01/06

越水です。

[#20091] Re: non-block IO with TCPSocket — とみたまさひろ <tommy@...> 2000/01/06

とみたです。

[#20133] おききしたーいでーす — akimaru <akimaru@...>

17 messages 2000/01/09
[#20138] Re: おききしたーいでーす — akimaru <akimaru@...> 2000/01/09

[#20237] Ruby/Tk multi interpreter — nagai@...

永井@知能.九工大です.

21 messages 2000/01/17
[#20242] Re: Ruby/Tk multi interpreter — nagai@... 2000/01/17

永井@知能.九工大です.

[#20248] Re: Ruby/Tk multi interpreter — Hideto ISHIBASHI <s34204@...> 2000/01/17

石橋秀仁です。

[#20254] Re: Ruby/Tk multi interpreter — nagai@... 2000/01/18

永井@知能.九工大です.

[#20271] Re: Ruby/Tk multi interpreter — Hideto ISHIBASHI <s34204@...> 2000/01/18

石橋秀仁です。

[#20249] FTP.open err for Windows95 — "Y Kataoka" <kataoka@...>

初めまして、片岡@KLUGと申します。

18 messages 2000/01/17
[#20252] Re: FTP.open err for Windows95 — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/01/18

なひです.

[#20342] How to build ruby(current) with cygwin — KORIYAMA Naohiro <kory@...2.so-net.ne.jp>

はじめまして、こおりやまです。

19 messages 2000/01/23
[#20362] Re: How to build ruby(current) with cygwin — WATANABE Hirofumi <Hirofumi.Watanabe@...> 2000/01/24

わたなべです.

[#20422] Re: How to build ruby(current) with cygwin — Masaki Suketa<CQN02273@...> 2000/01/29

Win32OLE の作者の助田です.

[#20394] ruby-1.4.3 port to HPUX 11.00 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

15 messages 2000/01/26

[ruby-list:20000] Re: about for-in

From: matz@... (Yukihiro Matsumoto)
Date: 2000-01-01 07:34:10 UTC
List: ruby-list #20000
まつもと ゆきひろです

In message "[ruby-list:19997] Re: about for-in"
    on 00/01/01, Tomoyuki Kosimizu <greentea@fa2.so-net.ne.jp> writes:

|やっぱり、timesにしろ、uptoにしろ、GCを刺激するのが原因のようです。
|下のようにGCを使わないようにすると、かなり速くなりました。それに比べる
|と、forはGCとは関係なく安定して速いです。

あ、なるほど。分かりました。以下の2点が遅い原因です。

  * ブロック内ローカル変数はメモリ割当が発生するが、forはそ
    もそもスコープを導入しない。外側に i = 0 を置くとかなり
    速くなります。

  * forでないイテレータの呼び出しはブロック内ローカル変数の
    ために内部的にオブジェクトの割り当てが発生する。内部オブ
    ジェクトを再利用するパッチを書いたらかなり速くなりました。

結果として前者の修正だけで倍程度(32:16)になります。

後者のパッチを導入するとブロック内ローカル変数を使っていても、
3倍近く、使わなければforと同程度の速度になります(11:1)。この
比は私のマシンでの場合で一クリティカルなGCのコストは場合によっ
て異なるので、結果は環境毎にそれぞれ異なるでしょう。
 
ただ、このパッチは今回のようなメモリがタイトでイテレータ呼び
出しが1重という条件ではかなり効いてきますが、一般的に有効か
どうかはやや疑問です。

                                まつもと ゆきひろ /:|)

In This Thread