- 締切済み
足し算の計算速度
こんにちは。 足し算の計算速度を測ってみました。 すると、全く同じ条件で、足す値だけ変えてみると 計算速度が変わりました。 具体的には、ガウス分布を単純に台形公式で積分したのですが、 積分範囲と平均値を固定して、分散を小さくすると 積分時間が異常に長くなりました。 小さい値(10e-200)とかの足し算は遅くなるのですか? また、理由もあれば教えていただけないでしょうか? 宜しくお願いします。
こんにちは。 足し算の計算速度を測ってみました。 すると、全く同じ条件で、足す値だけ変えてみると 計算速度が変わりました。 具体的には、ガウス分布を単純に台形公式で積分したのですが、 積分範囲と平均値を固定して、分散を小さくすると 積分時間が異常に長くなりました。 小さい値(10e-200)とかの足し算は遅くなるのですか? また、理由もあれば教えていただけないでしょうか? 宜しくお願いします。
補足
言語がfortranなので(fortranカテはないのでこちらで聞いてしまいました) アルゴリズムを説明します。 至ってシンプルで、ループ内で再帰計算するだけです。 その中で一度だけ外部関数を呼び出します。一応ソースを書いておきます。 do i = 1,imax x1 = xmin-(xmax-xmin)*dble(i-1)/dble(imax-1) x2 = xmin-(xmax-xmin)*dble(i)/dble(imax-1) k= (func(x1)+func(x2))*(x2-x1)/2.0 res = res + k end do funcがユーザー定義の外部関数です。 i,imaxは整数、x1,x2,k,res,xmax,xminは倍精度実数変数、funcは倍精度実数関数です。 コンパイラ:mpif77(ただし並列計算は行わない) 実行環境:Linux(CPU=Pen4,Mem=2GB) 時間計測はスケジューラが計算します。 宜しくお願いします。