yarv-dev:1127
From: Takeshi Horinouchi <horinout rish.kyoto-u.ac.jp>
Date: Tue, 20 Nov 2007 19:52:14 +0900
Subject: [yarv-dev:1127] Re: 考えている案
堀之内です。 追伸です。 浮動小数点がらみで特に時間がかかるのは、ループを沢山まわす場合が 大いではないでしょうか。素人のコメント恐縮ですが、比較的 「やりやすい」(注※)ループならコンパイルして速く回すというのも ありかと思うのですが。 Google に「yarv C コンパイラ」と入れたら http://www.atdot.net/~ko1/w3ml/w3ml.cgi/yarv-dev/msg/85 が出てきました。すみません、現在既に Ruby は JIT 入りでしょうか。 それなら、浮動小数点ループ向け JIT 高速化とか... (注※) 例えば Numeric など限られたクラスのオブジェクトしか含まれ ない場合とか。私の場合、ループに NArray も混ぜたいですが...。 言いたい放題ついで書くと、NArray も ruby 1.9 に取り込まれる と嬉しかったりします。うまく遅延処理を入れるなどして、より 速くなって欲しかったりして...。 > 堀之内です。 > > (2)はやばいと思います。NArray 等の拡張ライブラリーを使う場合や、 > Fortran や C での計算と比較する場合と、丸め誤差が一致しなくなり > ます。カオスなどに代表される、初期誤差が増大するケースでは浮動 > 小数点方式がかわると結果が大きく変わります。そういう問題なんだ > からしょうがないという考えかたもありえますが、数値計算自体の検 > 証可能性が確保できなくなります。 > > > ささだです. > > > > Float の高速化ですが,いくつか案があり,それぞれ得失があります. > > で,とりあえず 64bit 前提に考えています. > > > > 高速化は,主に Float の「埋め込み」によって行おうと考えています. > > 要するに,Fixnum と Bignum の関係です.Fixnum はヒープ上にメモリをア > > ロケートしていません.Float はヒープ上にメモリをアロケートしているの > > で,たくさん数値計算をすると GC が発生します. > > > > > > (1) 単精度にする > > > > 一番安易な解決方法です.64bit CPU なら 32 bit まるまる使っても安心. > > > > (2) 1bit,精度を犠牲にする > > > > 一番現実的かな,と思っています.数値計算にどれくらい影響を与える > > か,わかりません.この辺の評価ってどうすればいいんでしょうか. > > > > (3) 頑張って精度を保証する > > > > IEEE754 の規格に則って,exp をやりくりして,1 bit 〜 3 bit 捻出す > > る方法です.細々とした計算が必要になるため,オーバヘッドは大きいです > > が,精度が保証できるため難しい検証やらは不要です(今まで通り,で終わ > > り). > > > > > > 例えば,(2) ってどれくらい「やばい」んでしょうか. -- 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]