for,while和while循环之间的性能差异?

时间:2013-12-23 14:29:20

标签: c performance loops

for,while或do之间是否存在任何性能差异?在c中循环?

我的一位教授告诉我,当我从不使用它时,循环更快(为了便于阅读,我认为for循环的可读性低于(do ...)while循环)。

我手边没有编译器,也没有时间测试执行时间,如果有差异,我想知道原因。

(我知道很多问题看起来很相似,但要么是在问这边做什么,或者没有任何答案)

1 个答案:

答案 0 :(得分:2)

所有三个迭代语句的整体语义在编译成二进制代码后都是相同的。

他们只是在同一件事上提供不同的品味。表现取决于:

  • 循环体的复杂性
  • 计算结束条件/下一个迭代步骤的复杂性

由于它们都提供了它们,因此它们中的任何一个都没有性能差异。除非你考虑在任何情况下你都不应该关心的小的无关紧要的东西。

可能会有一些优化技巧可以根据循环的类型完成,但你不应该依赖它们,即使它们可能依赖于编译器,从你的角度来看也毫无意义。