Ouvrir le menu principal

MacGeneration

Recherche

Les bénéfices du M1 Max dans mon quotidien de développeur

Florent Morin

lundi 13 décembre 2021 à 09:22 • 70

Mac

Quand Apple a présenté sa puce M1, le bond de performances vis-à-vis des processeurs Intel était assez impressionnant, et ce à un tarif raisonnable. En cette fin 2021, c’est la gamme professionnelle qui a été révélée. Vu le tarif des nouveaux MacBook Pro, il est légitime de s’interroger sur le gain réellement obtenu. Je vous propose un premier retour d’expérience en tant que développeur iOS avec quelques mesures opérées dans la vie de tous les jours.

Les configurations testées sont les suivantes :

  • MacBook Pro 15 pouces 2018, Intel Core i9 2,9 GHz, 32 Go de mémoire
  • Mac mini 2020, M1, 16 Go de mémoire
  • MacBook Pro 16 pouces 2021, M1 Max, 64 Go de mémoire

Les tests ont été effectués sur macOS 12.1 avec Xcode 13.2. Les mesures ont été prises avec et sans le nouveau système de compilation Xcode 13.2 activé via la commande defaults write com.apple.dt.XCBuild EnableSwiftBuildSystemIntegration 1.

Résultats via XcodeBenchmark

Le premier test a été réalisé via le projet XcodeBenchmark qui permet de mesurer les performances de Xcode au travers d’un projet très hétérogène. Dans la configuration non optimisée, les performances du i9 au M1 sont quasiment multipliées par 1,9. Et du M1 au M1 Max, on est aux alentours de 35 %. En configuration optimisée, le passage du i9 au M1 permet de multiplier les performances par 2. Et les performances du M1 au M1 Max sont multipliées par 3.

J’ai testé le procédé sur plusieurs projets personnels ou de clients : le gain n’est pas toujours aussi significatif au niveau du nouveau système de compilation. Par contre, le bénéfice en termes de performances entre les différentes puces est toujours bien marqué.

Même si la compilation est une action récurrente qui est effectuée des dizaines de fois par jour par les développeurs, les tests dans les simulateurs sont aussi une source de frustration, en particulier au moment du lancement.

Délai de lancement du simulateur iOS

J’ai donc pris un projet dont le lancement est fastidieux et j’ai mesuré le temps entre le clic pour déclencher le lancement de l’app et l’affichage du premier écran, le tout en partant d’un simulateur vierge de toute installation. Le bénéfice entre i9 et M1 est de 20 % environ. Et, si on passe du M1 au M1 Max, le bénéfice est de 35 %.

Enfin, j’ai également effectué quelques tests assez basiques d’apprentissage automatique avec Core ML. Sans entrer dans des détails qui nécessiteraient un article entier, les performances sont remarquables sur M1 Max mais absolument identiques à celles du M1 dans mon cas. En gros, j’en suis à 10 000 traitements par minute, soit pratiquement 2 fois plus qu’avec un Mac Intel et sans entendre le ventilateur souffler.

Au bout du compte, le M1 Max est pleinement satisfaisant, bien que sous-exploité aujourd’hui. On sent qu’il a encore beaucoup à donner. Le nouveau système de compilation de Xcode 13.2 illustre parfaitement le potentiel de la machine. Une simple mise à jour logicielle fait s’envoler les performances. J’ai aussi effectué plusieurs tests avec Swift Concurrency : on est encore loin de la maturité de Grand Central Dispatch en termes d’exécution de tâches concurrentes, bien que la technologie soit extrêmement prometteuse. C’est encore un levier sur lequel Apple pourra s’appuyer à l’avenir.

Ceci étant, les puces professionnelles M1 Pro et M1 Max réussissent déjà à se distinguer des puces M1 grand public. En tant que développeur, je vois nettement la différence au quotidien. Là où c’était rapide, c’est devenu très rapide. Et ce n’est que le début, vivement la WWDC22 !

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner