yarv-dev:1129
From: SASADA Koichi <ko1 atdot.net>
Date: Tue, 20 Nov 2007 20:05:42 +0900
Subject: [yarv-dev:1129] Re: 考えている案
ささだです. Takeshi Horinouchi wrote: > 浮動小数点がらみで特に時間がかかるのは、ループを沢山まわす場合が > 大いではないでしょうか。素人のコメント恐縮ですが、比較的 > 「やりやすい」(注※)ループならコンパイルして速く回すというのも > ありかと思うのですが。 勿論,正攻法だと思います. > Google に「yarv C コンパイラ」と入れたら > http://www.atdot.net/~ko1/w3ml/w3ml.cgi/yarv-dev/msg/85 > が出てきました。すみません、現在既に Ruby は JIT 入りでしょうか。 > それなら、浮動小数点ループ向け JIT 高速化とか... 残念ながら,ありません. > (注※) 例えば Numeric など限られたクラスのオブジェクトしか含まれ > ない場合とか。私の場合、ループに NArray も混ぜたいですが...。 > 言いたい放題ついで書くと、NArray も ruby 1.9 に取り込まれる > と嬉しかったりします。うまく遅延処理を入れるなどして、より > 速くなって欲しかったりして...。 この「限られたクラスのオブジェクトしか」という言葉がくせ者でして, Ruby を一般的に考えるとこれが「不可能」なんです. たとえば def foo n sqrt(n) * sqrt(n) end なんてのは,どう考えても foo(double n){ return sqrt(n) * sqrt(n); } に展開できそうなもんですが, ・n が double かどうかわからない 文字列かもしんない ・sqrt が Math.sqrt かどうかわからない 例えば,set_trace_func して,その中で再定義とか (普通しないけど) ・Float#* が再定義されていないかどうかわからない という問題があって,なかなかうまくいきません. で,現実的には,「ここは浮動小数点しかこないよ」と教えてあげたり, 「メソッドは再定義しないよ」と教えてあげたりしてあげるのがいいのか な,と. つまり,Ruby っぽい文法の浮動小数点に特化したような言語を作って, それを何らかの言語(Cとか)に翻訳してあげる,それと Ruby をつなぐ, みたいな話になるかと思います.現実的には,これで問題ないことも多いと 思います. 個人的には,性能に問題が出る機能を一切除いた Ruby ってのはどういう ものかに興味があったりします. ちなみに,NArray 同梱には私も賛成なんですが, ・欲しいと声を上げる人 ・メンテナンスを継続して行うことが出来る人 ・ドキュメントをRubyリファレンスマニュアルに追加出来る人 がいれば,実現可能かと思います. -- // SASADA Koichi at atdot dot net -- ML: yarv-dev quickml.atdot.net Info: http://www.atdot.net/~ko1/quickml
1122 2007-11-20 19:08 [ko1 atdot.net ] 考えている案 1123 2007-11-20 19:25 ┣[horinout rish.kyoto-] 1124 2007-11-20 19:33 ┃┣[ko1 atdot.net ] 1127 2007-11-20 19:52 ┃┣[horinout rish.kyoto-] -> 1129 2007-11-20 20:05 ┃┃┗[ko1 atdot.net ] 1130 2007-11-20 20:21 ┃┃ ┗[horinout rish.kyoto-] 1131 2007-11-20 20:24 ┃┃ ┗[ko1 atdot.net ] 1132 2007-11-20 20:32 ┃┗[2008 shudo.net ] 1133 2007-11-20 20:53 ┃ ┗[horinout rish.kyoto-] 1137 2007-11-20 21:15 ┃ ┗[2008 shudo.net ] 1125 2007-11-20 19:39 ┣[m-72 tf6.so-net.ne.j] 1126 2007-11-20 19:46 ┃┗[ko1 atdot.net ] 1128 2007-11-20 19:58 ┃ ┣[m-72 tf6.so-net.ne.j] 1135 2007-11-20 20:59 ┃ ┗[m-72 tf6.so-net.ne.j] 1145 2007-11-21 19:44 ┃ ┗[ko1 atdot.net ] 1146 2007-11-21 20:34 ┃ ┗[m-72 tf6.so-net.ne.j] 1134 2007-11-20 20:54 ┣[2008 shudo.net ] 1144 2007-11-21 08:39 ┃┗[ko1 atdot.net ] 1140 2007-11-21 03:52 ┣[t_nissie yahoo.co.jp] 富豪的 VALUE 型( Re: 考えている案) 1141 2007-11-21 04:57 ┃┗[ko1 atdot.net ] 1142 2007-11-21 05:29 ┃ ┗[t_nissie yahoo.co.jp] 1143 2007-11-21 06:02 ┃ ┗[ko1 atdot.net ] 1147 2007-11-24 12:56 ┗[m-72 tf6.so-net.ne.j] 1148 2007-11-24 13:10 ┣[ko1 atdot.net ] 1152 2007-11-25 08:51 ┃┗[m-72 tf6.so-net.ne.j] 1149 2007-11-24 13:18 ┣[ko1 atdot.net ] 1150 2007-11-24 13:21 ┗[ko1 atdot.net ] 1151 2007-11-24 13:39 ┗[m-72 tf6.so-net.ne.j]