UKOnline

Optimisation de code

Une fois l'interpréteur Python choisi, on peut s'attaquer à l'optimisation du code, à proprement parler. Il faut néanmoins faire attention lorsque l'on s'attelle à une telle activité, car il ne faut en effet optimiser qu'un code qui nécessite de l'optimisation, au risque d'empirer la situation.

Comme l'a dit Donald Knuth : “Premature optimization is the root of all evil.” Il ne faut dès lors pas commencer par optimiser son code tant que celui-ci ne fait pas ce qu'il doit faire, et ce, correctement. Une fois que l'on s'est assuré que le code fonctionne, avec des tests unitaires, par exemple, on peut l'analyser pour évaluer s'il est nécessaire d'améliorer ses performances. On pourrait, par exemple, se rendre compte qu'il est trop lent ou consomme trop de mémoire et, à ce moment, envisager d'entamer une optimisation de code. On peut résumer cette démarche d'optimisation en quatre étapes :

  • Écrire un code correct, qui fait ce qu'il doit faire.
  • Tester le code, pour s'assurer qu'il soit correct.
  • Profiler le code, pour évaluer s'il est assez performant.
  • Optimiser le code.

Une fois l'étape 4 terminée, il est important de recommencer à l'étape 2, pour s'assurer que les optimisations n'ont pas cassé le programme, le rendant incorrect. Pour résumer, comme l'a dit Kent Beck : “First make it work. Then make it right. Then make it fast.”