电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 网站运营-> 网站运营
PHP与JSP运行速度之再比较-PHP教程,PHP应用
作者:网友供稿 点击:55
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
关于php和jsp的运行速度之比较,两者的起源地--美国的网路上已经争论了很长时间。给人的感觉是php社群总是说没有任何官方任何的测试标明jsp一定要比php快速,但是jsp社群也总是坚持编译执行的jsp在先天就比解释执行(由于zend公司的努力,现在的php也应该是接近编译模式运行了)的php要快速。就我本人的观点,两者的运行速度比较实际上意义并没有想象中那么重大--在一个php的工程中,我们绝对依赖php;而在一个用到jsp的工程中,很多情况下jsp只是起到mvc模式中的表示或者控制的作用,真正的支持还在于其后真正的java家族(比如servlet,bean甚至是ejb等等)。因此如果过分看重php和jsp在各自速度上的比较,可能并不能说明由该两种技术构建的工程的速度因素。(至于说是否存在完全由jsp构建的工程,我想是有的,不过希望以后维护这个工程的家伙不是我) 

  但是我还是做了几次有趣的测试--毕竟让代码们用数字展示各自的能力是一件很奇妙的事情,并且之前我也做过有关php代码速度测试和优化的工作,由此获得的一些成就感很容易让人忘记自己在其上花费了一夜时间。其实我做的工作也很简单,先是比较一些简单运算的速度,然后是测试和数据库连接的速度。我的用意是把前者比作一般的表示层和控制层的工作,而后者则被希望表示一般的逻辑层所作的工作。还是mvc模式。 


开始测试 

  照例是要把测试的环境介绍一下,我采用了一台linux(我的开发环境)和一台windows(我的猪窝了)机器进行相同的测试(这样也可以顺便让linux再羞辱windows一次)--所谓相同是指代码的内容相同--非常感谢我喜欢的这两种语言都是跨平台的。具体的配置如下: 
   


(猜猜看同样的代码在哪台机器上跑得快哪?下面你将会得到答案) 

  然后就是一些简单的coding。我把写好的jsp放在了linux平台上,首先是1000×1000次的算术运算操作,采用两个for循环完成它。这样的循环次数比较保守,因为我也不知道jsp究竟是否能在我不耐烦的按下浏览器的"停止"按钮之前执行完它们--可是事实却让我小小的吃惊了一次--在大约13毫秒左右的时间内这样数目巨大的循环被完成了。于是我又很不平衡的在两个循环的最大数后面各加了一个0--10000×10000次循环!不出我所料,等待的时间也不过是1.33-1.34秒左右。应该说,在没有写php的相关功能之前,我已经感觉到了jsp的强大速度优势。 
  好了,让我们再来看看php在linux和apache中的表现--1000×1000勉强通过,但是花费了竟然有5秒左右之巨;随后的10000×10000次测试真是一场灾难,我在页面中设置了php的执行时限为不限,但是结果是对于我来说这段代码真正的是不限时间的在孜孜不倦的运行,始终没有返回。ok,stop it!所以这一项测试没有结果。 
  在windows平台的表现一样,不过看来速度都慢了一些,这个结果让我心理很安慰。 

  下面一项是连接和操作数据库的测试,我选择了mysql。从上面的测试环境中可以看出在linux机器上另有oracle在运行着,但是有两个原因让我并没有使用oracle参与测试,一是考虑到mysql在linux平台上已经得到了广泛的应用;二是oracle在我周围的客户中使用并不多见。选择的数据库操作是select,而且看来不能像普通的算术运算那样动辄就是1000×1000,我首先选择了10×10的二重循环。很明显,jsp在进行数据库操作时要比普通运算时慢了许多,让我等待了260毫秒左右;而当我鼓起勇气对jsp进行100×100测试之后,我才发现自己又陷于一场漫长的等待--最终29秒左右完成了这一操作。 
  对于php,我没有抱很大希望,先前的测试已经说明了php的普通运算能力确实有所欠缺。但是lamp的组合又让我看到了速度的影子--实际的测试结果让我吃惊不小,10×10的测试php几乎在瞬间完成(85毫秒左右),而100×100的测试也仅仅花费了8.33秒左右。 

  以下是测试的条件和数据表,这里(speed_test.zip)可以下载测试用例: 




结论 

  以上的测试只是我突发感慨而来的产物,那时我正在考虑一个简单的基于web的商店是否值得完全使用jsp来实施--虽然我一直非常中意mvc模式并且在php中也引入了这样的概念,但是对于web项目的"超快速开发"来说采用完全jsp倒也不失为达到目标并且可以有效保证项目的开发速度和运行速度的一种方式。于是我就想到了应该测试一下jsp和php的差距。不过结果并不能让我满意--在数据库的连接方面,借助jdbc可以达到数据库层的透明,但是速度上似乎有了许多的折扣;至于那种1000×1000的计算,如果有这样的网上商店会经常使用的话,我非常乐意认识一下这个项目的负责人并且好好学习一次。 
  因此,这次测试也许会让一些jsp的支持者失望,php从速度角度来说,我认为完全可以接受其应用在各种web项目中。当然,对于电子商务以及其他关键应用采用何种技术的话题,已经超过了本文的范畴,我在这里只想多阐述一些我的观点:毫无疑问java技术已经成为了以上这些关键应用的事实技术标准,因为她的丰富内涵和相对简单的开发以及产品的强壮性都非常容易被我们所接受;而显然将php和java技术在web上的应用相比是毫无道理的、结果也是非常明显的,同样将php和jsp相比也只是不合适的--jsp在整个java战略中只是算不上核心的一块,而php哪--只有php,完全php。不过作为lamp的一分子,越来越受到重视的php在中小型项目以及非关键应用中的能力不容怀疑。
文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·ASP.NET的安装与运行环境-.NET教程,Asp.Net开发
·运用.NET+SQL Server2005构建多层网站(3)-.NET教程,数据库应用
·JAVA写的四则混合运算-JSP教程,Java技巧及代码
·获取高精度的时间差,可以用来分析页面运行时间的长短-.NET教程,Asp.Net开发
·基于.Net平台应用程序唯一运行实例C#代码实现-.NET教程,C#语言
·运用.NET+SQL Server2005构建多层网站(1)-.NET教程,数据库应用
·Alexa 世界网站排名研究(下)-网站运营,搜索引擎推广
·优化系统让Photoshop运行更流畅-网页设计,Photoshop
·ASP.NET 2.0运行时简要分析-.NET教程,Asp.Net开发
·手工打造运算符重载过程-.NET教程,C#语言

最新文章
·阿里巴巴明日接受认购 招股价上限或上调
·web2.0时代谁做优秀内容的提供商
·Ranking - 影响排名的六大因素
·站点推广到底是个什么东西
·建站新思路:虚拟整人减压未来网络黄金项目
·07胡润IT富豪榜发布:李彦宏成IT首富
·细说 AdSense 政策:什么是鼓励点击
·中搜 “说再见别说永远”
·商业模式越简单越成功吗?
·国外博客靠广告赚钱营利走向职业化


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号