PHP 性能:$this->variable 与本地 $variable(操作)

2024-02-22

我在课堂上有一个部分,我决定将其分成一个新的部分。

当我将代码部分移植到一个新类中时,我注意到执行其中一个 foreach 循环的速度要慢得多。

我设法找到部分问题是我决定如何保存最终结果数组。

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

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

您将看到,在第一个示例中,我一直直接操作 $this->active_topics 。

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

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

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


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 性能:$this->variable 与本地 $variable(操作) 的相关文章

随机推荐