Pourquoi un PC rame ?

J’ai eu mon premier ordinateur en 1994, un Macintosh LCIII, processeur 33 MHz, 4 Mo de RAM et 80 Mo de disque dur. A cet époque, naïf et à l’esprit cartésien, je me disais que les nouveaux modèles allaient plus vite que les précédents. Ce qui est vrai sur le papier. Cependant, un test comparant un Mac de 1984 et un PC de 2007 montre que le Mac accomplit 57% des tâches plus vide. D’où vient le hic ?

Des composants hétérogènes

Tout d’abord, voyons le côté matériel. L’élément le plus rapide est le processeur, puis vient la mémoire vive (ou RAM), la carte-mère, pour finir sur les disques à mémoire (SSD) et les disques à plateau (HDD). Certains éléments n’entrent pas en ligne de compte, comme la carte graphique ou le BIOS de la carte-mère.

Pour bien comprendre le hic n°1, il faut savoir que l’information communiquant entre ces différents composants ira au plus vite à la vitesse du plus lent, comme un troupeau de moutons. Ici, on note le disque dur à plateaux. Les SSD sont en général 3 à 4 fois plus rapides. D’une manière générale, la diversité des composants et de leurs moyens de communication avec le processeur multiplie les contrôleurs, des intermédiaires de communication, et donc de traitement, surtout si les technologies de communication divergent, entre les instructions de longueur 32 et 64 bits par exemple.

De plus, la fameuse Loi de Moore, s’appliquant aux processeurs, n’est pas suivie par les autres composants. Certains se sont bien adaptés, comme les cartes-mères et la mémoire vive, mais les disques durs beaucoup moins (on était à 0.7 Mo/s en 1991 et 64 Mo/s en 2006, selon Moore on devrait être à 700 Mo/s, soit 10 fois plus…).

On peut également déplorer un contrôle systématique de l’état du matériel par le BIOS, le gestionnaire de périphériques interne, avant même le lancement du système d’exploitation. Celaprend en moyenne entre 5 et 10 secondes, alors qu’un mode « figé », si aucun matériel n’a été ajouté ou remplacé, permettrait de passer outre ce temps.

Enfin, notons que les nouvelles générations de processeurs sont capables de traiter des informations en parallèle (selon leur nombre de coeurs), mais que les autres composants fonctionnent toujours en série, une donnée après l’autre !

D’un point de vue logiciel

Le système d’exploitation, ou OS pour son acronyme anglosaxon, est le premier logiciel chargé par l’ordinateur. Il permet de charger un ensemble de pilotes pour la communication avancée avec le matériel, des bibliothèques de fonctions pour d’autres logiciels, lire et écrire sur des supports, etc.

En somme, le principe fondamental n’a pas évolué depuis 1984.

Cependant, le poids des systèmes d’exploitation a considérablement augmenté : l’OS du Mac de 1984 tenait sur une disquette double-densité, soit 720 ko, Windows 10 tient sur 3 DVD, soit près de 19 000 des mêmes disquettes !!! En comparaison avec l’évolution de la vitesse des disques durs, l’OS est 100 fois plus lent !!! J’extrapole, car tous les composants d’un OS ne sont pas chargés au démarrage, et heureusement. Mais même si seulement 1% est chargé, on tombe sur les mêmes performances qu’un Mac de 1984…

De plus, tous les OS utilisent ce que l’on appelle un swap, une partie du disque dur utilisée comme mémoire vive de tampon. L’intérêt ? Je ne l’ai jamais su, mais cela a certainement dû être mis en place à une époque où la mémoire vive coûtait tellement cher que le ratio prix/performance le plus rentable était d’utiliser le disque dur, 25 à 50 fois plus lent que la RAM… Bref, ce concept n’est plus d’actualité, mais le swap, oui ! Et même si vous avez 32 Go de RAM, l’OS prendra du swap !

Enfin, les effets graphiques, comme la transparence et les animations, contribuent à fortement solliciter le processeur.

Comment s’en sortir ?

Plusieurs astuces permettent de trouver un PC digne de ce nom :

  1. mettre de la RAM (8 Go minimum) et désactiver le swap (si vous avez un OS 64 bits, sinon ça ne marchera pas)
  2. changer son HDD pour un SSD (technologie SLC ou MLC)
  3. utiliser un stockage à base de RAM (rien de plus rapide, mais le contenu est supprimé à l’extinction)
  4. supprimer de son OS tous les services et pilotes dont on n’a pas besoin (un peu compliqué, et beaucoup ont des dépendances)
  5. supprimer les effets graphiques (c’est moins beau mais plus fluide)