Je crois que la question principale lors du choix entre 32 et 64 bits n'est pas "Mon processeur supporte-t-il 64 bits - si oui, je devrais utiliser 64 parce que c'est deux fois mieux", mais ? ".
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 de processeur - & gt; plus de cache manque - & gt; Votre processeur ultra-rapide attend plus que le contrôleur de mémoire pour récupérer les données de la RAM. Le processeur doit également lire plus de données car il est plus lourd.
-
Linux utilise une RAM non allouée pour mettre en cache les disques. Moins de mémoire disponible - & gt; moins d'espace pour les caches de disque - & gt; accès au disque plus lent
-
Une fois que vous avez quitté la RAM et que le système commence à permuter - l’accès au disque est des milliers de fois plus lent que la RAM, de sorte que tous les avantages potentiels du code 64 bits >
Par contre, en mode 64 bits, le processeur a plus de registres, il n’a donc pas besoin d’accéder à la mémoire. Souvent, certains calculs (nombres 64 bits, etc.) sont plus efficaces. Donc, en général, le code qui n'est pas restreint par la mémoire est légèrement plus rapide en mode 64 bits.
Donc, si votre système a, disons, 2 Go de RAM ou moins, je choisirais certainement 32 bits. Plus de 4 Go - les avantages de 64 bits deviennent plus importants. Autour de 4GiB est une "zone grise" - vous devez faire un choix vous-même.
Voici des captures d’écran d’une (vieille) Ubuntu vanille fonctionnant dans une VirtualBox avec 1 Go de RAM:
32 bits: utilise 388 Mo de RAM juste après le démarrage, sans aucune application supplémentaire (à partir de la capture d'écran, 397780KiB, soit 388 Mo)
64 bits: utilise 491 Mio de RAM (à partir de la capture d'écran, 503452KiB = 491 Mo)
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, ce qui entraînait une suite de tests de 380 secondes sur une machine 32 bits un 64 bits (les 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: lien
En gros, cela revient à renoncer à 30% de votre RAM en échange de gain possible de 10% de la vitesse du processeur.