手机
当前位置:查字典教程网 >编程开发 >php教程 >PHP __autoload()方法真的影响性能吗?
PHP __autoload()方法真的影响性能吗?
摘要:介绍对于php性能问题,议论最多的就是__autoload()方法,很多人提到这个方法非常影响性能。还有人说opcode也能影响到__aut...

介绍

对于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 截图:

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

启动界面:

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

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

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

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

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

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

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

图1

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

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

图2

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

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

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

【PHP __autoload()方法真的影响性能吗?】相关文章:

PHP浮点数知识

PHP开启opcache提升代码性能

PHP浮点数精度问题汇总

百度工程师讲PHP函数的实现原理及性能分析(二)

PHP中的魔术方法总结和使用实例

用PHP连mysql和oracle数据库性能比较

PHP正则验证Email的方法

PHP 和 HTML

php实现根据IP地址获取其所在省市的方法

PHP5 安装方法

精品推荐
分类导航