Correctif Meltdown : quel impact sur les performances des Mac ?

Stéphane Moussie |

Les failles Spectre et Meltdown sont non seulement exceptionnelles par l’ampleur des processeurs touchés et leur conséquence sur la sécurité, mais aussi par les effets secondaires de leurs correctifs. Puisqu’ils touchent à une fonction des processeurs qui accélère les traitements, les patchs peuvent conduire à une baisse de performances.

Microsoft a fait le point sur l’impact sur PC :

  • Avec Windows 10 sur un ordinateur de 2016 ou plus récent (processeur Skylake, Kaby Lake et ultérieur), les benchmarks affichent des ralentissements de moins de 10 %. Selon Microsoft, la plupart des utilisateurs ne noteront pas de changement car il est question de millisecondes seulement.
  • Avec Windows 10 sur un ordinateur de 2015 ou plus vieux (processeur Haswell et antérieur), certains benchmarks affichent des ralentissements plus significatifs, et certains utilisateurs remarqueront une baisse de performances du système.
  • Avec Windows 8 ou 7 sur un ordinateur de 2015 ou plus vieux, la plupart des utilisateurs remarqueront une baisse de performances du système.

D'après des tests effectués par Intel sur des PC allant de Windows 10 à Windows 7 et d'un processeur de 8e génération (la dernière) à un de 6e génération (Skylake), la baisse de performances n'excède pas 10 %.

Et sur Mac ? Apple déclare que le correctif intégré à macOS 10.13.2 « [n’entraîne] aucune réduction mesurable des performances de macOS et d’iOS sous GeekBench 4, ou sous les principaux benchmarks de navigateur Web comme Speedometer, JetStream et ARES–6. »

Le chercheur en sécurité Pedro Vilaça, alias fG!, a voulu en avoir le cœur net et a mené des tests indépendants sur deux machines :

  • MacBook Pro 2011 - Core i7 2 GHz - 16 Go RAM - SSD Corsair Neutron GTX 240 Go (non d’origine)
  • Mac Pro 2013 - Xeon E5 6 Core 3,5 GHz - 32 Go RAM - SSD 256 Go

Il a comparé les scores de ces deux Mac sur plusieurs versions de macOS : Sierra 10.12.6, High Sierra 10.13.0, 10.13.1 et 10.13.2, cette dernière incluant donc le correctif pour Meltdown.

Geekbench 4

Comme l’indique Apple, l’écart de performances sur Geekbench 4 est nul sur le MacBook Pro. Le portable ne fait pas les mêmes scores au point près sur les différentes versions de macOS, mais on est dans la « marge d’erreur » habituelle des benchmarks.

MacBook Pro single-core. Crédits : fG!. Cliquer pour agrandir

Tout au plus remarque-t-on que le MacBook Pro est un peu plus rapide sur High Sierra que sur Sierra, et que 10.13.2 qui nous intéresse ici ne change rien à cela.

MacBook Pro multi-core (attention, l’échelle n’est pas la même que sur le graphique précédent). Cliquer pour agrandir

Sur le Mac Pro, une variation apparaît, et elle est en défaveur de 10.13.2, mais à seulement 1,40 %, elle reste vraiment mineure et on n'est pas loin de la marge d'erreur.

Compilation

Deuxième benchmark réalisé par Pedro Vilaça : la compilation du noyau XNU (disponible sur le site Apple Open Source) avec le script d’un autre chercheur en sécurité pour éviter des « bizarreries » des outils d’Apple.

Pour le MacBook Pro, le résultat sous 10.13.2 est moins bon que celui sous 10.13.0, qui était lui-même moins bon que sous 10.12.6. Entre les deux versions de High Sierra, la baisse de performances est de 3,7 %. Entre 10.13.2 et 10.12.6, on perd 7,4 %.

MacBook Pro. Cliquer pour agrandir

Le Mac Pro s’en sort mieux. La différence entre 10.13.2 et 10.12.6 est négligeable (moins de 2 %), mais la dernière version de macOS efface les petits progrès qui avaient été faits par 10.13.0.

Décompression

Ensuite, la décompression d’une archive de Xcode faisant 5,2 Go, une opération sollicitant beaucoup le processeur et le SSD.

MacBook Pro. Cliquer pour agrandir

Sur le MacBook Pro, on perd en moyenne 7,7 % de performances entre 10.13.0 et 10.13.2. Mais ce n’est rien par rapport à la baisse spectaculaire de 40 % entre 10.12.6 et 10.13.0, qui s’explique peut-être par un APFS pas encore bien adapté. C’est la même dégringolade sur le Mac Pro.

syscall

Dernier test mené par le chercheur en sécurité, l’exécution d’appels système (syscall), un type de tâches qui est directement affecté par les correctifs, car il est au cœur de la faille. Contrairement à la décompression d’une archive qui est une opération courante, il s’agit d’un test brut et extrême. « Aucune application normale n’essaye d’exécuter 250 millions de syscalls aussi vite que possible, informe le spécialiste. Il y a des applications qui dépendent plus des syscalls que d’autres, et ce sont celles-ci qui seront le plus affectées. »

Précision étant faite, sur le MacBook Pro, la fonction getpid, qui renvoie l’identifiant du processus appelant, est 343 % plus lente sous 10.13.2 par rapport à 10.13.0. C’est encore pire sur le Mac Pro : - 380 %.

Cliquer pour agrandir

D’autres fonctions syscall testées (read, write, lseek…) montrent aussi des écarts énormes de performances en défaveur de 10.13.2, jusqu’à 244 %.

Bilan

« Est-ce que l’impact sur les performances existe ? Oui, clairement. Est-ce qu’il est significatif ? Ça dépend », conclut le chercheur en sécurité. Si l’impact sur les performances syscall est considérable, il n’affectera pas la majorité des utilisateurs. Seuls ceux qui exécutent des opérations très lourdes avec de nombreux appels système verront leurs performances se réduire dramatiquement.

L’utilisateur lambda est moins touché. La baisse de performances est réelle comme le montre le test de décompression, mais elle est assez mineure. Et il faut rappeler que l’intensité du ralentissement dépend non seulement du type de tâches, mais aussi du Mac, un modèle récent devant s’en sortir mieux qu’un plus ancien.

Intel assure travailler avec tous les acteurs de l’industrie pour minimiser le contrecoup des correctifs. Apple a d'ailleurs annoncé qu'elle continuait à développer et à tester d’autres correctifs qui seront disponibles ultérieurement. La situation devrait donc évoluer dans le bon sens. Mais la véritable solution, celle qui n’aura aucun effet négatif, passera uniquement par une modification de l'architecture matérielle, et donc de nouveaux processeurs.

Accédez aux commentaires de l'article