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 相关文章推荐
php模板之Phpbean的目录结构
Jan 10 PHP
php xml实例 留言本
Mar 20 PHP
PHP中的reflection反射机制测试例子
Aug 05 PHP
微信公众平台开发实现2048游戏的方法
Apr 15 PHP
PHP curl模拟登录带验证码的网站
Nov 30 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
Mar 19 PHP
Yii配置与使用memcached缓存的方法
Jul 13 PHP
Zend Framework实现自定义过滤器的方法
Dec 09 PHP
php curl 模拟登录并获取数据实例详解
Dec 22 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 PHP
php 命名空间(namespace)原理与用法实例小结
Nov 13 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
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
使用php验证复选框有效性的示例
2013/11/13 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
2017/03/14 PHP
JS Array对象入门分析
2008/10/30 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
js报$ is not a function 的问题的解决方法
2014/01/20 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
js如何改变文章的字体大小
2016/01/08 Javascript
JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法
2016/05/19 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
2016/05/25 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
2017/10/14 jQuery
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
小程序指纹验证的实现代码
2018/12/04 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
微信小程序实现富文本图片宽度自适应的方法
2019/01/20 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
jQuery实现电梯导航模块
2020/12/22 jQuery
在Python中处理字符串之ljust()方法的使用简介
2015/05/19 Python
Python中的取模运算方法
2018/11/10 Python
python 字典访问的三种方法小结
2019/12/05 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
使用简单的CSS3属性实现炫酷读者墙效果
2014/01/08 HTML / CSS
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
工作岗位说明书模板
2014/05/09 职场文书
小组口号大全
2014/06/09 职场文书
大专生求职信
2014/06/29 职场文书
《微笑着面对生活》优秀演讲稿范文
2014/09/23 职场文书
2015年全国“爱牙日”宣传活动总结
2015/03/23 职场文书
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
2021/06/09 Python
Echarts如何重新渲染实例详解
2022/05/30 Javascript
Python加密与解密模块hashlib与hmac
2022/06/05 Python