• [^] # Re: Pas de réponse unique

    Posté par . En réponse au message affectation != test. Évalué à 2.

    Ouais, enfin ça dépend aussi du contexte du programme. Si la plupart du temps, var = 1, alors le test pourra être plus rapide. Si au contraire var est presque toujours != 1, alors le test qui aura lieu à chaque fois est quasiment inutile, et il ralentira le programme.

    À mon avis, tu n'as qu'une seule solution : 1) écrire le programme comme tu le veux, et l'exécuter avec un profiler. Si le temps passé dans ta fonction prend 0.1% du temps d'exécution total du programme, tu laisses tomber, tu vas passer des heures à optimier un truc quasiment instantané (aucun intérêt). 2) Si au contraire 50% du temps est passé dans cette boucle, alors tu peux commencer à te poser des questions. Le plus simple, c'est de tester les deux versions, et de regarder laquelle est la plus simple. Ca doit dépendre du processeur, du compilateur, des options de compilation, de la nature de la variable var et de la fréquence avec laquelle var = 1 dans ton programme (et donc peut-être des paramètres utilisés pour lancer le programme). 3) Tu choisis la version la plus rapide, en gardant à l'esprit qu'elle est plus rapide dans le contexte où tu l'as testée, et seulement dans ce contexte.

    Mon impression générale, c'est que tu te prends la tête pour rien. Dans ce cas, var = 1 me semble beaucoup, beaucoup plus clair que toute tentative d'optimisation prématurée.