Rien n'est gratuit : bien que les applications 64 bits peut accéder à davantage de mémoire que les applications 32 bits, l'inconvénient étant qu'elles besoin de plus de mémoire. Tous ces pointeurs qui avaient besoin de 4 octets, en ont maintenant besoin de 8. Par exemple, l'exigence par défaut dans Emacs est de 60% de mémoire supplémentaire lorsqu'il est construit pour une architecture 64 bits. Cet encombrement supplémentaire nuit aux performances à tous les niveaux de la hiérarchie de la mémoire : les exécutables plus volumineux sont plus longs à charger depuis le disque, les ensembles de travail plus volumineux entraînent une pagination plus importante et les objets plus volumineux ont moins de place dans les caches du processeur. Dans le cas d'un processeur doté d'un cache L1 de 16 Ko, une application 32 bits peut travailler avec 4096 pointeurs avant d'échouer et de passer au cache L2, mais une application 64 bits doit atteindre le cache L2 après seulement 2048 pointeurs.
Sur x64, cela est atténué par les autres améliorations architecturales, comme l'augmentation du nombre de registres, mais sur PowerPC, si votre application ne peut pas utiliser >4G, il est probable qu'elle s'exécutera plus rapidement sur "ppc" que sur "ppc64". Même sur Intel, il existe des charges de travail qui s'exécutent plus rapidement sur x86, et peu d'entre elles s'exécutent plus de 5% plus rapidement sur x64 que sur x86.
0 votes
Il y a beaucoup de confusions ici, et ailleurs sur le web, entre l'adressage physique (accès à la RAM), PEA affecte cela, la carte mère affecte cela, et l'adressage logique (mémoire virtuelle par processus). Sur un système d'exploitation 32 bits, la mémoire virtuelle est limitée à 4 Go, moins ce que le noyau réserve. Elle est indépendante de la RAM : vous pourriez avoir 0,1 Mo ou 8 Go de RAM et vous auriez exactement 4 Go de mémoire virtuelle (mais une partie réservée par le noyau). PEA peut être utilisé pour avoir plus de RAM, mais n'est pas une réponse parfaite car le noyau NE PEUT PAS accéder à toute la mémoire.