From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?=) Date: 2002-08-07T19:06:03+09:00 Subject: [ruby-dev:17956] Re: import-module (Re: Re: scope-in-state) けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev:17955] the message: "[ruby-dev:17955] Re: import-module (Re: Re: scope-in-state)", on Aug/07 14:38(JST) Shin-ichiro HARA writes: >原です。 >なーるほど、よく分かりました。それに比べると import-module はどちらかと >いうと既にあるプログラムに対するパッチ感覚です。でも、例えば (中略) >とか作って、[ruby-dev:17943]の import-modules に渡せば、scope-in-state >相当になるんですけどね。だから import-modules からは、scope-in-state >は一つのアプリケーションに見えなくもない。 ですね. それは認めます. >>私も実装をどうやったのか覚えていなくて, 思い出すのに苦労しました. 私の >>もですが, 原さんのも理解するのが難しい実装ですよね(^^;;; > >すいません。あまりに未整理のまま人に読ませてしまったので、反省して >ます。今 Ver. 0.16 を作りました。こっちは2倍(当校比)読みやすい >はずです。これで scope-in-state と同じぐらいの読みにくさかと。:-) (^^;;; >おかしい〜、import-module が負けるなんて!! import-moduleは宣言的でないので前準備ができないぶんだけ不利でしょうね. >というわけで負けじとキャッシュもどきを実装してみました。multi-thread >(1000 loops in a scope)で3倍近く早くなりました。 おー. でも, キャッシュはちょっと小手先ですね(^^;;; 人のことは言えませ んが. >VER. 0.16 >$ ruby test-time.rb 0 >multi thread(scopes in 1000 loops) : 5.3673 >multi thread(1000 loops in a scope) : 0.0223 >$ ruby test-time.rb 9 >single thread(scopes in 1000 loops) : 3.9388 >single thread(1000 loops in a scope) : 0.0044 >># でも, もっと良い実装のアイディアが出ましたので, もうちょっと頑張って >># みます. >いやあ、もう限界だと思うけど、、、いったい何でしょう。興味津々。 だいたいできました. ただ, まだバグバグでお見せできませんが... keibm% ruby import-module-0.12/test-time.rb 6 scope in state 3(scopes in 1000 loops) : 0.2452 scope in state 3(1000 loops in a scope) : 0.0256 >これ以上難しくなりませんように。:-) 実装は, 今度は全然違います. 自分で言うのも何ですが, 惚れ惚れとするよう なものです(^^;;; 難しさは... より難しいかも(^^;;; # ソースはもうちょっとお待ち下さい. 原さんのも同じくらいの値ですがmulti thread版はこれが限界でしょうね. 私 のメソッド呼び出しは, メソッド呼び出し4回+``::''演算 相当なのでこれ以上は無理でしょう. # これ以上パフォーマンスを求める同じような処理を行っているcoerceメカニ # ズムも変えるべきだってことになるでしょう. __ ..............................石塚 圭樹@日本ラショナルソフトウェア... ----------------------------------->> e-mail: keiju@rational.com <<---