发表时间:2014-09-05来源:网络
介绍
对于php性能问题,议论最多的就是__autoload()方法,很多人提到这个方法非常影响性能。还有人说opcode也能影响到__autoload()方法,所以针对这两点我做了个测试。
最终发现__autoload方法在性能方面的影响不是很大的。有的网友说不用__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.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()
图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倍多。
下一篇:array_push 效率测试
CI框架连接数据库配置操作以及多数据库操作
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
C语言关键字及其解释介绍 C语言32个关键字详解
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
PHP中的(++i)前缀自增 和 (i++)后缀自增
将视频设置为Android手机开机动画的教程
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
常用dos命令及语法
PHP中include和require区别之我见
HLA运动健康下载v1.0.3 最新版
262.61MB |生活服务
Kukukao下载v1.0.2 最新版
33.42MB |学习教育
33上门按摩官方版下载v3.2.7 安卓版
33.59MB |生活服务
33上门app(改名33上门按摩)下载v3.2.7安卓官方版
33.59MB |生活服务
好到达货车导航app下载v2.2.5.2 安卓版
59.27MB |旅游出行
南昌掌上城管app下载v1.2.34 安卓版
55.49MB |生活服务
芯兴遥控下载v1.0.6 最新版
59.4MB |系统工具
托盘周转站软件最新版下载v1.4.4 安卓版
54.92MB |系统工具
2014-09-05
2022-03-20
2022-03-21
2022-03-24
2014-09-05
2014-09-05
2015-07-05
2014-09-05
2022-03-21
2014-09-05