我有一堂课,我决定分成一个新的部分。
当我将代码部分移植到一个新类中时,我注意到它在执行其中一个 foreach 循环时要慢得多。
我设法找到了部分问题,即我决定如何保存最终结果数组。
我认为如果您看到我的代码的缩短版本会更容易理解:
原移植代码: http: //pastebin.com/2iBuqmgn 更优化的移植代码: http: //pastebin.com/TYU1rHwU
您会看到,在第一个示例中,我一直直接操作 $this->active_topics。
在第二个示例中,我在将局部变量保存到 $this->active_topics 之后在 foreach 循环之后使用局部变量。
最初的循环似乎平均为 1 秒,而更优化的循环平均使用 0.85 来执行。他们最终返回完全相同的内容。
为什么更优化的代码,使用局部变量,效率更高?