Eu acredito que a principal questão ao escolher entre 32 e 64 bits não é "O meu processador suporta 64 bits - então devo usar 64 porque isso é duas vezes melhor", mas "Quanta memória eu tenho? ".
Os programas de 64 bits usam cerca de 50% mais de memória que seus equivalentes de 32 bits. Os resultados disso são:
-
menos código / dados podem caber em caches do processador - > mais erros de cache - > seu processador super rápido aguarda mais pelo controlador de memória para buscar dados da RAM. O processador também precisa ler mais dados porque está mais inchado.
-
O Linux usa RAM não alocada para armazenar discos em cache. Menos memória livre disponível - > menos espaço para caches de disco - > acesso mais lento ao disco
-
Quando você está sem RAM e o sistema inicia a troca - o acesso ao disco é milhares vezes mais lento que a RAM, portanto, qualquer benefício potencial do código de 64 bits (veja abaixo) está voando fora da janela. >
Por outro lado, no modo de 64 bits, o processador tem mais registradores, portanto, não precisa acessar a memória que, muitas vezes, alguns cálculos (números de 64 bits, etc.) são mais eficientes. Então, geralmente, o código que não é restrito a memória é executado com um pouco mais de velocidade no modo de 64 bits.
Então, se o seu sistema tiver, digamos, 2GiB de RAM ou menos, eu definitivamente escolheria 32 bits. Mais de 4GiB - os benefícios de 64 bits estão se tornando mais proeminentes. Em torno de 4GiB é uma "zona cinzenta" - você precisa fazer uma escolha sozinho.
Aqui estão imagens de um Ubuntu (um tanto antigo) do Ubuntu rodando em um VirtualBox com 1GiB de RAM:
32 bits: usa 388 MiB de RAM logo após a inicialização, nenhum aplicativo adicional é executado (na captura de tela, 397780KiB, que é 388MiB)
64bits:usa491MiBdeRAM(dacapturadetela,503452KiB=491MiB)
Além disso, em meus testes, um aplicativo da Web escrito em Python usava até 60% mais memória em uma máquina de 64 bits que resultava em um conjunto de testes sendo executado em 380 segundos em uma máquina de 32 bits, mas demorando 523 segundos um de 64 bits (ambos com 1GiB de RAM). Se as máquinas não fossem limitadas pela RAM, os resultados provavelmente seriam diferentes (como mostram os testes do phoronix).
Aqui estão alguns testes mais completos e recentes: link
Basicamente, é como desistir de 30% da sua RAM em troca de possível ganho de 10% da velocidade da CPU.