I have code strongly using np.fft.rfft and np.fft.irfft , so this is a bottleneck for optimization.
Is there a chance to go faster than this, and if so, what are my best options. The thoughts that happen to me will be as follows:
- Kithon - heard it very quickly; but will it help here?
- recoding to numpy -
rfft calls _raw_fft , which does a lot of checking, then calls fftpack.cfftf . The profiler tells me that only 80% of the time is in fftpack.cfftf , removing the wrapper to the only bits I need can save some time. - find a faster DFT algorithm somewhere?
- buy more computers
So the question really comes down to the following:
- Does anyone with Cython experience know if it's worth a try - or he can't do numpy faster.
- Are there any faster packages? How much faster is it possible?
source share