【问题标题】:for loop or while loop which is faster? [duplicate]for循环或while循环哪个更快? [复制]
【发布时间】:2011-06-13 02:50:11
【问题描述】:

可能重复:
What loop is faster, while or for

我们可以使用 for 循环和 while 循环来达到同样的目的,这样更快

例如:我想循环一个项目 1000000000 次我应该使用 for 循环还是 while 循环?

这是迭代,那么为什么我们在编程中需要两者都只需要一个?

既然两个循环都是一样的,那为什么我们需要两个呢?

【问题讨论】:

标签: loops micro-optimization


【解决方案1】:

字面意思是一样的。 这两件事的机器语言翻译通常是相同的。

【讨论】:

    【解决方案2】:

    您的编译器可能比您更聪明,并且会为您优化代码。所以通常你不必担心这些问题。如果您真的想知道,请对不同的方法进行基准测试,测量您感兴趣的参数并根据基准测试的结果做出决定。

    祝你好运!

    【讨论】:

      【解决方案3】:

      这两个循环大致等价。

      您应该只选择更适合您的代码的那个,即使代码更具可读性的那个。

      例如,如果您的循环需要一个虚拟变量,那么 for 循环可能更合适。

      【讨论】:

        【解决方案4】:

        两者都足够快,使用更能表达您的意图的东西。 通常,如果“for”循环适用,则更可取,因为它表达了更特殊的含义(迭代容器或范围),因此信息量更大。

        如果您真的担心性能,请使用循环展开(多次重复循环主体并减少迭代次数)或其他优化技术。对于现代优化的编译器来说,在语言结构之间进行选择几乎不重要。

        【讨论】: