[SciPy-user] test_fft, test_ifft results

Darren Dale dd55 at cornell.edu
Sat Dec 10 16:57:16 CST 2005


I have been wondering about the results of fftpack.basic.test_basic.test_fft, 
fftpack.basic.test_basic.test_fftn and fftpack.basic.test_basic.test_ifft. On 
my system, with scipy built against fftw2 or 3, ffts of complex input takes 
over 8 times as long as real input. I dont see the same behavior with fftn. 
Does anyone else see this?

Thanks,
Darren


bench_random (scipy.fftpack.basic.test_basic.test_fft)
                 Fast Fourier Transform
=================================================
      |    real input     |   complex input
-------------------------------------------------
 size |  scipy  | Numeric |  scipy  | Numeric
-------------------------------------------------
  100 |    0.18 |    0.16 |    1.51 |    0.17  (secs for 7000 calls)
 1000 |    0.18 |    0.21 |    1.52 |    0.22  (secs for 2000 calls)
  256 |    0.35 |    0.34 |    2.90 |    0.33  (secs for 10000 calls)
  512 |    0.52 |    0.54 |    4.40 |    0.57  (secs for 10000 calls)
 1024 |    0.09 |    0.10 |    0.70 |    0.10  (secs for 1000 calls)
 2048 |    0.16 |    0.19 |    1.37 |    0.21  (secs for 1000 calls)
 4096 |    0.16 |    0.22 |    1.24 |    0.22  (secs for 500 calls)
 8192 |    0.35 |    0.63 |    2.56 |    0.71  (secs for 500 calls)
 ... ok
check_definition (scipy.fftpack.basic.test_basic.test_fft) ... ok
check_djbfft (scipy.fftpack.basic.test_basic.test_fft) ... ok
check_n_argument_real (scipy.fftpack.basic.test_basic.test_fft) ... ok
bench_random (scipy.fftpack.basic.test_basic.test_fftn)
    Multi-dimensional Fast Fourier Transform
===================================================
          |    real input     |   complex input
---------------------------------------------------
   size   |  scipy  | Numeric |  scipy  |  Numeric
---------------------------------------------------
  100x100 |    0.15 |    0.20 |    0.14 |    0.21  (secs for 100 calls)
 1000x100 |    0.11 |    0.19 |    0.10 |    0.17  (secs for 7 calls)
  256x256 |    0.22 |    0.26 |    0.21 |    0.27  (secs for 10 calls)
  512x512 |    0.26 |    0.32 |    0.26 |    0.33  (secs for 3 calls)
 ... ok
check_axes_argument (scipy.fftpack.basic.test_basic.test_fftn) ... ok
check_definition (scipy.fftpack.basic.test_basic.test_fftn) ... ok
check_shape_argument (scipy.fftpack.basic.test_basic.test_fftn) ... ok
check_shape_axes_argument (scipy.fftpack.basic.test_basic.test_fftn) ... ok
bench_random (scipy.fftpack.basic.test_basic.test_ifft)
       Inverse Fast Fourier Transform
===============================================
      |     real input    |    complex input
-----------------------------------------------
 size |  scipy  | Numeric |  scipy  | Numeric
-----------------------------------------------
  100 |    0.18 |    0.50 |    1.88 |    0.51  (secs for 7000 calls)
 1000 |    0.19 |    0.63 |    1.65 |    0.62  (secs for 2000 calls)
  256 |    0.36 |    1.10 |    3.36 |    1.10  (secs for 10000 calls)
  512 |    0.57 |    1.85 |    4.81 |    1.77  (secs for 10000 calls)
 1024 |    0.10 |    0.32 |    0.86 |    0.32  (secs for 1000 calls)
 2048 |    0.17 |    0.61 |    1.40 |    0.61  (secs for 1000 calls)
 4096 |    0.18 |    0.64 |    1.44 |    0.67  (secs for 500 calls)
 8192 |    0.39 |    1.58 |    2.75 |    1.58  (secs for 500 calls)



More information about the SciPy-user mailing list