[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