我有一些代碼是沉重使用np.fft.rfft
和np.fft.irfft
,所以這是優化的瓶頸。我應該走什麼方向比np.fft更快
有沒有比這更快的速度,如果有的話,我最好的選擇是什麼。我想到的情況是:
- Cython - 聽說這非常快;但它會幫助這裏嗎?
- 挖掘成numpy -
rfft
調用_raw_fft
它做了很多檢查,然後調用fftpack.cfftf
。 Profiler告訴我只有80%的時間在fftpack.cfftf
,剝離了我需要的唯一一點可以節省一點時間的包裝。 - 在某處找到更快的DFT算法?
- 購買更多的計算機
所以,真正的問題歸結爲:
- 沒有人用用Cython經驗,知道這將是值得嘗試在這裏 - 或者可以在不使任何numpy的速度。
- 那裏有更快的軟件包嗎?可能有多快?
我在另一個問題中找到了部分答案並放在下面 - 但如果人們認爲這個問題應該被關閉/刪除,我不會被冒犯。 (我離開它,因爲有人提出了這個問題,我會留給其他人來決定這是一個有幫助的問題) – Corone
鑑於重複,我明天會刪除這個問題,如果沒有人說任何有趣的事情等等。 – Corone
做你實際上需要計算所有頻率的響應?如果您只是在尋找一些選擇頻率,您可以通過編寫自定義FFT甚至創建一個數字濾波器來以所需頻率進行共振來顯着提高速度。 – DrRobotNinja