Re: Intel iMac IDL performance [message #47785 is a reply to message #47652] |
Tue, 28 February 2006 09:07   |
JD Smith
Messages: 850 Registered: December 1999
|
Senior Member |
|
|
On Mon, 27 Feb 2006 21:47:15 -0500, Robert Moss wrote:
> JD Smith wrote:
>> On Mon, 27 Feb 2006 15:09:53 -0600, Kenneth Bowman wrote:
>>
>>> Apple loaned us an Intel Dual-Core iMac for a few days for testing. Here is a
>>> quick comparison:
>>>
>>> Intel system specs:
>>> 2 GHz Intel Core Duo (2 cpus)
>>> 2 GB DDR2 SDRAM
>>> 667 MHz bus
>>> OS X 10.4.5
>>>
>>> PowerPC system specs:
>>> 2.5 GHz PowerPC G5 (4 cpus)
>>> 2 GB DDR2 SDRAM
>>> 1.25 GHz bus
>>> OS X 10.4.5
>>>
>>> We installed the Mac (PowerPC) version of IDL on both. The Intel runs IDL via
>>> emulation software (Rosetta).
>>>
>>> My IDL benchmark code (dominated by 3-D interpolation, random memory access):
>>> PowerPC 31 s
>>> Intel iMac 61 s
>>>
>>>
>>> I played with the IDL demo programs on the Intel iMac and everything that I
>>> tried ran fine. Basic interactive IDL performance is very quick.
>>>
>>> All in all, IDL seems to run fine. Performance is quite respectable for an
>>> emulated system. Native IDL performance (when available) could be comparable to
>>> the G5.
>>
>> Good news. Can you try running your benchmark a few time, Ken?
>> Rosetta is not an emulator, but a caching code translator. When it
>> encounters code it has already translated, it simply uses its cached
>> version of that, which should run somewhat faster, so it's not unusual
>> to have the second and later runs of a given benchmark speed up. Can
>> you also run:
>>
>> IDL> time_test3
>>
>> a few times? On my PB G4, that takes 3.6s/0.13s total/geom. mean.
>> Sadly, I expect the iBook Intel/MacBook Pro to beat these numbers even
>> under Rosetta. One other good one to try:
>>
>> IDL> a=randomu(sd,100L*!CPU.TPOOL_MIN_ELTS)
>> IDL> t=systime(1) & a=sqrt(a)/(a>0.5) & print,systime(1)-t
>>
>> which shows how well the threading is working on ~40MB of data. On my
>> PBG4, this takes 1.8s.
>
> Hmm. Maybe your PB is dialed back to save battery power. My Pentium 4m @
> 2.2 GHz and 512 MB RAM gives this:
>
> IDL> a=randomu(sd,100L*!CPU.TPOOL_MIN_ELTS)
> IDL> t=systime(1) & a=sqrt(a)/(a>0.5) & print,systime(1)-t
> 0.62500000
> 1.92300=Total Time, 0.062429919=Geometric mean, 23 tests.
>
> I did run these a couple of times to remove the memory allocation time
> you typically see the first time through. Still, I'm surprised.
Yes, IDL performance on G4's is pretty pathetic. Much better on G5's.
The excuse seems to be gcc, which I believe is used to compile IDL on all
Unix platforms. So really, the advantage for IDL from moving to
PowerPC->Intel will be larger than average, especially for laptop owners.
JD
|
|
|