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


Posted in PHP onMarch 30, 2012

介绍

对于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()方法真的影响性能吗?

 启动界面:

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

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

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

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

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

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

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

 

       图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()方法真的影响性能吗?

                         图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 相关文章推荐
第七节 类的静态成员 [7]
Oct 09 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
Jan 15 PHP
zf框架db类的分页示例分享
Mar 14 PHP
PHP实现的增强性mhash函数
May 27 PHP
Symfony2安装的方法(2种方法)
Feb 04 PHP
PHP MVC框架路由学习笔记
Mar 02 PHP
Symfony2学习笔记之控制器用法详解
Mar 17 PHP
PHP如何读取由JavaScript设置的Cookie
Mar 22 PHP
PHP的反射机制实例详解
Mar 29 PHP
php实现和c#一致的DES加密解密实例
Jul 24 PHP
PHPExcel 修改已存在Excel的方法
May 03 PHP
php自动加载代码实例详解
Feb 26 PHP
phpmyadmin3 安装配置图解教程
Mar 29 #PHP
php 注释规范
Mar 29 #PHP
php 计划任务 检测用户连接状态
Mar 29 #PHP
MySQL的FIND_IN_SET函数使用方法分享
Mar 27 #PHP
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
Mar 27 #PHP
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
Mar 27 #PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
Mar 26 #PHP
You might like
PHP filter_var() 函数 Filter 函数
2012/04/25 PHP
PHP递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
Convert Seconds To Hours
2007/06/16 Javascript
javascript 窗口加载蒙板 内嵌网页内容
2010/11/19 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
javascrip关于继承的小例子
2013/05/10 Javascript
jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】
2016/08/01 Javascript
微信小程序 点击控件后选中其它反选实例详解
2017/02/21 Javascript
原生JS实现九宫格抽奖效果
2017/04/01 Javascript
详解RequireJS按需加载样式文件
2017/04/12 Javascript
在Vue中如何使用Cookie操作实例
2017/07/27 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
用Python画小女孩放风筝的示例
2019/11/23 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
HTML5学习笔记之History API
2015/02/26 HTML / CSS
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
泰国网上购物:Shopee泰国
2018/09/14 全球购物
T3官网:头发造型工具
2019/12/26 全球购物
珍爱生命演讲稿
2014/05/10 职场文书
主题班会演讲稿
2014/05/22 职场文书
情人节活动总结范文
2015/02/05 职场文书
办公室岗位职责范本
2015/04/11 职场文书
美丽的大脚观后感
2015/06/03 职场文书
小学中队委竞选稿
2015/11/20 职场文书
Django migrate报错的解决方案
2021/05/20 Python
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
css3新特性的应用示例分析
2022/03/16 HTML / CSS
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript