如果您完全在Python中实现DFFT,那么您的代码将比您提到的任何一个包运行速度低几个数量级.不仅因为这些库是用更低级别的语言编写的,而且(特别是FFTW)它们被编写得如此大量优化,利用缓存局部性,向量单元以及本书中的每一个技巧,它不会令人惊讶我,如果他们以10,000x的速度运行一个天真的Python实现.即使你在实现中使用numpy,它仍然会比较苍白.
是的 使用numpy的fftpack.如果这还不够快,你可以尝试使用FFTW(PyFFTW)的python绑定,但是从fftpack到fftw的加速不会那么戏剧化.我真的怀疑是否需要仅针对FFT进入C++ - 它们是Python绑定的理想情况.
| 归档时间: |
|
| 查看次数: |
3072 次 |
| 最近记录: |