畳み込み積の実行速度比較

畳み込み積の実行速度比較

データ点数:10000
my.convolve: 1.371622[sec]
np.convolve: 0.1537399[sec]
rfft->irfft: 0.02722907[sec]

my.convolveは自分で作った畳み込み積(努力したつもり)
np.convolveはnumpyでの畳み込み積
rfft->irfftは、畳み込み積を掛ける2つの配列(ベクトル)にフーリエ変換を施し、結果の積を取って逆変換を施したものです。

FFTが飛び抜けて速いですね。FFTのアルゴリズムってすごい。
畳み込み積の高速アルゴリズムってないのかなぁと思う結果でした。

スマホ上での環境(QPythonというアプリ)で行ったのでnumpyは使えましたがscipyが使えませんでした。
とりあえずscipyとfftで競争させてみようかなと思います。

車輪の再開発は愚かだぞ!を実感しますね。
こういうモジュール作ってる人はとんでもない知識と知能をもってるんだなと思いました。

댓글