jon*_*d3k 34
SciPy做得更多:
此外,SciPy通过其自己的界面导出一些NumPy功能,例如,如果执行scipy.fftpack.helper.fftfreq和numpy.fft.helper.fftfreq,实际上您运行的是相同的代码.
但是,SciPy有自己的功能实现.该源具有性能基准,可比较原始的NumPy和新的SciPy版本.我古老的笔记本电脑显示如下:
Fast Fourier Transform
=================================================
| real input | complex input
-------------------------------------------------
size | scipy | numpy | scipy | numpy
-------------------------------------------------
100 | 0.07 | 0.06 | 0.06 | 0.07 (secs for 7000 calls)
1000 | 0.06 | 0.09 | 0.09 | 0.09 (secs for 2000 calls)
256 | 0.11 | 0.11 | 0.12 | 0.11 (secs for 10000 calls)
512 | 0.16 | 0.21 | 0.20 | 0.21 (secs for 10000 calls)
1024 | 0.03 | 0.04 | 0.04 | 0.04 (secs for 1000 calls)
2048 | 0.05 | 0.09 | 0.08 | 0.08 (secs for 1000 calls)
4096 | 0.05 | 0.08 | 0.07 | 0.09 (secs for 500 calls)
8192 | 0.10 | 0.20 | 0.19 | 0.21 (secs for 500 calls)
Run Code Online (Sandbox Code Playgroud)
看起来SciPy的运行速度明显快,因为阵列的大小增加了,尽管这些只是人为的例子,值得为你的特定项目进行试验.
值得查看源代码http://www.scipy.org/Download#head-312ad78cdf85a9ca6fa17a266752069d23f785d1.是的那些.f文件真的是Fortran!:-D
kef*_*ich 16
我发现numpy的2D fft明显快于scipy,但是FFTW比两者都快(使用PyFFTW绑定).性能测试如下:code.google.com/p/agpy/source/browse/trunk/tests/test_ffts.py
结果(对于nx n数组):
n sp np fftw
8: 0.010189 0.005077 0.028378
16: 0.010795 0.008069 0.028716
32: 0.014351 0.008566 0.031076
64: 0.028796 0.019308 0.036931
128: 0.093085 0.074986 0.088365
256: 0.459137 0.317680 0.170934
512: 2.652487 1.811646 0.571402
1024: 10.722885 7.796856 3.509452
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30644 次 |
| 最近记录: |