comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: Slow execution with NaNs under Solaris 8 and 9
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Slow execution with NaNs under Solaris 8 and 9 [message #34381] Wed, 12 March 2003 01:47 Go to previous message
Timm Weitkamp is currently offline  Timm Weitkamp
Messages: 66
Registered: August 2002
Member
Ivar,

> Has anyone else observed anything similar?

On Solaris 8, I too observe a considerable drop in speed, though not an
order of magnitude:

IDL> print, getenv('OSTYPE')
solaris8
IDL> test_slowlaris
{ sparc sunos unix Solaris 5.6 Oct 26 2002 64 64}
No NaNs: 2.4719300
With NaNs: 5.6408559

Cheers,
Timm

On 11.03.03 at 12:10 -0800, Rick Towler wrote:

> "Ivar Christopher" wrote in message
>
>> We've recenty purchaced a couple of fast, new Sun systems, one running
>> Solaris 8 and the other Solaris 9. At some point I discovered that
>> some existing IDL code was running much slower than I expected on
>> these systems. After much tracking down, it turns out that when
>> various functions, including where() and trig functions, are called on
>> data that contain IEEE Not a Numbers (NaNs), the execution speed drops
>> by up to an order of magnitude.
>
> FWIW, this problem doesn't show up in slowlaris 7 (using the attached
> program which may or may not be an appropriate test). These numbers were
> gathered while performing a backup but that should slow both tests down more
> or less equally.
>
> IDL> test_slowlaris
> { sparc sunos unix 5.4.1 Jan 16 2001 32 64}
> No NaNs: 30.699895
> With NaNs: 25.150906
> % Program caused arithmetic error: Floating illegal operand
>
> -Rick
>
> pro test_slowlaris
>
> print, !version
>
> bigArray = FINDGEN(10,1000000)
>
> start = SYSTIME(/SECONDS)
>
> null = WHERE(bigArray gt 290000.)
> null = WHERE(bigArray lt 100000.)
> null = WHERE(bigArray eq 123456.)
> null = sin(bigArray)
>
> print, 'No NaNs:', SYSTIME(/SECONDS) - start
>
> bigArray[0,*] = !values.f_nan
> bigArray[4,*] = !values.f_nan
>
> start = SYSTIME(/SECONDS)
>
> null = WHERE(bigArray gt 290000.)
> null = WHERE(bigArray lt 100000.)
> null = WHERE(bigArray eq 123456.)
> null = sin(bigArray)
>
> print, 'With NaNs:', SYSTIME(/SECONDS) - start
>
> end

--
Timm Weitkamp <http://people.web.psi.ch/weitkamp>
[Message index]
 
Read Message
Read Message
Previous Topic: HELP SAVING QUALITY IMAGES
Next Topic: passing parameters

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 09:57:05 PDT 2025

Total time taken to generate the page: 0.08447 seconds