Welche ist im Durchschnitt schneller - überprüfen Sie den Wert, dann, wenn erforderlich, zuweisen oder einfach zuweisen? Oder in C++ terms:Lesen dann bedingten schreiben vs. schreiben
bool b;
if(b)
b = false;
oder
b = false;
Angenommen, der if() Zustand mit 50% Wahrscheinlichkeit, wahr ist. Die Antwort wird höchstwahrscheinlich sehr architekturabhängig sein - bitte äußern Sie sich zu Ihren Überlegungen auf niedriger Ebene. Schreiben verschmutzt immer die Cache-Zeile - richtig? Indem wir einen Schreibvorgang vermeiden, vermeiden wir einen Cache-Flush in 0,5 Fällen. Aber ein klug genug Cache kann einen trivialen Schreibvorgang erkennen und nicht selbst schmutzig. Aber das unbedingte Schreiben ist immer genau eine Speicheroperation, und Lesen-Schreiben ist im Durchschnitt 1,5 Operationen.
Haftungsausschluss: Dies ist eine Frage Neugier, kein Problem, das ich tatsächlich gegenüberstellen.
ist es logisch wichtig, was b ist, wenn sie das Ergebnis sind, dass b sollte falsch sein? –
@Fuzzy: Hier geht es um Optimierung, nicht um Logik. –
ja, aber die zweite ist einfacher zu lesen und zu sagen, was ist meiner Meinung nach. – Earlz