在循环中,这有关系吗?

时间:2010-02-07 06:26:21

标签: php loops

A

while( x < 100 ) {
if( x == 1 ) { echo "Hello World!" } else { echo "Bottles" }
x++;
}

while( x < 100 ) {
if( x != 1 ) { echo "Bottles" } else { echo "Hello World!"}
x++;
}

拥有如此大的循环会真的有所作为吗?

5 个答案:

答案 0 :(得分:2)

它可能不会有所作为。

我会选择第二个,因为x != 1更常见x == 1

这可能转化为超微小千分之一毫秒的性能提升,但微优化并不重要。

答案 1 :(得分:2)

您不太可能注意到任何差异,并且几乎肯定会有更大的瓶颈需要担心。

答案 2 :(得分:1)

在典型的CPU上,B可能会更快,因为分支预测可能会混淆为A.假设编译器当然没有优化。

顺便说一下,你测量过它并发现一个比另一个好得多吗?

答案 3 :(得分:0)

我假设x从1开始。如果情况并非如此,则不一定可行。

echo "Hello, World!";
while(x < 99) { echo "bottles"; x++; }

为什么要打扰条件,你知道你将不得不这样做吗?

答案 4 :(得分:0)

这取决于您的优化器将如何处理循环。