2

友人から聞いた話によると、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)
}

初心者としては、どちらも同じ速度でコンパイルされると思います。同じ論理で、典型的な簡潔さのために前者を好むでしょう。では、前者のコード ブロックが後者のコード ブロックよりも遅いのはなぜでしょうか?

4

3 に答える 3