Loi de Wirth

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

La loi de Wirth est une loi empirique formulée par Niklaus Wirth en 1995, selon laquelle « les programmes ralentissent plus vite que le matériel accélère » [1]. Ou bien : le nombre d'instructions nécessaires à l'interprétation de programmes plus sophistiqués demande des ordinateurs plus rapides.

Niklaus Wirth attribuait quant à lui cette loi à Martin Reiser.

Explication[modifier | modifier le code]

En informatique, la loi de Wirth est un corollaire de la loi de Moore.

Alors que le matériel devient de plus en plus rapide, la loi de Wirth montre que les programmes n'accélèrent pas pour autant. Au contraire, ils deviennent de plus en plus gros et lents, les développeurs justifiant cette lenteur excessive comme compensée par la loi de Moore. La loi de Moore devient ainsi une excuse à la production d’obésiciel. En effet, les programmeurs prennent principalement en compte le ressenti de l'utilisateur plutôt que l'efficacité réelle. Les logiciels ont donc une lenteur ressentie constante bien que la puissance processeur de leur matériel augmente. D'un point de vue financier, une société développant un logiciel n'a que peu d'intérêt à faire travailler des codeurs sur de l'optimisation car le retour sur investissement est faible (comme les utilisateurs sont habitués à ces lenteurs, bien peu refusent d'acheter un logiciel pour cause de lenteur).

Il faut comprendre aussi que si la puissance de calcul a été démultipliée, la vitesse de communication vers l'extérieur n'a que très peu augmenté. Les accès disques durs, sur des disques durs « classiques » à plateaux et têtes de lectures magnétiques, peuvent représenter une grosse partie des latences en bureautique. L'arrivée des disques à mémoire flash (disques SSD) change cet état de fait.

Exemples[modifier | modifier le code]

La suite Microsoft Office a vu ses exigences matérielles décupler en sept ans, passant d'un processeur Pentium (ou équivalent) à 75 MHz pour Office 2000[2] à un processeur Pentium à 500 MHz pour Office 2007[3]. La situation est encore pire du côté de la mémoire. Cette « obésité » ne s’est pas accompagnée d’une multiplication des fonctionnalités d'une même ampleur pour autant. Au contraire, de l’aveu de l’éditeur, la suite est devenue de plus en plus lente et confuse avec le temps, amoindrissant d’autant sa productivité et son efficacité[4]. En définitive, ces systèmes devraient être utilisés sur les ordinateurs les plus récents avec et pour lesquels ils ont été conçus.

Les mêmes observations peuvent être faites avec le système d’exploitation phare du même éditeur, Microsoft Windows. Ainsi, Windows Vista demande au moins trois fois plus de puissance processeur que Windows XP pour fonctionner[5],[6].

Microsoft n'est pas le seul éditeur touché par le problème. D’autres programmes tels que Nero Burning Rom ou Adobe Reader ont également été décriés pour souffrir d’obésité et devenir de plus en plus lents à chaque version, sans que cela se justifie[7].

On rencontre cependant des exemples contraires.

Alors que les moteurs JavaScript des navigateurs apparaissaient de plus en plus lents du fait d'applications de plus en plus gourmandes, ces dernières années ont été marquées par une véritable course à l'efficacité[8]. Ainsi les navigateurs Internet tendent à être de plus en plus légers et rapides[9].

Ces progrès sont le fruit d'une « concurrence » très rude sur ce secteur depuis quelques années, bien que ces navigateurs soient pour la plupart gratuits.

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]