Suivez-nous

Prospective

Benchmarks et performances

MacPlus

Publié le

 

Par

Dans le (petit) monde de la micro-informatique en général et dans la guerre que se livrent les tenants du Mac et ceux du PC en particulier, il est courant de s’asséner des chiffres issus de “benchmarks” (Test d’Evaluation) pour exprimer la supériorié des uns sur les autres. Mais ces chiffres sont-ils représentatifs de la réalité des performances des machines que nous utilisons ? Que signifient-ils dans la réalité d’une utilisation quotidienne ?

Dans le cadre d’un e-zine (magazine électronique) comme MacPlus dont la volonté affichée est de promouvoir et de défendre le Mac, il est important d’apporter des réponses à ces questions pour donner des arguments objectifs à chacun. d’entre nous pour répondre aux provocations et aux agressions de l’Empire de l’Ombre.

Les benchmarks ont deux objets fondamentaux : le marketing et l’évaluation des choix techniques. Le deuxième objectif, primordial pour les constructeurs, est totalement escamoté par les média au profit du premier, c’est pourquoi il convient tout d’abord de rétablir certaines vérités relatives aux tests effectués à des fins marketing, puis de comprendre pourquoi les tests techniques sont fondamentaux pour l’utilisation quotidienne des machines et des programmes.

Benchmarks : de qui se moque-t-on ?
Le 28 avril dernier, le Monde de l’Informatique a révélé les pratiques de Microsoft relatives aux benchmarks qu’il a l’habitude de commander à la société MindCraft et la manière dont celle-ci truque les tests pour présenter des résultats favorables à son client. De la même manière Intel a pour constante de “truquer” ses benchmarks pour donner des résultats théoriques qui n’ont strictement rien à voir avec la réalité. Il existe en effet deux manières d’optimiser les tests : l’utilisation de “hot-boxes” (machines expérimentales) et l’optimisation des compilateurs pour favoriser telle ou telle performance.

Dans le “Microprocessor Report” du 2 octobre 1995, à l’occasion du lancement du Pentium 120, Intel annonçait des performances de 140 SpecInt et 105 SpecFP pour son processeur. Dans le même temps, le meilleur PC de l’époque un Dell, utilisant ce processeur avec 256 ko de cache L2 et de la mémoire EDO affichait un SepcInt de 120 et un SpecFP de 90 soit environ 17% de moins que les résultats annoncés par Intel. De plus, cette machine constituait le haut de gamme utilisé pour les serveurs départementaux et était loin des performances accessibles au commun des mortels. A cette époque, la mémoire EDO était hors de prix, l’utilisateur moyen utilisant plutôt des mémoires FMP et se passait souvent de cache L2. Sur une machine de bureautique standard (Compac DeskPro) les performances passaient alors à un SpecInt de 107 et un SpecFP de 78, soit 30% de moins que les performances théoriques.

Intel mentait-il ? Non. Les performances annoncées étaient bien les limites THORIQUES de son processeur. Mais il se moquait du monde car pour établir ces chiffres, il utilisait une machine expérimentale hors de portée du public soit parce que les composants utilisés n’étaient pas disponibles sur le marché (prototypes) soit hors de prix, même pour des machines haut de gamme. Pour le Pentium Pro, Intel est même allé jusqu’à effectuer ses benchmarks avec une puce équipée d’un cache L2 de 1 Mo fabriquée à quelques centaines d’unités (pour éviter des poursuites pour publicité mensongère) alors que les processeurs vendus sur le marché étaient équipés de 256 Ko ou de 512 Ko de cache.

La seconde technique pour “gonfler” les benchmarks consiste à optimiser les compilateurs utilisés pour effectuer les tests. Pour cela Intel a créé un compilateur spécial appelé “Intel Reference Compiler”. Il s’agit d’un compilateur spécialement conçu pour les tests de performance, un peu comme les moteurs de F1 utilisés pour les séances de qualification. Ces moteurs, poussés à leurs extrêmes limites permettent des performances optimum pendant quelques tours de piste, mais ne tiennent en aucun cas la distance d’une course entière… et surtout, ils n’équiperont pas la voiture de Monsieur Tout-Le-Monde. De fait, ce compilateur n’est pas utilisable pour écrire des applications car il nécessite une telle optimisation du code qu’il décuplerait les temps de développement.

Au total, il existe en moyenne une différence de 30% entre les performances annoncées par Intel et les performances réellement accessible à l’utilisateur lambda.

Ne soyons pas naïfs, Apple en fait de même. Il utilise également des prototypes pour ses tests, mais les différences entre les performances annoncées et les performances réelles ne dépassent que rarement 5%. Une raison à cela : il y a trois acteurs dans le monde PowerPC : Apple, IBM et Motorola. Ces trois sociétés font des tests chacune de leur côté et il serait peu crédible qu’elles annoncent des résultats trop divergents. De même, les compilateurs utilisés par ces trois sociétés sont des compilateurs du marché : celui d’Apple et de Motorola font partie intégrante de Code Warrior, l’environnement de programmation dominant dans le monde Mac. Celui d’IBM, bien qu’étant compatible (il s’agit du même processeur, donc des mêmes instructions) n’est pas du tout utilisé par les développeurs Mac (à ma connaissance).

Optimisation : la règle d’or des programmeurs
Sur la base des performances théoriques d’un processeur, les programmeurs doivent adapter leur code en fonction des spécificités de tel ou tel processeur pour en tirer pleinement profit. Et dans le monde PC, c’est là que le bât blesse. Le Pentium est basé sur l’architecture des 80286, 80386, 80486. Il offre simplement des instructions en plus. Le problème est qu’on ne connait pas réellement la composition du parc PC : combien y a-t-il encore de machines en x86, en Pentium, en Pentium Pro en Pentium II et en Pentium III ? Les développeurs qui ont choisi la plateforme PC l’ont fait parce qu’elle représente 90 % du marché. Leur but est d’atteindre le plus grand nombre d’utilisateurs. Si l’on considère que la durée moyenne de vie d’une génération est de trois ans (une sorte de pyramide des âges), lors de l’apparition d’un nouveau processeur (le PIII par exemple) le code de ces applications est optimisé pour les processeurs sortis trois ans auparavant et qui constituent le plus gros du marché.

Evidemment, les nouveaux processeurs tournent plus vite, les nouvelles machines possèdent des composants plus rapides et de ce fait les programmes sont plus performants. Mais ces gains de performance ne tirent pas profit des possibilités offertes par les nouveaux processeurs, seulement des Mhz en plus. Par exemple, si un programmeur incluait les instructions du PIII dans son programme, celui-ci deviendrait incompatible avec les machines équipées de PII, il se couperait ainsi de la plus grande partie de son marché.

Ce qui est vrai pour les processeurs est encore plus flagrant avec le MMX, qui est une sorte de co-processeur. Celui-ci offre un jeu d’instructions spécialisées supplémentaires optimisées pour certaines fonctions (notamment graphiques). La majorité des PC actuellement vendus sont livrés avec le MMX. Mais combien d’applications en tirent-elles profit ? A part PhotoShop, Microsoft Office (et QuickTime pour Windows !!!) et quelques autres applications spécialisées, pratiquement aucune ! Pourquoi pensez-vous que tous les benchmarks effectués pour comparer les G3 et les PC utilisent toujours Office et PhotoShop sur chacune des platformes ? Parce que, sans le MMX, architecturalement, le Pentium est réellement deux fois moins rapide de le G3 !

Les problèmes d’optimisation sont moins déterminants sur la plateforme PowerPC (oublions les 680xx) : vous avez vous-même constaté les gains de performance en passant d’un 7600 à un G3 tout en conservant les mêmes applications. Il y a en effet un différence structurelle d’environ 3 à 5% entre un 604 et un G3 et, pour un développeur, une optimisation du code n’apporterait pas grand-chose (quel bonheur de programmer sur Mac !!!). C’est l’optimisation du G3 lui-même par rapport au 604 (et au 603 dont il est l’héritier en ligne directe) qui fait la différence, et non un ensemble d’instructions supplémentaires imcompatibles avec les précédentes générations (c’est la très grande différence entre les processeurs RISC et CICS : s’il y a de la demande, je peux écrire un papier dessus).

Il y a donc de la part de certains acteurs du monde PC une malhonnêté intellectuelle évidente dans leurs tests de performance et leurs tests comparatifs. Mais cela ne justifie en aucun cas de rejeter en bloc les benchmarks, au contraire : ce sont eux qui permettent tant aux fabricants qu’aux programmeurs de faire évoluer leur production et d’optimiser leur offre. De la même manière, cela permet aux utilisateurs de choisir leur machine en fonction de leurs besoins.

De la bonne utilisation des benchmarks
Dans la réalité d’une utilisation quotidienne, la puissance des processeurs est limitée par trois facteurs fondamentaux : l’architecture de la machine (en plus du processeur), le système d’exploitation (à ce sujet, il faut préciser que les benchmarks d’Intel sont réalisés sur des machines Unix !) et enfin, les programmes eux-mêmes.

Les benchmarks généralistes (performances du processeur, vitesse du bus, affichage video) correspondent à une vision globale d’une machine qui peut être assez éloignée des besoins de telle ou telle activité.

La campage de pub d’Apple menée lors de la sortie du G3 et qui affirmait que le PowerPC 750 était jusqu’à deux fois plus rapide que le PII à 400 Mhz n’était pas mensongère. C’était vrai pour certains tests (et notamment les calculs sur les entiers). Mais globalement, les G3 (les machines) n’étaient pas deux fois plus rapides que les PC équipés de PII à 400 Mhz.

En effet, le processeur, pour important qu’il soit dans une machine, n’en constitue que le cœur. Si les autres organes – bus, mémoire, disques durs – ne suivent pas, le résultat peut être décevant. Apple a été coutumier de cet état de fait (le Classic couleur par exemple, était équipé d’un 68030 mais d’un bus 16 bits). Jusqu’à une époque récente (1997), ses choix techniques étaient bien en deçà des possibilités des processeurs et très souvent (sinon toujours), les fabricants de clones et notamment Power Computing, proposaient des machines plus performantes.

Car en fait, chaque constructeur, chaque éditeur cible un créneau qui constitue son marché. Il réalise en interne ses benchmarks en fonction de ce créneau pour adopter un compromis technologique qui varie en fonction de deux paramètres majeurs : les coûts de fabrication (ou de développement) et les performances. Mais en aucun cas ces tests ne peuvent être utilisés pour juger globalement des performances d’une machine donnée. Celle-ci est donc issue d’un équilibre qui, bien souvent, n’a que peu de choses à voir avec le potentiel d’un processeur. Pour preuve, le PowerPC est également utilisé par IBM dans ses stations RISC 6000 destinées aux marchés scientifiques et industriels ou ses mini-ordinateurs de la gamme AS400 qui sont des serveurs de bases de données.

La force actuelle d’Apple est de proposer une gamme homogène et équilibrée offrant les meilleurs rapports qualité/prix et performance/prix du marché. Un G3 B&W 400 Mhz/1 Mo cache L2 et 128 Mo de RAM peut aussi bien être utilisée en infographie qu’en serveur départemental. Pour ces deux types d’utilisation, il lui faudra être comparé à deux PC configurés différemment. En infographie, la seule station qui puisse lui tenir tête est un SGI bi-processeurs équipé de deux PII à 400 Mhz. Dans le domaine des serveurs départementaux ou des serveurs Web, il n’a pas d’équivalent dans le monde PC : sous MacOS X, il les surclasse tous, quel que soit les types de tests (WebBench ou NetBench), et quel que soit le système d’exploitation qui y est installé (Linux ou NT). Nous sommes donc très loin des tests sur quelques filtres de PhotoShop et notamment des tests très peu utilisés.

Conclusion
Depuis fin 1997, Apple a donc comblé une partie de son retard, en termes de performances, par rapport au monde PC. Ses campagnes publicitaires et ses annonces axées sur des benchmarks flatteurs en témoignent. Le silence de ses concurrents face à ces opérations médiatiques est encore plus probant : avez-vous réalisé qu’Intel n’a pas répondu aux campagnes agressives d’Apple ? De même Microsoft n’a pas encore “produit” de test pour contrer le WebBench d’Apple qui montrait qu’un serveur Apache sous NT tournant sur un Dell PowerEdge équipé d’un PII à 450 Mhz n’était capable de transmettre que 300 cps alors que le même serveur sous Mac OS X tournant sur le G3/400 transmettait 740 cps.

Les benchmarks ont donc servi Apple pour élaborer sa stratégie de développement : il y a deux ans, ils mettaient en relief son retard. Ces mêmes benchmarks sont aujourd’hui utilisés pour démontrer sa supériorité… dans un certain nombre de domaines. Mais Apple ne reviendra définitivement sur le devant de la scène que lorsque qu’il aura mis en adéquation son ambition de conquérir le grand public avec les moyens. L’iMac est une première réponse, mais il n’est pas encore tout à fait la meilleure plateforme de jeux. Lorsqu’il le deviendra Apple aura réussi le tour de force unique de proposer la meilleure plateforme toutes utilisations confondues.