2016-07-06 1 views
0

Par exemple, dans une boucle très longue:
(bool x;)Quel est le meilleur en termes de performance? Pour tester si un booléen est vrai ou le définir tous les temps?

Pour le tester toujours:

if (!x) x = true; 

ou situé juste à vrai tout le temps:

x = true; 
+0

Si le 1er formulaire était plus rapide, les compilateurs le feraient toujours. – usr

+0

Puisqu'il s'agit d'un langage agnostique, gardez à l'esprit que, s'il y a des effets secondaires quand un booléen est assigné, les deux versions ne sont pas les mêmes. (Exemples: setter override si bool est une classe, change de concurrence si bool est une sémaphore) –

Répondre

0

L'inconditionnel l'affectation est, plus important, plus facile à lire. Il est hautement improbable qu'un tel code soit exécuté assez souvent pour affecter la performance globale de n'importe quel programme.