From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?=) Date: 2002-08-14T02:43:11+09:00 Subject: [ruby-dev:18006] Re: new scope-in-state [Re: import-module (Re: Re: scope-in-state)] けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev:17978] the message: "[ruby-dev:17978] Re: new scope-in-state [Re: import-module (Re: Re: scope-in-state)]", on Aug/12 18:54(JST) Shin-ichiro HARA writes: >原です。 >>頑張りました. multi-thread版なら1.8倍速です. single-thread版との比でも >>4.8倍に圧縮できました. >こいつぁすごい。 どもです. >>旧scope-in-stateはメソッド検索を自前でやっていてそれがネックだったわけ >>ですが, それをrubyのメソッド検索機構におまかせするようにしました. それ >>とダブルディスパッチを応用したことでしょうか. > >なんでダブルディスパッチで高速化になるんや〜、と思ったけど >なるほど、これは見出しのある辞書とそうでない辞書の検索時間 >の差ですね。 ダブルディスパッチは高速化とは関係ないですね. 別の継承列を呼び出すため の手段ですので. この方法はデザインパターンとして登録したいぐらいですね (^^;;; >ちょっと細工して import-module でも同じような事をしてみたんですが、 > >multi thread(10000 loops in a scope) : 0.1109 >single thread(10000 loops in a scope) : 0.0145 >scope in state(10000 loops in a scope) : 0.0781 > >おかしい。ほぼ同じになるはずだったのに、まだかなり差があるなあ。 さらに頑張りました. multi thread(1000000 loops in a scope) : 11.0412 single thread(1000000 loops in a scope) : 1.5240 scope in state(1000000 loops in a scope): 6.6583 # 原さんのマシンとマシンスペックが同じぐらいってのがおもしろい(^^;; >すばらしいです。とても実用的になったと思います。 原さんのおかげです(^^;;; >最初と比べると何倍速くなったのかな。 うーん. 何倍でしょう? 以前: >で比較すると、同内容の scope-in-state より 100 倍ほど速いです。 というのがありましたので, 20倍ぐらいですか. __ ..............................石塚 圭樹@日本ラショナルソフトウェア... ----------------------------------->> e-mail: keiju@rational.com <<---