Pourquoi Rosetta 2 est si rapide ? C'est la question intéressante que pose le développeur australien Dougall J sur son blog. En effet, la technologie d'Apple qui permet d'exécuter du code x86 (pensé pour les processeurs d'Intel) sur des CPU ARM64 (comme l'Apple M1) est très nettement plus efficace que son équivalent chez Microsoft.
Les bases de Rosetta 2
Nous n'allons pas trop entrer dans les détails — si vous aimez l'assembleur et comparer les instructions, le post original va vous ravir — mais quelques points sont à souligner. Premièrement, Rosetta 2 a un comportement un peu particulier pour un émulateur : au lieu de convertir chaque instruction x86 en instruction(s) ARM au fur et à mesure de l'exécution, la voie d'Apple est de le faire en une seule fois, au premier lancement de l'application. Ce choix implique un petit temps d'attente (qui se répète à chaque mise à jour des logiciels), mais améliore les performances globales.