PDA

View Full Version : 32bit xp vs 64bit xp


rowbear62468
08-06-2004, 12:51 PM
what is the real world diff between 32 bit xp and 64 bit xp?

Phoenix86
08-06-2004, 01:03 PM
In a nutshell:

64bit proc + 64bit OS + 64 app = increase speed. increased memory capacity, not used unless you have more than 4GB RAM.

64bit proc + 64bit OS + 32bit app = not much gained, if any. increased memory capacity, not used unless you have more than 4GB RAM.

64bit proc + 32bit OS + 32bit app=basically 32bit mode. no mempory advantage.

edit: so it really depends on your application...

edit2: corrected last scenario per [MS]

[MS]
08-06-2004, 01:07 PM
The available memory to a process.

32bit XP maxes out at 2GB for a user process (3GB under special conditions).

64bit XP maxes out at:
2GB for a 32bit user process (4GB under special conditions)
8TB for a 64bit user process

Right now the addressable memory in 64bit version of Windows is limited to 16TB total, though another 250 TB can be used inside the kenel. This is due to a single instruction which was not extended in the move to the x64 instruction set.

[MS]
08-06-2004, 01:21 PM
In a nutshell:

64bit proc + 64bit OS + 64 app = increase speed. increased memory capacity, not used unless you have more than 4GB RAM.

64bit proc + 64bit OS + 32bit app = not much gained, if any. increased memory capacity, not used unless you have more than 4GB RAM.

64bit proc + 32bit OS + 32bit app=basically 32bit mode. increased memory capacity, not used unless you have more than 4GB RAM.

edit: so it really depends on your application...

As for the speed argument, I won't make any claims there. I haven't seen benchmarks right next to each other. I have heard that there are cases where IA64 is faster, and other cases where x64 is faster, and cases where x86 is faster. The one big pitfall at the moment is that drivers on x64 systems are not as finely tuned as the x86 counterparts. As for speed of a 32bit app running on a 64bit OS, what you say generally hold true for x64; in IA64 things slow down because of emulation\translation.

As for memory, you can see from my first post that the 32bit apps start hitting a memory barrier at 2GB, not 4GB. Running a 32bit app on a 64bit OS may gain you some additional memory space, but it still tops out at 4GB of available memory at any one time.

The real advantage is running a 64bit process on a 64bit OS, which increases the per-process memory to 4096 times that of the 32bit WinXP.

As for running a 32bit OS on 64bit hardware? There is no memory advantage. It’s still bound by the rules of a 32bit OS.

Phoenix86
08-06-2004, 01:50 PM
']As for running a 32bit OS on 64bit hardware? There is no memory advantage. It’s still bound by the rules of a 32bit OS.

Fixed.

And yes, there *should* be a speed increase, once things like drivers mature. The fact that 64 bit systems are keeping speed with 32 bit systems, is very telling (since 64 bit drivers are far from mature). Of course one never really knows until it's here. :)

HHunt
08-06-2004, 02:13 PM
I suspect that XP for x86-64 might be a bit faster than x86-32, not because of the 64bitness, but because of the extra available registers. Same should go for apps, really.
(But can an app run in x86-64 mode, with 32-bit adressing, on 32-bit windows XP? That's what I wonder.)

ameoba
08-06-2004, 06:28 PM
of course, 64-bit XP isn't really 'ready for prime time' yet but, based on my experience with AMD64 Linux, there's a noticable speed increase (doubling the registers helps a lot).

puck
08-07-2004, 01:29 AM
In linux I've noticed that compiling is quick like ninja even in t 32bit mode, I'm going to assume thats from the extra regs

HHunt
08-07-2004, 05:04 AM
Possibly, but if an app is compiled for normal x86, I don't think it'll use them.
IIRC there's basically three possible "modes" on x86-64:
* Normal 32-bit (equal to what you'd get on a normal athlon)
* 32-bit with extra registers
* 64-bit
and things have to be compiled for each one.