[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