jsp和php性能大比拼

jsp和php性能大比拼

ID:8959443

大小:249.50 KB

页数:10页

时间:2018-04-13

jsp和php性能大比拼_第1页
jsp和php性能大比拼_第2页
jsp和php性能大比拼_第3页
jsp和php性能大比拼_第4页
jsp和php性能大比拼_第5页
资源描述:

《jsp和php性能大比拼》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、在网上有多关于PHP与JSP的性能比较,有些结果表明PHP比JSP性能低了很多,本文将客观的展现PHP与JSP的性能测试比较,且都为真实数据。当然,这里面并没有包含.Net。测试环境:◆硬件:P42.4G,1G内存◆软件:WindowsXP+Apache2.0.54+PHP4.4.0+Mysql4.1.14+Tomcat5.0.28一.算术运算a.测试标准循环N次,并做整型自加运算。b.测试代码测试结果(单位:毫秒)测试结果说明:m-n表示主要波动范围介于m和n之间;n表示出现次数非常之多的数值或平均

2、值,m(x,y)表示偶尔会出现x,y。以下相同。c.结论Java的算术运算,优化得很好,估计是直接的对应CPU的指令,数值再大,算术运算性能都很平稳。需要注意的是,long的运算时间要比int的运算时间要长一些(毕竟是32位的系统),所以,在无需用到long时,尽量不要用long,而用int.PHP是弱类型的变量,算术运算很不尽人意,估计不是直接对应机器码的算术运算。PHP算术运算的过程猜测如下,在运算前需要检测变量是否是数值,并要将非数值转换成数值,比如,PHP可以做这样的运算:100+"zhout

3、ang",结果等于100.正是因为是弱类型语言,加上运算前的检测和转换,所以才导致算术运算的性能低下。PHP的单次运算时间比较稳定,大概每10000次算术加运算花费的时间约为3.5ms不同的运算方法,也对性能有影响。二.字符串运算a.测试标准字符串连接运算对比。b.测试测试结果(单位:毫秒)c.结论Java的字符串是用对象处理,很明显,在字符串的比较过程中,Java比PHP差很远。(因为字符串操作,很大部分要做连接,这里只比较连接运算,另外粗略比较了一下substring,两者的差别不是很大)PHP的

4、字符串运算,估计很多是直接调用C的字符串函数,所以效率会高很多。在做Web开发中,字符串的连接操作还是很频繁的(包括很多时候生成SQL字符串),所以,在算术运算和字符串运算两个方面,Java(JSP)优势不明显,与PHP各有所长。三.数据库查询a.测试标准循环N次做数据库打开,查询,关闭操作。主要对JSP直接连数据库,JSP连接池连数据训,PHP直接连数据库,PHP持久连数据库做比较。b.测试代码1.JSP 2. 3.String dbUrl, dbUser, dbPwd, strSQL; 4.dbU

5、rl = "jdbc:mysql://localhost:3306/zhoutang"; 5.dbUser = "root"; 6.dbPwd = ""; 7.strSQL = "update tblUser set UserLC=UserLC+1 where UserID=100";  8.Class.forName("com.mysql.jdbc.Driver"); 9.Connection con; 10.Statement stmt; 11. 12.int i = 0; 13.while (i

6、 < XXX) { 14.      con = DriverManager.getConnection(dbUrl,dbUser,dbPwd); 15.      stmt = con.createStatement(); 16.      stmt.executeUpdate(strSQL); 17.      stmt.close(); 18.      con.close(); 19.      stmt = null; 20.      con = null; 21.      i++; 2

7、2.} 1.JSP连接池  2. 3.Context ctx = new InitialContext(); 4.DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mysql");  5.String strSQL = "update tblUser set UserLC=UserLC+1 where UserID=100"; 6. 7.Connection con; 8.Statement stmt; 9. 10.int i = 0

8、; 11.while (i < XXXX) { 12.      con = ds.getConnection(); 13.      stmt = con.createStatement(); 14.      stmt.executeUpdate(strSQL); 15.      stmt.close(); 16.      con.close(); 17.      stmt = null; 18.      con = null; 19.   

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。