[SciPy-dev] fft code for testing

Pearu Peterson pearu at scipy.org
Sat May 31 07:05:17 EDT 2003


> 2) Pentium II, 400MHz, Debian Woody
> 
>                  Fast Fourier Transform
> ====================================================
>            |    real input     |   complex input    
> ----------------------------------------------------
>  size      |  scipy  | testing |  scipy  | testing  
> ----------------------------------------------------
>        256 |   10.21 |    8.38 |   12.61 |   10.92  (10000 calls)
>        512 |    6.01 |    5.76 |    8.01 |    8.01  (5000 calls)
>       1024 |    4.30 |    4.65 |    7.33 |    6.83  (2000 calls)
>       2048 |    3.71 |    4.10 |    6.21 |    6.92  (1000 calls)
>       4096 |    4.05 |    4.34 |    7.63 |    7.16  (500 calls)
>       8192 |    5.35 |    5.28 |    9.62 |    9.89  (200 calls)
>      16384 |    7.55 |    5.66 |   10.50 |   11.01  (100 calls)
>      32768 |    8.57 |    7.28 |   10.63 |   12.62  (50 calls)
>      65536 |    9.15 |    8.46 |   10.18 |   12.18  (20 calls)
>     131072 |    8.74 |    8.90 |   10.39 |   13.34  (20 calls)
>     262144 |    8.26 |    8.53 |   10.49 |   13.02  (10 calls)

> 2) In all cases scipy.fftpack uses FFTW.

Sorry, in the above case scipy.fftpack acctually uses
djbfft library for sizes 256, 512,..., 8192. In other cases
it uses fftw library.

So, optimal size for using djbfft is around 2048. Recall that
djbfft wrappers use loops to transform the results of djbfft
routines to the fftpack compatible form, hence the djbfft 
performance drop for smaller sizes.

Regards,
	Pearu




More information about the SciPy-Dev mailing list