Je pense que la principale question à se poser pour choisir entre 32 et 64 bits n'est pas "Mon processeur prend-il en charge le 64 bits - si oui, je devrais utiliser le 64 car c'est deux fois mieux", mais "Combien de mémoire ai-je ?" .
Les programmes 64 bits utilisent environ 50 % de mémoire en plus que leurs homologues 32 bits. Les résultats de ceci sont :
-
moins de code/données peuvent tenir dans les caches du processeur -> plus de ratés de cache -> votre processeur super rapide attend davantage que le contrôleur mémoire aille chercher les données dans la RAM. Le processeur doit également lire plus parce que c'est plus gonflé.
-
Linux utilise de la RAM non allouée pour mettre en cache les disques. Moins de mémoire libre disponible -> moins d'espace pour les caches des disques -> accès aux disques plus lent
-
Une fois que vous n'avez plus de mémoire vive et que le système commence à échanger des données, l'accès au disque est des milliers de fois plus lent que celui de la mémoire vive, de sorte que tous les avantages potentiels du code 64 bits (voir ci-dessous) s'envolent.
D'autre part, en mode 64 bits, le processeur dispose de plus de registres, il n'a donc pas besoin d'accéder à la mémoire aussi souvent, et certains calculs (nombres 64 bits, etc.) sont plus efficaces. Ainsi, en général, le code qui n'est pas limité par la mémoire s'exécute légèrement plus rapidement en mode 64 bits.
Donc, si votre système a, disons, 2 Go de RAM ou moins, je choisirais sans hésiter le 32 bits. Plus de 4GiB - les avantages de 64 bits deviennent plus importants. Autour de 4GiB, c'est une "zone grise" - vous devez faire votre choix vous-même.
Voici des captures d'écran d'une Ubuntu vanille (plutôt vieille) fonctionnant dans une VirtualBox avec 1GiB RAM :
32 bits : utilise 388 MiB de RAM juste après le démarrage, sans aucune autre application en cours d'exécution (d'après la capture d'écran, 397780KiB, soit 388MiB)
64 bits : utilise 491 MiB de RAM (d'après la capture d'écran, 503452KiB = 491MiB)
De plus, lors de mes tests, une application web écrite en Python utilisait jusqu'à 60 % de mémoire en plus sur une machine 64 bits. La suite de tests s'est exécutée en 380 secondes sur une machine 32 bits, mais en 523 secondes sur une machine 64 bits (toutes deux avec 1 Go de RAM). Si les machines n'étaient pas limitées en RAM, les résultats seraient probablement différents (comme le montrent les tests de Phoronix).
Voici quelques tests plus approfondis et récents : http://kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods
En gros, c'est comme renoncer à 30% de votre RAM en échange de gain potentiel de 10% de la vitesse du CPU.