您的位置:寻梦网首页编程乐园Java天地JSP 专辑JSP001 HTML 离线版
Java 天地
JSP001 HTML 离线版
精选文章 >> 与其他语言的比较 >> asp,php 和 jsp 比较 之我见!

由 webmaster 发布于: 2001-01-21 11:49

几种流行的动态网页制作语言的比较
现在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 秒的时间就运行结束了。(没有搞错吧),程序代码如下:

<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 秒


由 canbo 发布于: 2001-02-19 10:00

Angry

我想是不是有人在故意抬高某语言的价值,2000*2000在php里我只用了4秒钟而不是文章所说的84秒,我用的是98+apache1.3.14,机器配置是p2 400,也就是联想的奔月2000型。
2000*2000在asp里我也只用了4秒钟,有时只要3秒钟,但是20000*20000在asp和php里就都超时了。
至于jsp我还没有这种环境,所以也就不好说了。
大家可以自己测试的。


由 macro 发布于: 2001-02-19 10:44

我想上面文章的测试只是个人测试,提供参考。应该不存在什么故意误导的成分。

另,上面文章 JSP 的测试应该是在JSP编译后做测试的,JSP第一次运行时间是很慢的。


由 amtd 发布于: 2001-03-05 14:08

Post

我认为这样的测试耗无价值,还会误导。

随便想想都可以看出来,这么简单的语句

就算对php,asp来说,解释的时候并不是耗时的。

而读数据库的时间是起绝对作用的,现在的连接数据库的原理都差

不多,有能有什么差别呢?应该是时间一样,绝对不超过+(-)5%。

我从来没有看过sun发表过关于这样的测试,而且这个测试我认为

是没有经过比较细致的设计的,单单从一个简单的循环就能有比较结果

简直是笑话!说个不负责任的话,谁闲着没事写个页面作这样?

况且,单线程的循环,能有这么大的差别?我的意思是说这样的测试结果对实际中有什么价值?就如同我们不会去sina排队打开网页一样。重要的是并行访问的效率!

算了,懒的说了。好不好,老板说好,就行了,哦,不是,给银子就行了。
__________________



资料来源: JSP001.com