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

* Agence Joomla 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 Joomla Saint Etienne





Article:

En programmation informatique, l'optimisation est vue comme la pratique qui consiste généralement à amoindrir le temps d'exécution d'une fonction, l'espace occupé par les données et le programme, ou la consommation d'énergie.
La consigne numéro un de l'optimisation est qu'elle ne doit apparaitre qu'une fois que le programme fonctionne et répond aux spécifications fonctionnelles. Il est à signaler qu'appliquer 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 catastrophique à la clarté du code et au bon fonctionnement du programme
La citation originale prouve carrément que cette règle ne doit toucher que les optimisations locales, de bas niveau (réécriture en assembleur, déroulage de boucle, etc.) et pas aux optimisations de haut niveau relatif au 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, à effectuer. La plupart des 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 essentielle même si les mesures prouvent que sur des machines RISC qui possèdent un nombre élevé de registres et où l'efficacité demande le regroupement des instructions identiques pour bénéficier de 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 de lancer l'optimisation, il faut connaitre mesurer la vitesse du code. Optez pour 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 anées par seconde, ou encore le nombre de requêtes traitées par minute.
Une fois le paramètre de mesure déterminé, il faut mesurer le temps passé dans chacune des parties du programme. Les chiffres changent en fonction de la taille et de la complexité des projets. Il n'est pas rare que 80 % à 90 % du temps soit consacré à l'exécution de 10 % du code (les boucles critiques).






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