Полагаю, вы написали опечатку вместо ==. Эти блоки не эквивалентны: современные процессоры пытаются предварительно извлекать и предварительно выполнять инструкции по сборке во время выполнения программы, а когда выполняется условный переход, CPU предварительно запускает код, который он будет выполнять, если условие выполнено.
Поэтому я обычно помещаю код, который, вероятно, будет выполняться чаще, в начало, хотя предсказание ветвлений и другие оптимизации, которые делает компилятор, могут изменить это и сделать гораздо лучшую работу.
Редактировать: Пожалуйста, посмотрите на Прогноз ветвления в Википедии, и особенно в разделе Статическое предсказание. Если вы не уверены в том, какую оптимизацию выполнит компилятор на 100% и какой процессор будет выполнять ваш код, лучше всего предположить, что первый блок выполняется быстрее. В худшем случае вы не получаете никакой выгоды и никаких потерь. В лучшем случае вы создаете код, который легче читать и работает быстрее.
Counter-пример:
if (someCondition)
AssertNotReached();
else
DoRealWork();