《jsp和php性能大比拼.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《jsp和php性能大比拼

在网上有多关于PHP与JSP的性能比较,有些结果表明PHP比JSP性能低了很多,本文将客观的展现PHP与JSP的性能测试比较,且都为真实数据。当然, 这里面并没有包含.Net。 测试环境: ◆硬件:P4 2.4G,1G内存 ◆软件:WindowsXP+Apache2.0.54+PHP4.4.0+Mysql4.1.14+Tomcat5.0.28 一.算术运算 a.测试标准 循环N次,并做整型自加运算。 b.测试代码 测试结果(单位:毫秒) 测试结果说明:m-n表示主要波动范围介于m和n之间;n表示出现次数非常之多的数值或平均值,m(x,y)表示偶尔会出现x,y。以下相同。 c.结论 Java的算术运算,优化得很好,估计是直接的对应CPU的指令,数值再大,算术运算性能都很平稳。需要注意的是,long的运算时间要比int的运算时间要长一些(毕竟是32位的系统),所以,在无需用到long时,尽量不要用long,而用int. PHP是弱类型的变量,算术运算很不尽人意,估计不是直接对应机器码的算术运算。PHP算术运算的过程猜测如下,在运算前需要检测变量是否是数值,并要将非数值转换成数值,比如,PHP可以做这样的运算:100+zhoutang,结果等于100.正是因为是弱类型语言,加上运算前的检测和转换,所以才导致算术运算的性能低下。PHP的单次运算时间比较稳定,大概每10000次算术加运算花费的时间约为3.5ms 不同的运算方法,也对性能有影响。 二.字符串运算 a.测试标准 字符串连接运算对比。 b.测试 测试结果(单位:毫秒) c.结论 Java的字符串是用对象处理,很明显,在字符串的比较过程中,Java比PHP差很远。(因为字符串操作,很大部分要做连接,这里只比较连接运算,另外粗略比较了一下substring,两者的差别不是很大) PHP的字符串运算,估计很多是直接调用C的字符串函数,所以效率会高很多。在做Web开发中,字符串的连接操作还是很频繁的(包括很多时候生成SQL字符串),所以,在算术运算和字符串运算两个方面,Java(JSP)优势不明显,与PHP各有所长。 三.数据库查询 a.测试标准 循环N次做数据库打开,查询,关闭操作。主要对JSP直接连数据库,JSP连接池连数据训,PHP直接连数据库,PHP持久连数据库做比较。 b.测试代码 JSP ? ? String?dbUrl,?dbUser,?dbPwd,?strSQL; ? dbUrl?=?jdbc:mysql://localhost:3306/zhoutang; ? dbUser?=?root; ? dbPwd?=?; ? strSQL?=?update?tblUser?set?UserLC=UserLC+1?where?UserID=100;? ? Class.forName(com.mysql.jdbc.Driver); ? Connection?con; ? Statement?stmt; ? ? int?i?=?0; ? while?(i??XXX)?{ ? ??????con?=?DriverManager.getConnection(dbUrl,dbUser,dbPwd); ? ??????stmt?=?con.createStatement(); ? ??????stmt.executeUpdate(strSQL); ? ??????stmt.close(); ? ??????con.close(); ? ??????stmt?=?null; ? ??????con?=?null; ? ??????i++; ? }? JSP连接池? ? ? Context?ctx?=?new?InitialContext(); ? DataSource?ds?=?(DataSource)ctx.lookup(java:comp/env/jdbc/mysql);? ? String?strSQL?=?update?tblUser?set?UserLC=UserLC+1?where?UserID=100; ? ? Connection?con; ? Statement?stmt; ? ? int?i?=?0; ? while?(i??XXXX)?{ ? ??????con?=?ds.getConnection(); ? ??????stmt?=?con.createStatement(); ? ??????stmt.executeUpdate(strSQL); ? ??????stmt.close(); ? ??????con.close(); ? ??????stmt?=?null; ? ??????con?=?null; ? ??????i++; ? }?

文档评论(0)

yingrong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档