2016-07-06 27 views
0

Zum Beispiel in einer sehr langen Schleife:
(bool x;)Was ist besser in Bezug auf die Leistung? Um zu testen, ob ein Boolescher Wert wahr ist, oder setzen Sie ihn alle Male?

es zu testen immer:

if (!x) x = true; 

oder legen Sie es nur auf true die ganze Zeit:

x = true; 
+0

Wenn die 1. Form schneller war, würden Compiler das immer tun. – usr

+0

Da dies sprachunabhängig ist, sollten Sie beachten, dass die beiden Versionen nicht gleich sind, wenn es Nebenwirkungen gibt, wenn ein Bool zugewiesen wird. (Beispiele: Überschriebenes Setter, wenn Bool eine Klasse ist, Änderungen der Parallelität, wenn Bool ein Semaphor ist) –

Antwort

0

die unbedingte Zuweisung ist, noch wichtiger, einfacher zu lesen. Es ist sehr unwahrscheinlich, dass ein solcher Code oft genug ausgeführt wird, um die Gesamtleistung eines Programms zu beeinflussen.