Optimisation

Quand Ou Comment

Quand optimiser ?

"premature optimization is the root of all evil"

Dr. Donald Knuth

REGLE A RESPECTER OBLIGATOIREMENT :

Optimiser un programme n´a lieu qu´en dernier recours, une fois que le programme s´exécute et donne le résultat escompte.

Ensuite SEULEMENT, et SEULEMENT SI la vitesse est un problème, optimiser, mais SEULEMENT le code qui en a réellement besoin.

Corollaire 1: Optimiser le code qui ne marche pas est inutile.

Corollaire 2: Optimiser le code qui ne pose pas de problème de vitesse est inutile.

Axiome de base des cette règle : Un code optimise est beaucoup, beaucoup plus dur a maintenir. Et en general c´est la source des bogues.

Ou optimiser ?

Détecter la lenteur

D´abord et avant tout, il faut trouver les bouts de code et les goulot d´étranglement du code, pour savoir ce qu´il faut optimiser

Plusieurs solutions:

Comment Optimiser ?

Quel type d´optimisation appliquer?

En premier lieu, il faut apporter le plus grand soin aux algorithmes choisi, utiliser des implentations de référence ou se plonger dans les livres de D. Knuth. Au besoin, il faut pouvoir prouver mathématiquement son choix. Vérifier son analyse du probleme et l´adéquation de sa solution.

Il faut ensuite trouver et definir les structures adaptees (conteneurs).

Puis il faut tester les optimisation du compilateur.

Le codage optimisé pour inconvénient principal qu´il défigure le code source, rendant beaucoup plus difficile sa lecture et sa maintenance.

La "règle" est que l´on peut peux gagner un facteur 1000 avec un bon algorithme et au maximum un facteur 10 avec du codage optimisé.

Connaitre ses Opérations Lentes

Et ses Opérations Rapides

Suggestions ?