Performance des applications
La performance d'une application "numérique", c'est à dire le temps mis pour réaliser une tâche de calculs intensifs comme un filtre sous Photoshop, ou un encodage MP3, n'est pas très intéressante. Classic réalise ces tâches de façon assez proche du système Mac OS 9 pour ne pas en être différenciable sans un chronomètre. Selon mes essais, l'effet sur la performance est inférieur à 10 % et souvent trop faible pour pouvoir être mesuré avec précision.
Le problème de performance d'une application le plus évident n'est pas lié du tout aux applications. L'expérience subjective de performance fournie par une combinaison de la vitesse de tracé et de la réactivité générale de l'IU représente ce que la plupart des observateurs occasionnels identifient comme "lenteur" pour une application donnée. De la même façon, toute application native OS X qui doit interférer avec les problèmes de préférences décrits dans la page précédente semblera "lente".
C'est avec le multitâche que la performance d'une application intervient réellement : comment chaque application se comporte-t-elle dans ce nouvel environnement ? Bien sûr, les applications classiques continuent d'exister dans leur petit monde coopératif. La seule différence est que si l'environnement classique lui-même (rappelez vous, un processus utilisateur) ne reçoit pas assez de cycles CPU, les applications vont être affamées, donc peu réactives. Comme je l'ai dit précédemment, j'en ai rencontré un cas extrême en installant le CD des outils de développement. Classic, plus que Mac OS X a des racines profondes dans le cœur de l'OS, jusqu'au noyau Mach. La conséquence apparente est qu'il semble plus sensible à un mauvais comportement en réponse à une surcharge du système.
Le coupable suivant n'a pas les mêmes excuses. Le Finder d'OS X est le roi incontesté de l'incapacité à répondre parmi les applications OS X natives. On a déjà abordé les problèmes terrifiants du redimensionnement des vues en liste, mais attendez , il y a plus grave. Un nombre anormal d'opérations bloquent le Finder d'OS X. Par "bloquer", je veux dire que le Finder ne répond pas pendant ces opérations. Presque tout ce qui requiert un accès au réseau présente ce comportement. Si le montage d'un volume AppleShare ou de votre iDisk prend 30 secondes, le Finder sera inutilisable pendant 30 secondes. C'est à l'évidence un défaut de l'application, pas une faute de l'OS, puisque beaucoup d'autres applications ne présentent pas ces défauts Il est honteux qu'une application aussi importante soit ainsi affectée.
La pré-version 5.1 associée de Internet Explorer constitue un autre défaut de performance. Elle prend un temps interminable à se lancer, présente les symptômes habituels du redimensionnement et du défilement des fenêtres, se bloque souvent en télé-chargeant des fichiers, et se comporte généralement plus mal que IE 5.0 dans l'environnement classique. Après avoir affronté IE 5.1 pendant plusieurs heures, j'ai renoncé, et recopié l'icône IE 5.1 sur ma copie de IE 5.0, que j'utilise pour la navigation Web. Sa performance est meilleure en tous points.
Les performances de QuickTime demeurent problématiques sur le G3. J'ai été incapable de faire tourner une seule copie (588 x 440) de la version vidéo de la pub sur l'iMac Ruby en pleine résolution sur le G3/400, même avec un système complètement inactif. Cette vidéo s'affiche correctement sur la même machine sous Mac OS 9. Le G4/450 dual fait bien mieux, en jouant facilement deux copies de cette vidéo en même temps à pleine vitesse sur un système faiblement chargé. Visiblement, l'unité AltiVec du G4 facilite grandement le rendu de QuickTime, mais je suis intrigué par les mauvaises performances du G3, et notamment la différence entre OS X et Mac OS 9. Ce fut un problème pendant out le développement de Mac OS X, et c'est honteux de voir qu'il subsiste dans la version 10.0. Est-ce qu'Apple renonce à optimiser le G3 en faveur du G4 ?
Un dernier test de performance courant : est-ce que mon MP3 va sauter ? Et bien, cela dépend. Une version native sous Mac OS X de l'application lecteur/encodeur MP3 iTunes d'Apple est sortie le 24 mars, mais n'était pas disponible dans la boite Mac OS X. C'est une version incomplète qui souffre de quelques ralentissements importants en lecture, et ne supporte pas encore des caractéristiques comme la gravure d'un CD ou des visualisations plein écran. Néanmoins, minimisée dans un coin, elle joue consciencieusement des MP3 à peu près sans à coups.
J'ai dit "à peu près", parce que je peux la faire sauter sur mon G3/400, en attrapant par exemple la fenêtre semi-transparente du terminal, et en l'agitant aussi vite que je le peux. (L'activité énorme du CPU dans cette action intervient compte tenu des problèmes d'accélération graphique évoqués précédemment). Cela ne fonctionne pas sur le G4/450, mais j'ai encore pu faire sauter iTunes sur cette machine en recourant à l'environnement classique (démarrage, arrêt, appel à des applications classiques, etc...).
Selon la documentation Apple, le noyau Mach de Mac OS X s'enorgueillit d'un "support temps réel" qui "garantit un accès sans retard aux ressources du processeur pour les applications média sensibles au temps". Je ne doute pas des possibilités de Mach, mais je n'ai pas vu une seule application qui profite pleinement de ces avantages. La lecture MP3 dans la version Mac OS X de iTunes ne semble pas substantiellement plus dépourvue de sauts que sa contre partie Mac OS 9. Evidemment, les cycles CPU sont une ressource finie, mais il me semble qu'une lecture sans à-coups pourrait être obtenue grâce aux capacités temps réel de Mach. iTunes 2 sur Mac OS 10.5, peut-être ?
Mac OS X est plus lent que Mac OS 9 sur une même machine. Dans l'ensemble, l'interface est moins réactive. Toutes les applications classic sont moins touchées en vitesse. L'utilisation de la RAM est énorme, à cause du caractère "double OS" de l'environnement classique. En dépit d'un système de mémoire virtuelle supérieur, OSX peut avoir des problèmes (et en a), quand l'activité de pagination commence à s'établir sur des systèmes avec une RAM proche du minimum requis, 128 Mo.
On peut s'attendre à beaucoup de ces choses là pour n'importe quel OS nouveau. L'expérience la plus comparable dont je peux me souvenir dans le monde Mac est l'introduction de la couleur. Mon vénérable SE/30 vit sa performance d'affichage réduite presque de moitié par l'adjonction d'un moniteur couleur de 14 pouces et d'une carte d'affichage en couleurs sur 24 bits (à 600 $). Semblablement, l'introduction du System 7 a provoqué une baisse de performance énorme. J'ai relancé récemment le système 7.5.5 sur mon SE/30 de 8 Mo, et j'ai été sidéré de voir la lenteur d'opérations de base comme la sélection d'un menu Apple. Je pouvais littéralement observer l'OS en train de tracer le menu, les items de menu, et toutes les icônes qui les accompagnent. Le système 6, sur la même machine est considérablement plus rapide.
Le passage d'Apple au CPU Power PC s'est accompagné d'une expérience similaire. Les applications classic (68 k) sont émulées sur les Macs à Power PC, et c'est une traduction réelle du jeu d'instructions qui est beaucoup plus coûteuse en temps de calcul que la série d'artifices qui restitue l'environnement classique sous Mac OS X. Mais cela ne fut pas une obstacle insurmontable pour le succès de cette transition. Peu de temps après le début de celle-ci, les macs Power PC émulaient les applications 68 k plus rapidement que n'importe quelle machine 68 K ne les avait fait tourner.
D'autre part, l'avantage des applications Power PC natives fut considérable. Mac OS X n'a pas cet avantage. Les applications natives OS X ne sont pas automatiquement plus rapides que leur équivalent classique, et peuvent même être considérablement plus lentes, comme je l'ai montré avec le Finder d'OS X, et la version (il est vrai préalable) d'Internet Explorer livrée avec l'OS.
Mac OS X 10.0 pâtit d'une combinaison de ces déficiences. Il a la réactivité d'interface et la gourmandise en RAM de la transition couleur/System7, et le handicap de vitesse des applications anciennes de la transition Power PC, mais sans l'amélioration de performance propre à une application native.
Est-ce là une combinaison fatale, ou bien Mac OS X aura-t-il une interface utilisateur réactive, et pourra-t-il faire tourner des applications classiques plus rapidement que n'importe quel système Mac OS 9 quand viendra 2003 ? Le temps le dira, mais je pense que les problèmes de performance sont à eux seuls une raison suffisante pour ne pas utiliser Mac OS X 10.0 sur tout système sur lequel il n'est pas pré-installé, à moins que vous ne soyez un essayeur reconnu. Et comme Mac OS X n'est pas sensé être pré-installé sur un système Apple pendant quelque temps, cela signifie que, pour moi, les nouveaux utilisateurs de Macs ne devraient pas installer OS X sur des matériels existants pour de simples considérations de performance (à l'exception des essayeurs).
Il me faut encore aborder d'autres problèmes comme la stabilité, et l'interface utilisateur, et il y aura là encore des avantages et des inconvénients à prendre en compte, alors, ne prenez pas encore votre décision.