»
游客:
注册
|
登录
|
搜索
|
统计
|
喜悦证交所
|
帮助
喜悦国际村
»
LAMP进阶文章
» PHP4和PHP5性能测试和对比
上一主题
下一主题
11
1/2
1
2
>
标题: PHP4和PHP5性能测试和对比
本主题由 sadly 于 2007-9-13 10:07 PM 审核通过
sadly
(sadly)
管理员
管理员
UID 1
精华
4
积分 2008
帖子 2012
金钱 1534 喜悦币
威望 40
人脉 434
阅读权限 200
注册 1970-1-1
来自 北京 三元桥
状态 离线
PHP4和PHP5性能测试和对比
PHP4和PHP5性能测试和对比
http://blog.csdn.net/heiyeshuwu/archive/2007/08/05/1726656.aspx
作者:heiyeluren
时间:2007年8月6日
PHP 4到今年年底PHP Group将不再对其进行支持了,所以为了让大家更有信心的转移到PHP 5平台上,我特别做了这个测试,看看我们PHP 4.x 是否真的性能比我们的PHP 5.x要好捏,测试结果很明显,那就是PHP 5.x 比php 4.x不论是面向对象还是面向过程,都要比PHP 4.x 要快,所以大家完全有必要转移到PHP 5.x 平台上,去体验PHP 5.x 平台的各种功能和性能。
因为PHP 5 包括新的对象模型,更多新特点,更快的处理速度,特别是处理面向对象代码的速度,虽然在php 4中面向对象代码的速度比较一般,但是在PHP5.x中面向对象代码的速度都超过了面向过程的速度,所以不要对面向对象的性能持有怀疑,下面的测试结果将说明这一切。
【测试环境】
CPU: Intel Pentium4 2.66GHz
Memory: 1GB
Disk: 73GB/SCSI
OS: FreeBSD 4.11
Web: Apache 1.3.37
测试工具:ab (也可以选用http_load)
名词RPS: Requests per second (每秒的请求数量)
相关
测试工具:ab (也可以选用http_load)
名词RPS: Requests per second (每秒的请求数量)
【PHP 4.4.2 测试结果】
[ 函数 Function ]
<?php
function signin(){
echo "test";
}
signin();
?>
测试结果:ab -n 10000 -c 50 的结果是1047.23/rps
[ 类 Class ]
不实例化类
<?php
class User{
function signin(){
echo "test";
}
}
User::signin();
?>
测试结果:ab -n 10000 -c 50 的结果是 1034.98/rps
实例化类
<?php
class User{
function signin(){
echo "test";
}
}
$user=new User();
$user->signin();
?>
测试结果:ab -n 10000 -c 50 的结果是 1006.14/rps
类的继承
<?php
class AUser{
function signin(){}
}
class User extends Auser{
function signin(){
echo "test";
}
}
$user=new User();
$user->signin();
?>
测试结果:ab -n 10000 -c 50 的结果是 992.95/rps
【PHP 5.2.1测试结果】
[ 函数 Function ]
<?php
function signin(){
echo "test";
}
signin();
?>
测试结果:ab -n 10000 -c 50 的结果是 1176.06/rps
[ 类 Class ]
不实例化类
<?php
class User{
public function signin(){
echo "test";
}
}
User::signin();
?>
测试结果:ab -n 10000 -c 50 的结果是 1197.17/rps
实例化类
<?php
class User{
public function signin(){
echo "test";
}
}
$user=new User();
$user->signin();
?>
测试结果:ab -n 10000 -c 50 的结果是 1187.93/rps
类的继承和抽象
<?php
abstract class AUser{
abstract function signin();
}
class User extends Auser{
public function signin(){
echo "test";
}
}
$user=new User();
$user->signin();
?>
测试结果:ab -n 10000 -c 50 的结果是 1128.54/rps
【测试结果和分析】
[ 测试结果数据 ]
版本 函数测试 不实例化类 实例化类 类的继承
PHP 4.4.2 1047.23/rps 1034.98/rps 1006.14/rps 992.95/rps
PHP 5.2.1 1176.06/rps 1197.17/rps 1187.93/rps 1128.54/rps
[ 结果分析 ]
1. 总体来说,可以明显刚看到PHP5.2 的性能要比 PHP4.4略高一点,所以不要怀疑PHP5.2的性能会差,明显比 PHP4要快
2. PHP4.4中的类的解析性能明显要比函数的要慢,特别是当使用了继承以后,更是下降的厉害,所以在PHP4.4中更适宜使用面向过程和没有继承的类操作
3. PHP5.2中结果是类的执行速度比函数还要快,可以看出PHP5.2的引擎对面向对象处理花费了很大的功夫,同时他们不论是函数还是类,性能都不错
4. 通过这个测试,我们完全有理由在代码变更不大的情况下,把PHP4升级到PHP5,而且PHP5基本向下兼容PHP4的代码,除了一些特殊的代码。另外上面提到今年年底之后PHP Group将不再继续对PHP4进行维护了,所以早升级,早安心。
PS: 感谢同事健祥同学提供部分测试代码
以PHP在中国的繁荣发展为己任
QQ:824008 MSN:sadly@phpx.com
2007-9-13 10:06 PM
#1
游戏人间
版主
风云山庄大少爷
UID 62639
精华
2
积分 14352
帖子 7229
金钱 14212 喜悦币
威望 20
人脉 120
阅读权限 100
注册 2004-12-21
来自 广西人在北京
状态 离线
[推荐阅读]
mysql_unbuffered_query 与 mysql_query 的区别?
LAMP是啥,什么突然多出这么一个版块来?
群号:6025396/6025252/19520091(广西PHP交流/PHP高级编程/算法交流)、
饿踢Blog
寧可在嘗試中失敗,也不在保守中成功!
不為失敗找理由,只為成功找方法!
2007-9-13 10:17 PM
#2
游戏人间
版主
风云山庄大少爷
UID 62639
精华
2
积分 14352
帖子 7229
金钱 14212 喜悦币
威望 20
人脉 120
阅读权限 100
注册 2004-12-21
来自 广西人在北京
状态 离线
[推荐阅读]
刚辞职,找小项目做
php5是不错,不过感觉PHP正在走框架线路我不太喜欢.准备改行算了,想玩框架就把JAVA.
群号:6025396/6025252/19520091(广西PHP交流/PHP高级编程/算法交流)、
饿踢Blog
寧可在嘗試中失敗,也不在保守中成功!
不為失敗找理由,只為成功找方法!
2007-9-13 10:17 PM
#3
isno
(小仙)
版主
好想谈恋爱
UID 78818
精华
1
积分 115412
帖子 3855
金钱 113909 喜悦币
威望 10
人脉 1493
阅读权限 100
注册 2006-8-22
状态 离线
[推荐阅读]
早上去面试的题目 没做出来
太斯特
2007-9-13 10:18 PM
#4
xjxaixxy
(xjxaixxy)
新手上路
初级会员
UID 31002
精华 0
积分 14
帖子 18
金钱 14 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2004-9-9
状态 离线
[推荐阅读]
大家来看看
QUOTE:
原帖由
游戏人间
于 2007-9-13 10:17 PM 发表
php5是不错,不过感觉PHP正在走框架线路我不太喜欢.准备改行算了,想玩框架就把JAVA.
php5也并没有舍弃过程啊
2007-9-14 10:27 AM
#5
unspace
(未知空间)
版主
百万富翁
UID 67567
精华 0
积分 48887
帖子 4986
金钱 47807 喜悦币
威望 0
人脉 1080
阅读权限 100
注册 2005-12-28
来自 吉林
状态 离线
[推荐阅读]
如何用PHP打印出来Object里面的值
游戏人间没正经的
7月1日起,北京市低保、最低工资标准、失业保险、工伤保险、基本养老金5项社会保障标准均将全部上调。其中,最低工资标准增加70元,提高到800元。
2007-9-15 02:14 PM
#6
osdn
禁止发言
初级会员
UID 66985
精华 0
积分 -37
帖子 353
金钱 -37 喜悦币
威望 0
人脉 0
阅读权限 0
注册 2005-9-28
来自 红色主机
状态 离线
[推荐阅读]
再发几个笔试题
*** 作者被禁止或删除 内容自动屏蔽 ***
2007-10-18 10:36 AM
#7
zzffhh
(zzffhh)
中级会员
一般会员
UID 27650
精华 0
积分 200
帖子 199
金钱 200 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2004-4-9
状态 离线
[推荐阅读]
类里面再调用类应该怎么写?
怎么web都2.0以上了还用 Web: Apache 1.3.37 测试,不准吧。
2007-12-4 11:23 AM
#8
my.com.net
中级会员
UID 90379
精华 0
积分 358
帖子 282
金钱 358 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2007-3-29
状态 离线
[推荐阅读]
谁能猜出来这个签名是谁的?
PHP的框架太多了现在
一又二分之一许愿吧
2007-12-12 08:07 PM
#9
php^_^
注册会员
UID 96782
精华 0
积分 166
帖子 127
金钱 166 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2007-8-10
状态 离线
[推荐阅读]
如何用一條查詢求多個結果?
QUOTE:
原帖由
游戏人间
于 2007-9-13 10:17 PM 发表
LAMP是啥,什么突然多出这么一个版块来?
LAMP是一种集成,linux/unit,apache,mysql,php
PHP技术群:11609355
欢迎新老人员
2007-12-18 04:40 PM
#10
11
1/2
1
2
>
可打印版本
|
推荐给朋友
|
订阅主题
|
收藏主题
|
开通个人空间
论坛跳转 ...
技术论坛
> php基础编程
> PHP高级编程
> 代码共享
> 建站讨论
> 喜悦原创
> 开源程序论坛
> ECShop官方技术论坛
> Together Portlet
> LAMP进阶文章
> XML/HTML/CSS/Js
> JAVA/C/C++
> Windows/软硬件
> linux技术
> 数据库技术
非技术论坛
> 娱乐乐园
> 招聘&求职
> 广告时间
> 跳蚤市场
> 联盟项目组
> 站务问题
Powered by
Discuz!
6.1.0
© 2001-2010
Comsenz Inc.
Processed in 0.028134 second(s), 7 queries
(
冀ICP备05009913号
)
管理员:
sadly 邮箱/MSN: sadly@phpx.com QQ:824008
(长隐)
清除 Cookies
- -
Archiver
-
WAP