while(n> 0)和while(n!= 0)的评估之间的差异

时间:2015-12-18 08:16:26

标签: algorithm loops while-loop

while(n>0)while(n!=0)的评估是否有所不同?基本上两者都是以相同的条件退出。那么是否应该使用其中一个?或者,当被评估的循环次数相同时,通过改变循环条件会对性能效率产生影响吗?

3 个答案:

答案 0 :(得分:4)

这取决于您的平台,但一般情况下,它的性能相同。 例如,对于x86架构,Student.SchoolID运算符将用于cmp>Here你可以阅读更多内容。

答案 1 :(得分:2)

除了条件不一样的事实外,没有明显的性能差异。

答案 2 :(得分:1)

一般来说,差异是中性的。

无论如何,人们可能会恶意想到像

这样的特殊方案
protoc  person.proto --swift_out="./"

VS

while (n > 0)
{
  ...
  n++;
}

编译器可以在第一个代码段中推断出测试只需要在第一次迭代时完成,并将while (n != 0) { ... n++; } 展开到while