[SciPy-dev] fft benchmarks for new routines
Charles R Harris
charris208 at attbi.com
Sun May 11 21:30:52 CDT 2003
Hi All,
I ran a pared down version of Pearu's benchmark script on
my new fft routines. I also scaled the times by the
factor 1e8/(repeat*size*log(size)) so as to obtain a
more informative number. There are three regions of
interest in the results:
1) small transforms are dominated by python calling overhead
2) medium transforms run in cache and perform best
3) long transforms do out of cache references, performance sucks
I think my routines are better, not that I'm biased or anything.
They are faster, require only one work array for all transforms
below a given size, and the code is readable - not to say
understandable. 8)
To cut down on out-of-cache overhead, I unrolled a loop, which
made the code about 3x longer and somewhat ugly. The result is
a sort of bastard split radix 2,4 fft.
Chuck
Fast Fourier Transform
====================================================
| real input | complex input
----------------------------------------------------
size | scipy | testing | scipy | testing
----------------------------------------------------
256 | 2.04 | 1.48 | 2.11 | 1.97 (10000 calls)
512 | 1.35 | 1.00 | 1.53 | 1.53 (10000 calls)
1024 | 0.99 | 0.70 | 1.27 | 1.27 (1000 calls)
2048 | 0.70 | 0.70 | 1.41 | 1.15 (1000 calls)
4096 | 0.70 | 0.59 | 1.58 | 1.23 (500 calls)
8192 | 1.54 | 0.65 | 3.85 | 1.79 (500 calls)
16384 | 2.36 | 1.26 | 4.88 | 2.67 (250 calls)
32768 | 3.30 | 1.66 | 4.74 | 3.97 (250 calls)
65536 | 3.40 | 2.57 | 5.12 | 4.10 (100 calls)
131072 | 3.55 | 2.72 | 5.19 | 4.30 (50 calls)
262144 | 3.49 | 2.72 | 5.04 | 4.26 (25 calls)
524288 | 3.34 | 2.70 | 4.98 | 4.16 (12 calls)
1048576 | 3.24 | 2.74 | 5.60 | 4.22 (6 calls)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://projects.scipy.org/pipermail/scipy-dev/attachments/20030511/315d73f1/attachment.html
More information about the Scipy-dev
mailing list