C++;放大器fft性能问题 我正在编写代码以利用C++上的FFT库()。虽然与FFTW等CPU实现相比,它没有给我带来siginifcant提升,但我注意到,如果将它放入for循环中,随着循环本身的迭代,性能会显著降低
以下是我的测试代码:C++;放大器fft性能问题 我正在编写代码以利用C++上的FFT库()。虽然与FFTW等CPU实现相比,它没有给我带来siginifcant提升,但我注意到,如果将它放入for循环中,随着循环本身的迭代,性能会显著降低,c++,performance,C++,Performance,以下是我的测试代码: for (int i = 0; i < iterations; i++) { transform.transform(in_GPU, out_GPU); } std::cout << "time steps = " << iterations << "\ttime taken for each steps = " << (clock() - start) / float(CLOCKS_PER_SEC) / iter
for (int i = 0; i < iterations; i++) {
transform.transform(in_GPU, out_GPU);
}
std::cout << "time steps = " << iterations
<< "\ttime taken for each steps = "
<< (clock() - start) / float(CLOCKS_PER_SEC) / iterations * 1000
<< "ms" << std::endl;
我认为每次迭代的时间从1000减少到2000是由于开销的减少。但这并不能解释从10000增加到20000,或者从100000增加到500000的原因
因此,基本上我的程序在for循环中运行得越来越慢。有什么想法吗?:)
iterations Time/iteration
1000 1.001 ms
2000 0.2925 ms
5000 0.3248 ms
10000 0.285 ms
20000 0.3991 ms
50000 0.4027 ms
100000 0.4027 ms
500000 0.4298 ms