PHP性能:$this->变量与局部$变量(操作)

前端之家收集整理的这篇文章主要介绍了PHP性能:$this->变量与局部$变量(操作)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在课堂上有一个部分,我决定分成一个新部分.

当我将代码段移植到一个新类时,我注意到它在执行一个foreach循环时要慢得多.

我设法找出问题的一部分,以便我决定保存最终结果数组.

我认为如果你看到我的代码的缩短版本会更容易理解:

原始移植代码http://pastebin.com/2iBuqmgn
更优化的移植代码http://pastebin.com/TYU1rHwU

你会看到,在第一个例子中,我直接操纵$this-> active_topics.

虽然在第二个例子中我使用局部变量,然后在foreach循环之后将局部变量保存到$this-> active_topics.

原始循环似乎平均为1秒,而更优化的循环使用0.85平均执行.他们最终返回完全相同的内容.

为什么使用局部变量更优化的代码更有效?

当您访问类中的某些内容时,PHP解释器首先必须在内存中查找该类,然后查看该属性的位置.在一个普通的局部变量上,它不需要搜索类中的属性,它可以直接访问变量的内存,因此它更快一些.

猜你在找的PHP相关文章