There are reasons for 64bit to be faster - more registers to work with.

(from https://en.wikipedia.org/wiki/X86-64 )
In addition to increasing the size of the general-purpose registers,
the number of named general-purpose registers is increased from eight
(i.e. eax, ebx, ecx, edx, ebp, esp, esi, edi) in x86 to 16 (i.e. rax,
rbx, rcx, rdx, rbp, rsp, rsi, rdi, r8, r9, r10, r11, r12, r13, r14,
r15).

Generally the ABI
(https://msdn.microsoft.com/en-us/library/ms235286.aspx) passes most
arguments by register instead of by stack ....

"The x64 Application Binary Interface (ABI) is a 4 register fast-call
calling convention, with stack-backing for those registers. There is a
strict one-to-one correspondence between arguments in a function, and
the registers for those arguments. Any argument that doesn?t fit in 8
bytes, or is not 1, 2, 4, or 8 bytes, must be passed by reference."

32 bit apps are a tiny percent slower than 64 ... or rather the same
speed they always were and 64 bit is a tiny percent faster because of
the above reasons.

Reply via email to