Я спорил с другом на днях об этих двух фрагментах. Что происходит быстрее и почему?
value = 5;
if (condition) {
value = 6;
}
и
if (condition) {
value = 6;
} else {
value = 5;
}
Что, если value
- матрица?
Примечание. Я знаю, что value = condition ? 6 : 5;
существует, и я ожидаю, что он будет быстрее, но это не вариант.
Изменить (запрашивается персоналом, так как вопрос в настоящий момент приостановлен):
- ответьте, рассмотрев либо сборку x86, сгенерированную компиляторами основного потока (например, g++, clang++, vc, mingw) как в оптимизированных, так и в не оптимизированных версиях или в сборке MIPS.
- когда сборка отличается, объясните, почему версия выполняется быстрее и когда (например, "лучше, потому что нет ветвления и ветвления имеет следующий вопрос blahblah" )