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