PHP中的FOR循环性能
发布时间:2020-12-13 16:40:53 所属栏目:PHP教程 来源:网络整理
导读:由于我的研究使我相信,for循环是 PHP中最快的迭代结构,以使其更清晰,您认为以下哪些更快? 示例一 for ($i = 0; $i count($myLargeArray); $i++ ) { echo myLargeArray[$i];} 示例二 $count = count($myLargeArray);for ($i = 0; $i $count; $i++ ) { echo m
由于我的研究使我相信,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开始. 不过,当你认为你的代码是责怪的时候,你应该: >决定您需要优化的用例 您几乎总是会发现,您需要改进缓存策略和数据库优化(这只是通过另一种手段进行I / O优化),而不是使用代码. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |