[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Fast matrix filling in IDL
Phillip & Suzanne David <pdavid@earthling.net> writes:
> David Fanning wrote:
> >
> > Stein Vidar Hagfors Haugan (steinhh@ulrik.uio.no) writes:
> > >
> > > A slight modification of David's program, and adding
> > > my favourite speedup method:
> > >
> > > time = systime(1)
> > > array = rebin(reform(v,m,1,/overwrite),m,n,/sample)
> > > print, 'Time for Rebin Operations: ', systime(1) - time
> > >
> > > On { alpha OSF unix 5.2 Oct 30 1998}, this gives:
> > >
> > > Time for Loop: 0.27343702
> > > Time for Matrix Operations: 0.093750000
> > > Time for Rebin Operations: 0.067382932
> > >
> > > Note that the relative speeds can vary quite a lot on
> > > different architectures.
> >
> > I guess. Here is what I get with Stein Vidar's modifications
> > on my Windows NT machine:
> >
> > IDL> Print, !Version
> > { x86 Win32 Windows 5.2 Oct 30 1998}
> > IDL> test
> > Time for Loop: 0.10000002
> > Time for Matrix Operations: 0.019999981
> > Time for Rebin Operations: 0.039999962
> >
> > The Rebin operations are twice as slow as the matric operations.
> > Hummm. Why!?
>
>
> Here's another result from IDL 5.0.2 on the Mac:
> Time for Loop: 0.30000007
> Time for Matrix Operations: 0.13333333
> Time for Rebin Operations: 0.50000000
>
> Phillip
Almost no differences between the matrix/rebin for an SGI.
testspeed
Time for Loop: 0.28050208
Time for Matrix Operations: 0.047688007
Time for Rebin Operations: 0.043171048
IDL> print,!version
{ mipseb IRIX unix 5.1.1 Jul 20 1998}
IDL>