Что в среднем быстрее - проверьте значение, если необходимо, назначьте или просто назначьте? Или, в терминах C++:Прочитайте тогда условную запись против записи
bool b;
if(b)
b = false;
или
b = false;
Предположим, что если() условие истинно с 50% вероятностью. Ответ будет, скорее всего, сильно зависимым от архитектуры - пожалуйста, выскажите свои соображения низкого уровня. Написание всегда dirtties строки кэша - правильно? Поэтому, избегая записи, мы избегаем сброса кеша в 0,5 случаях. Но достаточно умный кеш может обнаружить тривиальную запись, а не грязную. Но безусловная запись - это всегда одна операция с памятью, а чтение-запись - в среднем 1,5 операции.
Отказ от ответственности: это вопрос любопытства, а не проблема, с которой я действительно сталкиваюсь.
логически имеет значение, что такое b, если они заканчиваются, что b должен быть ложным? –
@Fuzzy: речь идет об оптимизации, а не о логике. –
да, но второй легче читать и рассказывать, что на мой взгляд. – Earlz