PHP中的FOR循环性能

前端之家收集整理的这篇文章主要介绍了PHP中的FOR循环性能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
由于我的研究使我相信,for循环是 PHP中最快的迭代结构,以使其更清晰,您认为以下哪些更快?

示例一

for ($i = 0; $i < count($myLargeArray); $i++ ) {
    echo myLargeArray[$i];
}

示例二

$count = count($myLargeArray);
for ($i = 0; $i < $count; $i++ ) {
    echo myLargeArray[$i];
}

我的逻辑是,在每次迭代中,每次迭代访问myLargeArray的长度比在实例二中访问一个简单的整数值更昂贵.那是对的吗?

第一种方式是慢,因为在循环的每次迭代中都必须调用count()函数. count()方法本身很快,但是在调用函数的时候还是有一些开销.通过将其移动到循环外,您正在执行所谓的“ loop invariant code motion”或有时“起吊”.

有一个这样的family of optimizations这是有趣的学习.

说了这么多,很少会很重视这一点.在这里的例子中,回显输出的I / O可能是您通过“优化”保存的10倍.如果您在循环中完成任何其他操作,您的优化意味着越来越少.

我讨厌成为一个湿毯子,但对于超过90%的代码,性能是一个非问题.特别是当您谈论Web应用程序时,哪些是90%以上的I / O开始.

不过,当你认为你的代码是责怪的时候,你应该:

>决定您需要优化的用例
>衡量代码性能
找出瓶颈
>确定您可以改进的领域,并决定是否值得您改进它们的时间.
>使您的代码更改
>返回步骤2

您几乎总是会发现,您需要改进缓存策略和数据库优化(这只是通过另一种手段进行I / O优化),而不是使用代码.

猜你在找的PHP相关文章