おおぼけ

先日、プラグイン呼び出しで高速化したと書きましたが誤っていたようです。
ACML側はよくチェックしたんですが、Squeak側でFFT>>transformForward:を使って計測していました。

FFTの利用方法はFFT>>testとWaveEditor>>showFFTAtCursorを参考にしていたんですが、そこが間違いの元だった。FFTプラグインを使ってるので通常のメソッドでも速いと思い込みがありました。FFTプラグインで動作させるようにするには次のように#pluginPrepareDataと#pluginTransformData:を使用するのが正解でした。

fft n
n := 256. fft := FFT new nu: 8. fft realData: ( (1 to: n) collect: [:i | (Float pi * (i-1) / (n/8)) cos]). fft pluginPrepareData. [10000 timesRepeat: [ fft pluginTransformData: true.] ] timeToRun.

あぁ恥ずかしい。。。
結局のところ256点のFFTで約1.87倍,4096点のFFTで約1.94倍でした。