help-octave
[Top][All Lists]

## Re: interesting FFT benchmarking!

 From: Dmitri A. Sergatskov Subject: Re: interesting FFT benchmarking! Date: Tue, 29 Jul 2003 10:35:21 -0600 User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624 Netscape/7.1

```address@hidden wrote:

```
```
octave> A = rand(2048,2048); t0=cputime; B=fft(A); cputime;ans-t0
ans = 0.85000
octave> A = rand(2048,2048)+i*rand(2048,2048); t0=cputime;B=fft(A); cputime;
ans-t0
ans = 0.55000

```
```
I get absolutely identical timing between real and complex:

octave:69> A = rand(2048,2048); t0=cputime; B=fft(A); cputime;ans-t0
ans = 0.74000
octave:70> A = rand(2048,2048)+i*rand(2048,2048); t0=cputime;B=fft(A);
cputime;ans-t0
ans = 0.74000

```
```
```
```A = rand(2048,2048)+i*rand(2048,2048); t0=cputime; B=fft(A); cputime; ans-t0
```
```
ans =
0.8700

```
```A = rand(2048,2048); t0=cputime; B=fft(A); cputime; ans-t0
```
```
ans =
0.5600
```
```
I can reproduce that in Matlab:

>> A = rand(2048,2048); t0=cputime; B=fft(A); cputime; ans-t0

ans =

0.5100

>> A = rand(2048,2048)+i*rand(2048,2048); t0=cputime; B=fft(A); cputime; ans-t0

ans =

0.6500

```
```
I think I'll start adding small complex noises to my signals to get them
analysed faster! :) No kidding!!!

octave-2.1.50:130> A = rand(2048,2048);
octave-2.1.50:131> t0=cputime; B=fft(A); cputime; ans-t0
ans = 0.85000
octave-2.1.50:136> Anoise = A+i*e-100*ones(2048,2048);
octave-2.1.50:137> t0=cputime; B=fft(Anoise); cputime; ans-t0
octave-2.1.50:138> t0=cputime; B=fft(Anoise); cputime; ans-t0
ans = 0.54000
```
```
Cannot reproduce that:

octave:71> A = rand(2048,2048);
octave:72> t0=cputime; B=fft(A); cputime; ans-t0
ans = 0.71000
octave:73> Anoise = A+i*e-100*ones(2048,2048);
octave:74> t0=cputime; B=fft(Anoise); cputime; ans-t0
ans = 0.75000

This is octave-2.1.50 with included fft. Compiled by gcc-3.2.2 with -O2
-mcpu=athlon-mp
(I did notice that compiling with -O3 produces slightly slower code for fft
then with -O2,
I am wondering if smaller cache on Athlons to blame...).

Regards,

Dmitri.

-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------

```