プログラムを可能な限り早く実行するためには


KS  2007-02-09 00:40:37  No: 135244

プログラムを可能な限り早く実行するために、整数演算を多く利用する理由はなんですか?
「浮動小数点数」は関係しているんですか?
教えてくださいm(__)mお願いします。


もげ  2007-02-09 01:16:33  No: 135245

現在のCPUで、VBから実行した場合は、
そうともいえないかもしれません。
たとえば、こんな実験を行っている人が居ます。
整数でも浮動小数点でもそれほど差がなさそうです。
http://www.nextftp.com/swlabo/m1_vbnet/hp_experiment/exp007.htm

余談ですが、
昔のCPUは整数演算に比べて浮動小数点演算速度が圧倒的に遅く、
わざわざ浮動小数点演算専用チップ(コプロセッサ)を別装しているPCもありました。
もしかしてご質問の件は、そういうことを仰っていますか?


KS  2007-02-09 01:22:50  No: 135246

現在のCPUじゃない場合はどうなんでしょうか?


ぺぺ  2007-02-09 01:42:41  No: 135247

私も興味があります。よろしければ、わかる方教えてください。


もげ  2007-02-09 01:45:03  No: 135248

>現在のCPUじゃない場合はどうなんでしょうか?

そうですね。
整数演算優位な処理系では、
最初に10のn乗をかけて整数に直してから計算し、
その後で結果を10のn乗で割って答えを出すようなことをすると、
小数点付きのままの計算よりも速くなる。
なんてことになります。
以前はそういうこともやってました。
'特にCOBOLで。コーディングルールで「FLOAT禁止」とか。


K.J.K.  2007-02-09 03:01:39  No: 135249

# こちらもネタとして。

単純に、i386のデータシートなどを探して、
「CPUに対する命令と、その実行時間(単位クロックの何倍か)」
をリストにして、それで比較すれば理論的には回答になるのでは。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加