A
while( x < 100 ) { if( x == 1 ) { echo "Hello World!" } else { echo "Bottles" } x++; }
B
while( x < 100 ) { if( x != 1 ) { echo "Bottles" } else { echo "Hello World!"} x++; }
Разве это действительно имеет значение, когда такой большой цикл?
Вы вряд ли заметите какую-либо разницу, и почти наверняка есть большие узкие места, о которых стоит беспокоиться.
Это, вероятно, не будет иметь значения.
Я бы пошел со вторым, так как x != 1 чаще, чем x == 1
x != 1
x == 1
Это, вероятно, приводит к увеличению производительности в супер-крошечные тысячные доли секунды, но микрооптимизация не так важна.
На типичных процессорах B, вероятно, будет быстрее, так как предсказание ветвления, вероятно, будет испорчено для A. Если, конечно, компилятор не оптимизирует.
Кстати, вы измерили это и обнаружили, что один из них значительно лучше другого?
Зависит от того, как ваш оптимизатор поступит с вашим циклом.
Я предполагаю, что x начинается с 1. Если это не так, это не обязательно будет возможно.
echo "Hello, World!"; while(x < 99) { echo "bottles"; x++; }
Зачем беспокоиться об условном, вы знаете, что вам придется это сделать?