asp,php 和 jsp 比较 之我见
现在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的支持下,完成功能强大的站点程序。
我在实际工作中,就这三种语言的性能进行了比较 首先进行的是循环性能测试首先测试的是jsp测试采用 20000*20000 次循环运算(有没有搞错,这么多),测试结果另人不可思议,该程序只用了不到 4 秒的时间就运行结束了。(没有搞错吧),程序代码如下:
<: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 秒