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++;
}
拥有如此大的循环会真的有所作为吗?
答案 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)
这取决于您的优化器将如何处理循环。