Les Power Mac G5 et le 64 bits

En 2003, Apple lançait des machines équipées d’un processeur 64 bits, le PowerPC 970, alias G5 dans le jargon Apple, même si ce n’est pas réellement la cinquième génération de PowerPC. Avant de faire un sujet plus long sur le support du 64 bits dans Mac OS X, je me suis posé une simple question : existe-t-il des applications 64 bits pour PowerPC ?

J’ai donc installé Leopard (le dernier OS pour les PowerPC chez Apple) sur un Power Mac G5 (deux CPU à 2 GHz, 3,5 Go de RAM) et lancé la commande qui permet de vérifier la présence d’un binaire 64 bits.

locate -0 app/Contents/MacOS/ | xargs -0 file | grep ppc64

Surprise : il n’y en a que deux. Un truc lié aux scanners et le jeu d’échec de Mac OS X, qui contient d’ailleurs aussi des binaires PowerPC 32 bits, x86 (32 bits) et x86-64. J’en reparlerais, mais c’est pire avec les OS précédents : Jaguar et Panther ne permettent pas de proposer des applications 64 bits et Tiger ne prend pas en charge l’interface graphique avec les applications 64 bits.

Après quelques recherches, je découvre que Sjeng intègre un benchmark. Il suffit de lancer le moteur en ligne de commande et de taper la commande speed. Pour passer d’une architecture à une autre, il faut lancer le programme avec un argument avant.

En 32 bits :

arch -ppc /Applications/Chess.app/Contents/Resources/sjeng.ChessEngine

En 64 bits (par défaut) :

arch -ppc64 /Applications/Chess.app/Contents/Resources/sjeng.ChessEngine

Au passage, si vous voulez connaître les binaires proposés, la commande suivante fonctionne bien.

lipo -detailed_info /path/

Le côté amusant de la chose, c’est que la version 32 bits, qui n’est pas lancée par défaut, donc, est plus rapide que la version 64 bits, avec une avance parfois élevée.

Sjeng: speed (32 bits // 64 bits)
Movegen speed : 906143/s // 476458/s
Make+unmake speed : 8849842/s // 8649209/s
Movecycle speed : 6640627/s // 5521961/s
Eval speed : 900434/s // 808991/s

Plus clairement, Apple aurait pu utiliser des processeurs 32 bits capable d’adresser sur plus de 32 bits (au hasard, une partie des x86 de l’époque) sans que ça change réellement quelque chose. Le G5 a l’avantage d’être un bon processeur, même en 32 bits, et heureusement. Le 64 bits, c’était surtout du marketing, et il a fallu attendre Moutain Lion pour qu’Apple y passe totalement.