相关疑难解决方法(0)

为什么std :: sin()和std :: cos()比sin()和cos()慢?

测试代码:

#include <cmath>
#include <cstdio>

const int N = 4096;
const float PI = 3.1415926535897932384626;

float cosine[N][N];
float sine[N][N];

int main() {
    printf("a\n");
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            cosine[i][j] = cos(i*j*2*PI/N);
            sine[i][j] = sin(-i*j*2*PI/N);
        }
    }
    printf("b\n");
}
Run Code Online (Sandbox Code Playgroud)

这是时间:

$ g++ main.cc -o main
$ time ./main
a
b

real    0m1.406s
user    0m1.370s
sys     0m0.030s
Run Code Online (Sandbox Code Playgroud)

添加后using namespace std;,时间是:

$ g++ main.cc -o main …
Run Code Online (Sandbox Code Playgroud)

c++ performance trigonometry cmath

20
推荐指数
2
解决办法
7621
查看次数

标签 统计

c++ ×1

cmath ×1

performance ×1

trigonometry ×1