PHP:哪个更快 - array_sum 还是 foreach?

我正在尝试找出哪种方法会更快(如果有的话?)。我在这里设计了一个测试:http://codepad.org/odyUN0xg

当我运行该测试时,我的结果非常不一致。两者差异很大。

测试有问题吗?

否则,谁能建议哪一个会或不会更快?

编辑

好的,谢谢我在这里编辑了键盘:http://codepad.org/n1Xrt98J 通过所有的评论和讨论,我决定使用数组求和。一旦我使用那个 microtime(true) 东西,它就开始看起来更快了 (array_sum)

为建议干杯,哦,我添加了一个“for”循环,以便结果更均匀,但正如结果中所指出的,如果有任何超过 foreach 的时间,则几乎没有节省时间。

最佳答案

问题是您设置了一个非常低的限制,1000。PHP 解释器的开销要大得多。我会接受 100000000 或类似的金额。

但是我认为 array_sum 更快,因为它更专业并且可能在快速 C 中实现。

哦,正如 Michael McTiernan 所说,您必须将 microtime() 的每个实例更改为 microtime(true)。 http://php.net/manual/en/function.microtime.php

最后,我不会使用键盘作为测试环境,因为您无法控制它。您不知道会发生什么,也不知道您的流程是否暂停。

https://stackoverflow.com/questions/5382900/

相关文章:

.net - 如何在 Visual Studio 2010 的解决方案资源管理器中突出显示当前打开的

math - 两次旋转之间的误差?

php - 使用正则表达式阻止某些电子邮件提供商

haskell - 将 Haskell IO 列表转换为列表类型

asp.net - 在 asp 的 gridview 中使用 eval 获取 this 对象

c - 如何在 Linux 中找到不同的内存段起始位置及其大小

macos - 关闭mac的脚本

cuda - OpenCL (Cuda) 中的逐元素运算

PHP - 将 time() 调整为可被 5 整除

scheme - Racket 中的gensym