Sommaire

Préface

Parler d’optimisation logicielle, c’est revenir à un fondamental de la programmation que de nombreux développeurs oublient. Rappelons que les 640 Ko de mémoire des premiers processeurs x86 ou les espaces mémoire réduits des systèmes embarqués ont conduit les programmeurs à faire des prodiges !

Si les ressources sont devenues facilement accessibles et nombreuses, elles ont pourtant bel et bien un coût. Certes le prix d’achat du matériel ne fait pas resurgir ce coût réel, mais il est possible de chiffrer la consommation énergétique d’un code en exploitation, et de trouver une corrélation entre les ressources utilisées et leur équivalent énergétique, voire équivalent carbone.

L’optimisation d’un code va tenter de réduire le jeu de ressources utilisées et cela va se traduire par une vitesse accrue d’exécution. Cette variation sera plus ou moins perceptible par l’utilisateur devant sa machine. L’impact est encore plus marqué dans une ferme de serveurs. Si un code est optimisé de 20 %, cela se traduit sur un ordinateur portable de manière à peine sensible (meilleure réactivité, voire allongement de la durée de vie d’une charge de batterie). Par contre, dans une ferme de serveurs, 20 % représentent directement une machine sur cinq en moins ! Rappelons l’expérience de Facebook ...