L'impression de "rapidité" des Mac M1 n'est pas seulement liée aux performances brutes
Par Didier Pulicani - Publié le
La puce M1 d'Apple n'a plus à démontrer sa supériorité technique face à Intel : avec une consommation jusqu'à 5x plus faible, elle peut offrir des performances similaires voire supérieures aux anciens Core iX inclus dans les Mac.
Mais plus que les chiffres bruts, l'impression de vitesse n'est pas seulement liée qu'aux capacités de calcul des processeurs. Comme le révèle le spécialiste Howard Oakley dans une tribune largement étoffée d'exemples, ce sentiment de réactivé des tâches sur ces machines est surtout lié à la
Derrière ce concept se cache en réalité un système très avancé de gestion des priorités. Sous macOS Big Sur, chaque tâche se voit assignée un niveau de service : background, utility, userInitiated, et userInteractive, de la moins importante à la plus prioritaire. Par exemple, une sauvegarde sera plutôt du
Mais ce fonctionnement s'améliore drastiquement sur la puce d'Apple grâce à l'architecture BIG.little, là encore, rien de très nouveau : sur le M1, les 8 coeurs sont partagés en deux. D'un côté, 4 coeurs Icestorm peu performants mais très efficients, et de l'autre, des coeurs Firestorm, puissants mais plus gourmands en énergie. Vous voyez venir la suite : en assignant les tâches les plus modestes aux coeurs les plus économes en énergie, les coeurs rapides sont toujours disponibles à leur puissance maximale. Sur une puce Intel (pour schématiser très brièvement), macOS va assigner des tâches au pifomètre aux coeurs disponibles, charge à la puce de gérer au mieux les traitements. Mais en pratique, tous les coeurs sont utilisés de la même façon et aucun n'est réellement 100% disponible pour une tâche gourmande à un instant T.
A l'arrivée, ces Mac poussés à pleine charge paraissent plus réactifs, même si certaines tâches
Dernier point important pour que tout ceci fonctionne correctement : charge aux développeurs d'assigner la bonne priorités aux différentes tâches de leurs applications. Si tout est considéré comme
Mais plus que les chiffres bruts, l'impression de vitesse n'est pas seulement liée qu'aux capacités de calcul des processeurs. Comme le révèle le spécialiste Howard Oakley dans une tribune largement étoffée d'exemples, ce sentiment de réactivé des tâches sur ces machines est surtout lié à la
Qualité de Service(QoS en anglais). Pour faire simple, le QoS consiste à faire travailler de concert le hardware et le software pour gérer au mieux les besoins de l'utilisateur.
Derrière ce concept se cache en réalité un système très avancé de gestion des priorités. Sous macOS Big Sur, chaque tâche se voit assignée un niveau de service : background, utility, userInitiated, et userInteractive, de la moins importante à la plus prioritaire. Par exemple, une sauvegarde sera plutôt du
Backgroundalors qu'un traitement sous Final Cut Pro sera en
userInteractive. Jusque là, rien de bien nouveau, ce traitement existe aussi bien sur Intel que sur les Mac M1.
Mais ce fonctionnement s'améliore drastiquement sur la puce d'Apple grâce à l'architecture BIG.little, là encore, rien de très nouveau : sur le M1, les 8 coeurs sont partagés en deux. D'un côté, 4 coeurs Icestorm peu performants mais très efficients, et de l'autre, des coeurs Firestorm, puissants mais plus gourmands en énergie. Vous voyez venir la suite : en assignant les tâches les plus modestes aux coeurs les plus économes en énergie, les coeurs rapides sont toujours disponibles à leur puissance maximale. Sur une puce Intel (pour schématiser très brièvement), macOS va assigner des tâches au pifomètre aux coeurs disponibles, charge à la puce de gérer au mieux les traitements. Mais en pratique, tous les coeurs sont utilisés de la même façon et aucun n'est réellement 100% disponible pour une tâche gourmande à un instant T.
A l'arrivée, ces Mac poussés à pleine charge paraissent plus réactifs, même si certaines tâches
de fondsont un peu plus lentes que sous Intel. Mais pour l'utilisateur, c'est bien cette sensation de réactivité qui compte et nos confrères d'ArsTechnica de faire le parallèle avec l'ordonnanceur Completely Fair Queue (cfq), introduit dans le noyau Linux dans les années 2000, puis retiré récemment : ce système censé faire de la
file d'attente complètement équitables'est retrouvé contre-productif à l'usage, et avait tendance à rendre le système plus lent pour l'utilisateur.
Dernier point important pour que tout ceci fonctionne correctement : charge aux développeurs d'assigner la bonne priorités aux différentes tâches de leurs applications. Si tout est considéré comme
urgent(pour obtenir les meilleures performances possible), tous les autres programmes se retrouvent perdants. A l'inverse, si les priorités sont bien faites, le Mac paraitra plus rapide, même si certains calculs (comme la compression d'un fichier, exemple repris par Oakley) se montreront un peu plus lents que sous Intel.