[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IDL 5.3 Performance ?



In article <87q5b0$g0k$1@canopus.cc.umanitoba.ca>, "Richard Tyc" <richt@sbrc.umanitoba.ca> wrote:
>IDL speed gurus:.

snip - snip

>Any comments/ideas ?
>
In my opinion, 5.3 is slower than 5.2.1.

This behaviour from RSI is actually predictable (if I recall correctly):
 5.1.1 was fast. 5.2.0 was slow. 5.2.1 was fast. 5.3.0 is slow.

Of course, there's another possibility:
Maybe RSI puts in some busy-wait statements in their code to slow it down
in their newer releases to push sales of processors (in the same way M$ does :-)



I did a small comparison on my two old Dell pcs (PPro & PII-400).
time_test2 gave the following result:

CPU   IDLVer    result (total time)
----------------------------------
PPro  5.2.1         8.51
PPro  5.3.0       12.62

P-II    5.2.1         5.00
P-II    5.3.0         9.55

I dont know wether time_test2 is the same for 5.2.1 & 5.3.0 so I benched the
performance of the FFT (a function I use a lot). The results:

PPro - 5.2.1
1D-a        3.9500000
1D-b        3.4600000
2D-a        7.7500000
2D-b        13.180000

PPro - 5.3.0
1D-a        6.3200001
1D-b        6.8100001
2D-a        8.8399999
2D-b        15.380000

PII-400 - 5.2.1
1D-a        1.7600000
1D-b        1.6999999
2D-a        5.2800001
2D-b        8.8500000

PII-400 - 5.3.0
1D-a        3.4100001
1D-b        3.4100000
2D-a        5.7600000
2D-b        10.100000

Hence, the 1D FFT is a factor of 2 slower in 5.3 than in 5.2.1

--RoyH


Here's the source code for my simple 1D and 2D FFT benchmark:

b = fltarr(32768L)
a = systime(1)
for i=0, 99 do c = fft(b,-1)
print, '1D-a ', systime(1)-a

b = fltarr(1024L)
a = systime(1)
for i=0, 4999 do c = fft(b,-1)
print, '1D-b ', systime(1)-a

b = fltarr(512,512)
a = systime(1)
for i=0, 9 do c = fft(b,-1)
print, '2D-a ', systime(1)-a

b = fltarr(1024,1024)
a = systime(1)
for i=0, 3 do c = fft(b,-1)
print, '2D-b ', systime(1)-a

END