[wellylug] 32 Bit vs. 64 Bit

Gerald Roehrbein Gerald.Roehrbein at oraforecast.com
Sat Dec 30 06:15:37 NZDT 2006


Hello Daniel,

I've not done assembler programming for 10 years.
I have a lot of old books describing assembler mnemonics and machine
code instructions with the number of machine cycles they need to produce
the result.

In the past I used very often the fastest instruction or combination of
instructions to solve a problem.

Yesterday I searched at Intel for documentation of the 32 Bit and 64 Bit
instruction sets and I found something but in the published
documentation there is no information about the duration in machine
cycles of an opcode.

So it seems difficult to compare 32 Bit and 64 Bit machine code.

In the past I got a short description (data sheet) of a CPU when I
bought a CPU at my electronic dealer containing description of the usage
of the pins and the instruction set. I've googled but not found
something like that.

In general you are right. 64 Bit instructions uses longer arguments. 64
Bit registers are longer and operations need probably more time
(cycles).

The number of IO cycles required to move data from random access memory
into the CPU took in the past some cycles more for newer instructions
(Intel 16 Bit instruction set compared with Intel 32 Bit instruction
set).


Oracle describes at Metalink that 32 Bit Oracle is faster as 64 Bit
Oracle. So in my opinion if there is no requirement to address more RAM
as possible with 32 Bit (2^32 = 4GB) than using 32 Bit seems to be a
good option.

But I'm not sure about this. Because I do not have any facts.


kind regards
Gerald








Am Donnerstag, den 28.12.2006, 09:04 +1100 schrieb Daniel Pittman:
> Rob Giltrap <rob at kiwihq.com> writes:
> > Gerald Roehrbein wrote:
> >
> >> what's faster 32 Bit or 64 Bit applications?
> >
> > Both, neither and it depends!
> >
> > Here's some big generalizations but...
> >
> > If you're running a 32bit program on a 32bit OS then it will generally
> > run a fraction faster than something that uses the full memory
> > addressing available in a 64bit system (we are only talking like 1%
> > difference).
> >
> > If you are using an AMD64 processor there are a number of additional
> > registers available in 64bit mode (particularly floating point
> > registers) so if your application does complex FP operations then it
> > will likely run a good chunk faster in 64bit mode than 32bit mode. Not
> > sure about the new Intel processors.
> >
> > If you are using more than 4GB of physical ram then memory operations
> > are going to be in general faster in 64bit mode.
> 
> The one final difference: 64-bit code is larger.  That means it uses up
> more space in the L1 and L2 cache than 32-bit code.
> 
> If that makes the difference between your inner loop (for something CPU
> or data intensive) running from L1 or not (or L2 or not) you can see a
> huge performance /loss/ with the larger code.
> 
> 	Daniel
> -- 
> Digital Infrastructure Solutions -- making IT simple, stable and secure
> Phone: 0401 155 707        email: contact at digital-infrastructure.com.au
>                  http://digital-infrastructure.com.au/
> 
> 




More information about the wellylug mailing list