Se o programa fizer alguma coisa:
- acessa mais de 2 ou 3 GB de memória
- faça aritmética em inteiros de 64 bits, especialmente multiplique e divida
- suponha maior geração de CPU / conjunto de recursos na compilação de 64 bits e aproveite isso (por exemplo, instruções SSE)
- use os registros SIMD duas vezes mais amplos para um bom efeito
então 64-bit pode ser uma vitória grande .
Se nada disso for o caso, a versão de 64 bits será maior e usará mais memória e poderá ser mais lenta! Eu testei um programa e testes de biblioteca construídos nos dois sentidos, e a versão de 32 bits foi mais rápida. Aparentemente, ele armazena em cache pior, com os indicadores maiores levando a estruturas maiores e o uso maior de memória impede o máximo de encaixe na RAM do cache em qualquer camada. Os registros adicionais não compensaram isso.
YMMV com cada geração e modelo de processador e entre marcas. Mas, em geral, acesso à memória é um verdadeiro gargalo de velocidade e essa é uma tendência duradoura.