Я нашел этот фрагмент кода на каком-то форуме:
if ( a * b * c * d == 0 ) ....
и владелец утверждает, что это немного быстрее, чем
if (a == 0 || b == 0 || c == 0 || d == 0)
Эти переменные определяются как:
int a, b, c, d;
И их абсолютные значения гарантированно будут меньше или равны 100. (Таким образом, мы могли бы игнорировать возможность переполнения)
Если мы просто игнорируем readability
и просто фокусируемся на производительности, верно ли утверждение?
Мне кажется, что второй подход может быть быстрее, потому что иногда вы можете использовать "короткое замыкание". Но тогда, что-я-знаю?!