我应该去哪个方向比np.fft更快

时间:2013-08-30 15:18:26

标签: optimization python-2.7 numpy fft cython

我使用np.fft.rfftnp.fft.irfft的代码严重,这是优化的瓶颈。

有没有机会比这更快,如果是这样,我最好的选择是什么。我想到的想法是:

  • Cython - 听说这很快;但是这会有帮助吗?
  • 挖掘numpy - rfft调用_raw_fft,然后进行大量检查,然后调用fftpack.cfftf。 Profiler告诉我,只有80%的时间都在fftpack.cfftf,将包装拆除到我需要的唯一位可节省一点时间。
  • 在某处找到更快的DFT算法?
  • 购买更多电脑

所以问题真的归结为:

  1. 有没有Cython经验的人知道在这里尝试是否值得 - 或者它不能更快​​地使用numpy。
  2. 那里有更快的套餐吗?可能的速度有多快?

1 个答案:

答案 0 :(得分:6)

我发现这个问题/答案实际上回答了部分内容:

https://stackoverflow.com/a/8481916/1900520

显示scipy中还有另一个FFT实现速度要快得多,而且还有一个名为FFTW的软件包速度更快(查看这些基准测试的速度高达3倍)。

所以这就留下了Cython是否会让它更快的问题。