La performance est un facteur central en programmation. Un logiciel interactif trop lent a tendance à frustrer les utilisateurs. Un logiciel faisant un calcul important peut travailler sur des problèmes de taille plus importante s'il est rapide. Bref, entre un logiciel lent et un logiciel similaire rapide, il vaut mieux le logiciel rapide.
Mais, la rapidité n'est pas gratuite. Obtenir la performance nécessite souvent plus de temps d'implémentation, plus de test et souvent plus de maintenance. Dans certains cas, il suffit de choisir le bon algorithme pour obtenir la rapidité souhaitée, mais il y a d'autres cas où le travail nécessaire pour l'obtenir est prohibitif.
Dans cette partie du livre, nous analysons tous les facteurs influençant la performance et nous indiquons les choix préférables de ce point de vue. Les techniques indiquées sont des techniques de base, à savoir des techniques que tout programmeur devrait maîtriser. Ces techniques sont pour la plupart, indépendantes du langage choisi.
La plupart des logiciels passent environ 80% de leur temps dans 20% de leur code. Le plus rentable est donc de se concentrer sur l'optimisation de ces 20% de code. Une méthode plus simple à implémenter et à maintenir suffit souvent pour l'autre partie.
Toutefois dans le cas de code destiné à être réutilisé, la situation est différente. Il est difficile, voire impossible, de prévoir toutes les situations d'utilisation finale du code. Pour ce type de code, il est donc prudent de passer un peu plus de temps à l'optimisation. De plus, puisque le code est réutilisable, et s'il est effectivement réutilisé, l'effort supplémentaire sera en fait divisé par le nombre de fois que le code est réutilisé.