喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

上一主题 下一主题
 11  1/2  1  2  > 
     
标题: PHP4和PHP5性能测试和对比  
  本主题由 sadly 于 2007-9-13 10:07 PM 审核通过 
 
sadly (sadly)
管理员
Rank: 9Rank: 9Rank: 9
管理员


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
查看资料  访问主页  Blog  发短消息  QQ  ICQ 状态  顶部
 
游戏人间
版主
Rank: 7Rank: 7Rank: 7
风云山庄大少爷


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
查看资料  访问主页  Blog  发短消息  顶部
 
游戏人间
版主
Rank: 7Rank: 7Rank: 7
风云山庄大少爷


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
查看资料  访问主页  Blog  发短消息  顶部
 
isno (小仙)
版主
Rank: 7Rank: 7Rank: 7
好想谈恋爱


UID 78818
精华 1
积分 115412
帖子 3855
金钱 113909 喜悦币
威望 10
人脉 1493
阅读权限 100
注册 2006-8-22
状态 离线
[推荐阅读] 早上去面试的题目 没做出来
太斯特
2007-9-13 10:18 PM#4
查看资料  Blog  发短消息  顶部
 
xjxaixxy (xjxaixxy)
新手上路
Rank: 1
初级会员



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 (未知空间)
版主
Rank: 7Rank: 7Rank: 7
百万富翁


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
查看资料  访问主页  Blog  发短消息  顶部
 
osdn
禁止发言

初级会员



UID 66985
精华 0
积分 -37
帖子 353
金钱 -37 喜悦币
威望 0
人脉 0
阅读权限 0
注册 2005-9-28
来自 红色主机
状态 离线
[推荐阅读] 再发几个笔试题
*** 作者被禁止或删除 内容自动屏蔽 ***
2007-10-18 10:36 AM#7
查看资料  访问主页  发短消息  顶部
 
zzffhh (zzffhh)
中级会员
Rank: 3Rank: 3
一般会员



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
中级会员
Rank: 3Rank: 3


UID 90379
精华 0
积分 358
帖子 282
金钱 358 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2007-3-29
状态 离线
[推荐阅读] 谁能猜出来这个签名是谁的?
PHP的框架太多了现在



一又二分之一许愿吧
2007-12-12 08:07 PM#9
查看资料  访问主页  发短消息  QQ  顶部
 
php^_^
注册会员
Rank: 2


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
查看资料  发短消息  QQ  顶部
 11  1/2  1  2  > 
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 


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