[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Philosophy of for loops
Todd Clements wrote:
> >
> > Hello, again, everyone!
> >
> > I was just wondering what the general concensus of the "IDL Expert
> > Programmers" was on the use of for loops. When I first learned IDL,
A related question is when is it better to write loops as a single line,
and when is it better to use a DO BEGIN construct. For example,
inarr= randomn(seed, 3, 2048,2048)
outarr = fltarr(2048,2048,/nozero)
(1) for j=0,2047 do for i=0,2047 do outarr[i,j] = median(inarr[*,i,j])
(2) for j=0,2047 do begin
for i=0,2047 do begin
outarr[i,j] = median(inarr[*,i,j])
endfor
endfor
Form (1) is slightly faster, but the calculation cannot be interrupted
with a Control-C. Also, it is my impression that the speed difference
is less than it used to be, and that form (2) is now better optimized.
(I also assume that the two FOR loops are unavoidable here, but I would
be delighted to be proved wrong.)
--Wayne Landsman landsman@mpb.gsfc.nasa.gov
Sent via Deja.com http://www.deja.com/
Before you buy.