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