![]() |
1
21
这显然取决于特定语言的解释器/编译器的特定实现。 也就是说,理论上讲,任何理智的执行,如果速度更快的话,都可能实现一个或另一个,所以差异至多可以忽略不计。
当然,我想
|
![]() |
2
12
在C语言中, for循环 稍微快一点。 循环平均约2.95至3.02 ms。 while循环平均约为3.05至3.37 ms。 快速小控制台应用程序证明:
|
![]() |
3
6
我发现最快的循环是反向while循环,例如:
|
![]() |
4
4
正如其他人所说,任何值得一试的编译器都会生成几乎相同的代码。性能上的任何差异都可以忽略不计-您正在进行微优化。
真正的问题是,什么更具可读性?这就是
|
![]() |
5
3
如果那是一个C程序,我也不会说。编译器将输出完全相同的代码。因为它不是,我说测量它。实际上,这与哪一个循环结构更快无关,因为这样可以节省很小的时间。关于哪个循环结构更容易维护。在您展示的例子中,for循环更合适,因为它是其他程序员(希望包括未来的您)希望看到的。 |
![]() |
6
3
将循环迭代设置为10000。 以毫秒为单位查找时间>运行循环>以毫秒为单位查找时间并减去第一个计时器。 对这两个代码都这样做,有史以来最短的毫秒,它运行得更快。您可能希望多次运行测试,并将其平均化,以降低后台进程影响测试的可能性。 你很可能在这两个方面都会得到相似的时间,但我有兴趣看看一个总是稍微快一点。 |
![]() |
7
1
他们应该是平等的。您编写的for循环与while循环执行的操作完全相同:设置
|
![]() |
8
1
一些优化的编译器可以用for循环更好地展开循环,但很可能的情况是,如果您正在执行一些可以展开的操作,那么一个足够智能的编译器展开它,也可能足够智能,可以将while循环的循环条件解释为它也可以展开的操作。 |
![]() |
9
1
我在一台固态测试机上使用了for和while循环(没有运行非标准的第三方后台进程)。我跑了一个
测试连续运行10次,1次运行在执行前超时1500毫秒: 这是我为这个目的制作的非常简单的javascript
这是我得到的结果
这里是 demo link 更新 下面是我进行的一个单独的测试,它实现了两种不同的阶乘算法,一种使用for循环,另一种使用while循环。 代码如下:
阶乘基准的结果是:
结论:无论是样本量还是测试的具体任务类型,在一段时间内和for循环之间都没有明确的胜利者。在Macair和OS X Mavericks上对Chrome Evergreen进行测试。 |
![]() |
10
0
取决于语言及其编译器,但在大多数语言中它们应该是等效的。 |
![]() |
11
0
哪种速度更快不重要。如果真的很重要,那么使用真正的代码对其进行基准测试,并亲自查看。 其他问题的答案可能也很有用: How to write more efficient code |
![]() |
12
0
这将取决于所述循环的语言实现、编译器以及其他功能。 大多数编译器将编译成完全相同的可执行代码,例如CIL(.net)中的代码。 资料来源:VCSjones@ http://forums.asp.net/t/1041090.aspx 不管是哪种方式,循环体都是处理时间将花费的地方,而不是迭代的方式。 |
![]() |
13
0
从技术上讲,for循环不是一段时间吗? 例如。
将是…
但我可能错了… 当涉及到循环时。如果您计划只检索数据而从不修改数据,那么应该使用foreach。如果出于某种原因需要实际的索引,则需要递增,因此应该使用正则for循环。
应该比…
|
![]() |
14
0
我也在想同样的事情,所以我在谷歌上搜索了一下,结果来到了这里。 我在python中做了一个小测试(非常简单),只是为了看看,这就是我得到的: 为:
而:
|
![]() |
15
0
至于无限循环
|
![]() |
16
0
我还尝试在C中对不同类型的循环进行基准测试。我用过 the same code as Shane 但是我也试了一下,发现它是最快的。这是代码:
这些是 live demo on DotNetFiddle :
|
![]() |
uncle.T · 我在哪里可以有一个“cout”来获得输出 2 年前 |
![]() |
Dimitriy Glefa · 返回和运行时 2 年前 |
![]() |
oshiono · 循环以删除bash中数据集中的倒逗号(“”) 2 年前 |
|
Eric D · while循环如何知道移动到下一个信息块? 2 年前 |
![]() |
BigO · 单词积分游戏不断增加数字[关闭] 2 年前 |
![]() |
ilteris · 为什么程序在fscanf后崩溃 2 年前 |
![]() |
Baraa · 而我在java中得到无限的while循环 2 年前 |