我目前正在用 PHP 创建一个套接字服务器,我想知道哪一个在整个过程中使用起来会更快。我听说 for 循环比 while 循环快,但我不知道 do while。
谢谢
我目前正在用 PHP 创建一个套接字服务器,我想知道哪一个在整个过程中使用起来会更快。我听说 for 循环比 while 循环快,但我不知道 do while。
谢谢
根据您使用的基准,do
已显示循环稍微快一些:
http://www.ebrueggeman.com/blog/php_benchmarking_loops
Test Avg Execution Time
for loop 23.44 ms
while loop 24.65 ms
do while loop 22.96 ms
在这个基准测试中,foreach
表现优于其他循环类型,并且while
被发现表现优于for
。我提出这个是因为你会注意到这与我引用的第一个测试相矛盾。
最后,这个基准支持第一个的发现,它while
比for
.
结论?没有基准能够模拟您的用例,以至于您应该根据它做出决定,这可能是一个不会实质性地改进您的程序的微优化。使用适合情况的语句,然后编写测试以使用变体对您自己的应用程序进行基准测试。while
交换 the和 the是非常简单的for
- 尝试它们,看看你会得到什么。然后在你的下一个项目中忘掉这一课,因为它将是独一无二的,再次值得单独测试。
文档
使用任何适合您的目的。for 循环和 while 循环用于循环首先检查条件。do-whiles 保证代码至少运行一次。
因此,您可以根据此约束立即将您的选择范围缩小到 for/while 或 do-while。尝试使用不适当的构造会导致代码非常难看,而且很可能会变慢。
在for和while之间,我认为没有任何区别。即使您正在编写一个科学图书馆,这也几乎不会引起注意(如果有的话)。一般准则是:for 循环设计用于迭代事物,while 循环用作其他通用循环。
本身没有区别,因为它们基本上只是编写循环的不同方式,直接取自 C。
唯一可能会影响的是评估条件的次数,但您可以自己计算。
所以使用最简洁易读的。