友人から聞いた話によると、pow 関数は単純に基数をそれ自身で乗算するだけなので、同等の関数よりも処理速度が遅いとのことです。たとえば、彼によれば、
#include <stdio.h>
#include <math.h>
int main () {
double e = 2.71828
e2 = pow (e, 2.0)
printf("%le", e2)
}
より遅い
#include <stdio.h>
int main() {
double e = 2.71828
e2 = e * e
printf("%le", e2)
}
初心者としては、どちらも同じ速度でコンパイルされると思います。同じ論理で、典型的な簡潔さのために前者を好むでしょう。では、前者のコード ブロックが後者のコード ブロックよりも遅いのはなぜでしょうか?