(Un jour, il faudra que j'ecrive un texte qui explique les differences entre 32bits et 64bits.)
Il n'y a pas de resume en deux lignes parceque c'est assez complique.
La difference principale entre 32bits et 64bits est au niveau du jeu d'instruction du processeur. 64bits permet de traiter nativement des variables qui ont une taille de 64bits. Si tu as besoin d'entier 64bits sur une machine 32bits, il faut utiliser deux entier 32bits et gerer manuellement le decoupement. Par exemple pour faire une addition il faut additionner les deux parties et gerer la retenu correctement. Ca prend donc a peu pres 3 operations. En 64bits, tu n'as besoin que d'une seule operation pour faire la meme chose. (Oui, je sais, il y a certainement des operations vectorielle quelquepart qui servet a faire ca.)
Apres il y a d'autre difference. Les pointeurs sont nativement en 64bits. Ca te permet d'avoir access a un espace d'addressage beaucoup plus grand. Tu n'es plus limite a 2GB d'addresse virtuelle par processus. Si tu as besoin d'utiliser plus de 2GB de memoire dans un processus, ca a un interet immediat. Sinon, avoir plus d'adresse virtuelle est bon pour eviter un peu la fragmentation de l'espace virtuelle ou pour mapper des fichiers en memoire ou ce genre de chose. La contrepartie immediate est que tous les pointeurs sont deux fois plus gros qu'avant. Donc plus de consommation memoire, de cache...
La derniere grosse difference est la disponibilite de plus d'instruction vectorielle qui servent a faire des operations par lots sur plusieurs variable en meme temps. Ca peut apporter un gain majeur dans les calculs numerique tres repetitif.
Dans l'ensemble, le 64 bits peut apporter un gain de performance important... a condition de savoir ce que l'on fait avec. La plupart du temps, les code deviennent plus lent en 64 bits a cause des pointeurs qui deviennent plus gros et qui diminue l'efficacite des caches.
Pour le SSD, linux gere ca bien a ce que j'ai entendu dire. Mais il doit falloir utiliser un systeme de fichier different de ext3.