32bit vs 64bit

I am not sureif this is the right place, but I was wondering why having a 64 bit OS or a 32bit OS makes no difference.
I wouldthink a 64 bit OS would be faster because a 64 bit word can be processed in oneCPU cycle, instead of two with a 32 bit OS.
I wouldthink blender would be very floating point intensive a would benefit from a 64bit OS.

Can somebodyexplane?



Repy delimited by .*.

the main reason for 64bits is that you can address more than 4 gigabytes of RAM, and you definately need more for heavy scenes.

64 bit is become bussword, and mean many unrelated things.

Basically it was about CPU and MMU address register size that can be directly operated, w/o any tricks, and mean there is hardware unit in CPU that can handle 64 bit oiperations with ADDRESS. in short, it allow you to operate very big arrays of data w/o any segment tricks, like nightmare in 8/16 bit era.

But recent CPU usually do not only have 64 bit ADDRESS operations, but increase general register size, incerase register number, and add more instructions to better handle that. It is orthogonal with address, dont mix them. Technically, there is possible to make CPU that can do 64 bit general operations (like C = A+B ) but have 32 bit addressing or lower. And oopposite, can address 64 bit data but have 16 bit ot 8 bit general registers. Actually, mainstream Intel and AMD CPU can be configured to any combination, for compatibility reason for example.

So, if you going to jump to 64 bit OS like Windows 64 or Linux 64, you get both 64 bit address, 64 bit general register pool, and new modern instructions, all in one. You get same time less restricted memory access, more and wider registers (good for complex programs, less memory access) and faster mor modern instructions. For example, x86_64 platform (recent AMD CPUs ) assume SSE2 instruction set for float point operations, it much faster then old archaic FPU 87 coprocessor instructions, and differ very lot.

There is possibility in very corner cases to get slower progrems, if it very depend on pointer size, as now pointer need 2 times more memory, 8 bytes instead of 4, but in reality such programs was rewriten long time ago and i ill be very surprised if you get any real program that will run slower on 64 bit OS.

And you definitely want a 64-bit OS if you have more than 4 GB of RAM; 32-bit can’t support more than that.

EDIT: oops, I missed CoDEmanX’s answer due to the advertisement…

Note Linux has some options for 32 & 64 bit,

With 32bit install you can address more then 4gig with Physical Address Extension (PAE), however each process is still limited to 4gig.

With 64bit installs you can have 4 byte pointer size with X32 ABI.


I knew about the bigger memory size.

But in my mind the 64bit version should also be faster, because of the bigger memory size.
And the fact that it should take less CPU cycles to process numbers bigger than 32bit.

But when i test the 32bit install of blender on my 64bit windows7 its actualy faster than the 64bit install.

That seems odd to me.

The instruction sizes don’t change the speed that much. In sounds like you expect that executing a 64-bit instruction should do twice the work of a 32-bit instruction just because it has twice as many bits in the registers. This is not the case, in general the 64-bit system will have to execute the same number of instructions that the 32-bit system does.

If you want to see a 64-bit system beat outperform a 32-bit system, load up a .blend that takes 3-4 GB of memory and you will find that the 64-bit system is 100 - 1,000 times faster than the 32-bit system.


Indeed my thought was that if your programprocesses large floats, larger than 32 bit it would not be able toprocess this number in one go.
But would have to take 2 or moreCPU cycles.

But indeed if you render a scene that uses morethan 4GB of RAM it would not be just slower on 32bit it would mostlikely not work at all.
I have not tried that yet.
But thatmakes perfect sense.