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 相关文章推荐
vBulletin Forum 2.3.xx SQL Injection
Oct 09 PHP
php mysql数据库操作分页类
Jun 04 PHP
PHP字符串的连接的简单实例
Dec 30 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
Feb 24 PHP
ThinkPHP中的关联模型注意点
Jun 16 PHP
PHP中使用CURL获取页面title例子
Jan 07 PHP
windows下apache搭建php开发环境
Aug 27 PHP
PHP中FTP相关函数小结
Jul 15 PHP
PHP简单实现数字分页功能示例
Aug 24 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
PHP简单实现二维数组的矩阵转置操作示例
Nov 24 PHP
PHP文件操作实例总结【文件上传、下载、分页】
Dec 08 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中随机显示图片的函数代码
2011/06/23 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
2015/05/12 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
php数字运算验证码的实现代码
2015/07/30 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
IE与FireFox的兼容性问题分析
2007/04/22 Javascript
javascript天然的迭代器
2010/10/29 Javascript
js对图片base64编码字符串进行解码并输出图像示例
2014/03/17 Javascript
React Router基础使用
2017/01/17 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
详解Angular路由之路由守卫
2018/05/10 Javascript
JavaScript捕捉事件和阻止冒泡事件实例分析
2018/08/03 Javascript
详解webpack-dev-server使用方法
2018/09/14 Javascript
JS+DIV实现拖动效果
2020/02/11 Javascript
JS正则表达式常见函数与用法小结
2020/04/13 Javascript
[58:58]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第二场
2018/04/05 DOTA
python时间整形转标准格式的示例分享
2014/02/14 Python
Python中time模块和datetime模块的用法示例
2016/02/28 Python
python多线程并发及测试框架案例
2019/10/15 Python
Python数据可视化:泊松分布详解
2019/12/07 Python
Python解释器以及PyCharm的安装教程图文详解
2020/02/26 Python
Android Q之气泡弹窗的实现示例
2020/06/23 Python
浅析python函数式编程
2020/09/26 Python
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
日本最大的彩色隐形眼镜销售网站:CharmColor
2020/09/09 全球购物
下面代码从性能上考虑,有什么问题
2015/04/03 面试题
临床医学大学生求职信
2013/09/28 职场文书
专科毕业生学习生活的自我评价
2013/10/26 职场文书
生物技术研究生自荐信
2013/11/12 职场文书
关于元旦的广播稿
2014/02/16 职场文书
建设工程授权委托书
2014/09/22 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书
MySQL系列之四 SQL语法
2021/07/02 MySQL