WEB2007 ALSO SPEAKS ENGLISH
06 44 00 14 84 (ou 0033644001484)

* Agence Prestashop Saint Etienne




***Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe

Agence Prestashop Saint Etienne





Article:

L'optimisation en programmation informatique, se développe comme étant une pratique qui consiste généralement à réduire le temps d'exécution d'une fonction, l'espace occupé par les données et le programme, ou la consommation d'énergie.
La première règle de l'optimisation est qu'elle ne doit aider qu'une fois que le programme a trait aux spécifications fonctionnelles. Mettre des optimisations de bas niveau du code avant que ces deux conditions ne soient réalisées revient le plus souvent à une perte de temps et s'avère fatal à la clarté du code et au bon fonctionnement du programme
En fait, cette règle ne doit s'appliquer qu'aux optimisations locales, de bas niveau (réécriture en assembleur, déroulage de boucle, etc.) et pas aux optimisations de haut niveau au sujet du choix des algorithmes ou l'architecture d'un projet. Au contraire plus le projet grandit et plus ces optimisations de haut niveau seront difficiles et coûteuses (en termes de temps, difficulté et budget), voire impossible, à accomplir. Beaucoup de compilateurs récents pratiquent de façon automatique un certain nombre d'optimisations qu'il serait fastix d'effectuer manuellement et qui rendraient le code source moins lisible.
l'optimisation manuelle locale est profitable dans des cas très distinctifs, mais les mesures démontrent que sur des machines RISC ayant un nombre élevé de registres et où l'efficacité demande le regroupement des instructions identiques pour exploiter l'effet pipeline, l'optimiseur d'un compilateur C fournit souvent un code plus efficace que celui qui serait écrit en assembleur par un programmeur expérimenté (ce qui n'était jamais le cas sur les machines CISC). Et de surcroit ce code est bien plus facile à maintenir, car les instructions en C restent dans un ordre lié à la seule intelligibilité du code et non aux spécificités de la machine : dans les optimiseurs actuels, en effet, les ordres machines associés à une instruction ne se trouvent plus nécessairement en position contiguë, pour des raisons d'efficacité d'exécution. Cela rend le code assembleur généré particulièrement indéchiffrable.
Avant toute optimisation, il faut savoir recenser la vitesse du code. De ce fait, il faut favoriser un paramètre simple et mesurable. Ceci peut être par exemple le temps de traitement sur un jeu de donnée précis, ou le nombre d'images affichées par seconde, ou encore le nombre de requêtes traitées par minute.
Dès que le paramètre de mesure est décidé, il faut calculer le temps passé dans chacune des parties du programme. Il n'est pas rare que 80 % à 90 % du temps soit employé à l'exécution de 10 % du code (les boucles critiques). Les chiffres varient en fonction de la taille et de la complexité des projets.






****Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe