[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Zero... THANKS Pavel and J.D.
- Subject: Re: Zero... THANKS Pavel and J.D.
- From: Frank Morgan <frank.morgan(at)jhuapl.edu>
- Date: Thu, 01 Jul 1999 12:19:37 -0700
- Newsgroups: comp.lang.idl-pvwave
- Organization: Johns Hopkins University Applied Physics Lab, Laurel, MD, USA
- References: <37780A83.3310ECE@jhuapl.edu>
- Xref: news.doit.wisc.edu comp.lang.idl-pvwave:15505
Pavel and J.D.,
Thanks to both of you for some useful information.
Pavel mentioned the 0-at-the-end problem with the loop approach. After some
analysis of my problem (a directed graph search), I've discovered that most
of the vectors I search will contain a non-zero within the first 10% or so
of the length. I would have thought then that the loop would be faster
than 'where' but J.D.'s timing results prove me wrong - looks like even with
loop halt at 10% (where his test halted at 50%), the timing would be 0.99/5
= 0.2, still twice the time of 'where' searching the whole vector - boy, IDL
loops really are bad!
For now I'm settling on 'where' - it's just fast enough for the biggest
graphs I'm searching so far. J.D.'s timing for external code indicates that
with 10% lengths typical, I might get 10X speedup over 'where' but for now
the DLL compilation isn't worth it. But it gives me an out if I need to
search bigger graphs.
Incedentally, I'd never realized you can say (where()) to get that first
element - that's a handy statement.