PHP __autoload()方法真的影响性能吗?

介绍

对于php性能问题,议论最多的就是__autoload()方法,很多人提到这个方法非常影响性能。还有人说opcode也能影响到__autoload()方法,所以针对这两点我做了个测试。
最终发现__autoload方法在性能方面的影响不是很大的。

环境

php:5.3.9 ――以fastcgi模式启动
Nginx:1.1.12
eaccelerator:0.9.6.1

。 最终发现__autoload方法在性能方面的影响不是很大的。
 环境  php:5.3.9 ――以fastcgi模式启动 Nginx:1.1.12 eaccelerator:0.9.6.1 截图:

 启动界面:

 eAccelerator(在php.ini文件中)配置情况:

  文件结构:(每一个Test文件都是6000多行代码的文件)

 测试:带着eAccelerator缓存进行测试 测试代码:经过__autoload加载

 

       图1

我在浏览器里通过刷新得到的结果分别如下:Total Time:0.10401391983032Total Time:0.10252094268799Total Time:0.095267057418823Total Time:0.10013008117676Total Time:0.096842050552368Total Time:0.097998142242432Total Time:0.10348510742188Total Time:0.096648931503296 测试:不经过__autoload()

                         图2

测试结果――通过刷浏览器Total Time:0.10309100151062Total Time:0.10285210609436Total Time:0.10154414176941Total Time:0.097845792770386Total Time:0.099545001983643Total Time:0.10166597366333 最终看到的结果:autoload方法没有出现明显的性能下降  测试:取消eAccelerator缓存进行测试  图1的测试结果Total Time:0.24992394447327Total Time:0.25681900978088Total Time:0.25327301025391Total Time:0.22580695152283Total Time:0.22656512260437Total Time:0.22530484199524Total Time:0.23080611228943  图2的测试结果Total Time:0.23054909706116Total Time:0.22633790969849Total Time:0.23442888259888Total Time:0.2350070476532Total Time:0.22897601127625Total Time:0.23207712173462

 __autoload()方法在性能上还是没有明显的影响。

 总结 通过上面的两组实验得出:1>__autoload方法没有明显的性能损失。所以大家不要介于使用__autoload方法。2>opcode对代码的影响是比较大的,明显使用opcode的时候,php代码执行速度提高了将近2倍多。

php技术PHP __autoload()方法真的影响性能吗?,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。