Link to home
Start Free TrialLog in
Avatar of wEEpy
wEEpy

asked on

64bit vs 32bit performance

I was looking through HP's faq for their HP-UX11 64bit OS, and I noticed something that surprised me. That is, running a 64bit application in the 64bit OS results in an 8-9% performance hit as compared to a 32bit app in a 32bit OS. Would this apply for other 64bit apps/OS as well? I understand that using 64bit gives you access to a boatload of memory compared to 32bit, so would you make up for the performance hit by utilizing more memory to run your app? Any additional comments about 32bit vs 64bit would be appreciated.

Thanks,

wEEpy
Avatar of jhance
jhance

There are several reasons and not all are exactly obvious:

1) 64 bit code is bigger than 32 bit code and so it takes longer to load.

2) The OS might not be 64 bit throughout.  This means that some 64-32 bit translation must take place and this adds overhead.  This happens, for example, in Win9x.  While Win9x is 32-bit, many of the supporting DLLs are still 16-bit code and Microsoft "thunks" the 32 bit calls down to 16-bit calls.  HPUX may be the same way.

3) The HP/PA RISC chip may be a bit slower when running 64 bit code due to the added overhead of processing the longer instruction stream.  This may be a limitation in the current PA architecture and would probably be addressed in a future version.

The biggest reason why apps get driven to a 64 bit architecture is memory space.  While 32-bits is huge for many apps, a massive database for example, may benefit from the increased memory space available on a 64 bit architecture.  As far as running fast just because there is more memory (or memory space) available depends on what is slowing down your app.  If it's floating point calculations, then more memory won't help it.
ASKER CERTIFIED SOLUTION
Avatar of jhance
jhance

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of wEEpy

ASKER

Sorry jhance, didn't get to check yesterday after I posted. Thanks for the info.

wEEpy