jsp,asp+,asp,php运行速度测试报告

--- (文/豆腐)

现在InterNet  越来越成为生活中不可或缺的一部分,制作网页的动态语言也越来越多,主要流行的有以下几种,ASP,PHP  和  JSP,他们之间互有优缺点,笔者在工作实践中对他们作了一下比较浅显的比较。

ASP  由于其简单功能实用等方面受到广大朋友的喜欢,再加上MS的强有力支持,可以说是时下作站点最为流行的语言,他借助MS的Com+  技术,几乎可以实现在C/S  能够实现的所有功能,可以说确实具有相当的竞争力。ASP的代码实现也很简单,MS  提供的InterDev  在RAD  的基础上,使Asp  的开发一夜之间火遍了大江南北。但是他的缺点是,由于MS  长久以来的霸道作风,他只能运行在MS  的平台上,因此在关键性的应用上使人难以轻易接受。


PHP  则市秉承Linux  的GNU(  )  风格,借助与源码公开,使他迅速成为世界上目前应用最为广泛的站点制作语言之一。借助与C++的形式,引用类的概念,使得代码的可重复性应用便的异常简单。加上他和Linux,Apache  和MySql  的紧密配合,关键性的应用也没有问题(有名的Sina就是采用Php)。但是他有一个比较大的麻烦,就是没有一个非常有实力的公司专门给他做支持,因此相关的学习资料比较少,目前在国内使用他的站点比较多,但是专门讲解他的站点就比较少。给初学者带来了很多的麻烦。


JSP  是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(据说PHP4  也已经在Zend的支持下,实现编译运行).Sun  公司借助自己在Java  上的不凡造诣,将Java  从Java  应用程序  和  Java  Applet  之外,又有新的硕果,就是Jsp--Java  Server  Page。Jsp  可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。

Apache.org  Apache是开放的源代码的web  server,占有78%,其对手为如IIS占15%
一般装在UNIX  或LINUX平台


我在实际工作中,就这三种语言的性能进行了比较
首先进行的是循环性能测试

首先测试的是Jsp
测试采用  20000*20000  次循环运算(有没有搞错,这么多),测试结果另人不可思议,该程序只用了不到  4  秒的时间就运行结束了。(没有搞错吧),程序代码如下
<jsp:useBean  id='clock'  scope='page'  class='dates.JspCalendar'  type="dates.JspCalendar"/>
<jsp:getProperty  name="clock"  property="time"  />
<%
int  i=0;
int  j=0;
int  k=0;
for(i=0;i<20000;i++){
for(j=0;j<20000;j++){

}
}
%>
<jsp:useBean  id='clock1'  scope='page'  class='dates.JspCalendar'  type="dates.JspCalendar"/>
<jsp:getProperty  name="clock1"  property="time"  />
下一步测试的是  PHP,最初也准备测试  20000*20000次,但是不管把程序最大运行时间调的再大,也无法运行结束,因此改为  2000*2000  ,运行时间竟然达到  84  秒,程序代码如下
<?
$TTime=date("Y-n-d").  "  "  .  date("H:i:s");
echo  $TTime;
echo  "<br>";
for($i=0;$i<1000;$i++){
for($j=0;$j<1000;$j++){
}
}
$TTime=date("Y-n-d").  "  "  .  date("H:i:s");
echo  $TTime;
?>

最后进行的是Asp  的测试,测试的循环也是  2000*2000(几个0可要看清楚),运行时间是  63  秒,程序代码如下:
<%
response.write  now
response.write  "<br>"
for  i=0  to  2000
for  j=0  to  2000
next 
next 
response.write  now
%>
另外,我也对  数据库连接作了测试,由于Jsp  在连接数据库时需要通过  JDBC,因此必须专门为此作一个连接数据库的JavaBean,为了简单起见,我只把测试结果写出来,想要代码的朋友,和我联系!
对  Oracle  8  进行  1000  次  Insert,Update,Select,和Delete
Jsp  需要  13  秒
Php  需要  69  秒
ASP  需要  73  秒

大家好,我以前曾经写过一篇  几种动态编程语言的  比较的文章(具体情况请
看:http://www.asp888.net/lanmu/viewarticle.asp?id=17),当时对  asp  的评分很低,因为当时的jsp  确实太好了,还没有一种技术在当时能赶得上jsp,现在  MS  推出的  .net  战略,以及相应的asp.net(就是asp+),改变了这种情况
关于  asp+  的其他的问题,豆腐的站点上已经写了很多的  文章了,我就在这里来再次比较一下
程序的运行速度的问题,请看程序
<%
Dim  intStart,intStop  As  DateTime
Dim  timeUse  As  TimeSpan
dim  Sum,i,j  as  int32
intStart  =  DateTime.Now
for  i=1  to  20000
for  j=1  to  20000
Sum=Sum  +  i
next
next
intStop  =  DateTime.Now
timeUse  =  intStop.Subtract(intStart)
Response.Write  (TimeSpan.ToString(timeUse))
%> 
请看输出:是  3。6  秒左右,老天,速度真的是好快呀,达到了jsp  同等的运行效果,因为他们同样采用了  预编译(preCompile)的原因,怎么样,Cool  吧!
我的联系方式:Oicq  332463  Mail:xxh01@188.net