查看完整版本: asp,php 和 jsp 比较 之我见

豹子 2007-6-23 10:30

asp,php 和 jsp 比较 之我见

现在InterNet 越来越成为生活中不可或缺的一部分,制作网页的动态语言也越来越多,主要流行的有以下几种,ASP,PHP 和 JSP,他们之间互有优缺点,笔者在工作实践中对他们作了一下比较浅显的比较。   
lC zu7J J5?$H !N#T!b1A8{
.{/b4c b rw
ASP 由于其简单功能实用等方面受到广大朋友的喜欢,再加上MS的强有力支持,可以说是时下作站点最为流行的语言,他借助MS的Com  技术,几乎可以实现在C/S 能够实现的所有功能,可以说确实具有相当的竞争力。ASp的代码实现也很简单,MS 提供的InterDev 在RAD 的基础上,使Asp 的开发一夜之间火遍了大江南北。但是他的缺点是,由于MS 长久以来的霸道作风,他只能运行在MS 的平台上,因此在关键性的应用上使人难以轻易接受。   X}b!g*R
7{uqv4z.{6L
PHP 则市秉承Linux 的GNU 风格,借助与源码公开,使他迅速成为世界上目前应用最为广泛的站点制作语言之一。借助与C  的形式,引用类的概念,使得代码的可重复性应用便的异常简单。加上他和Linux,Apache 和MySql 的紧密配合,关键性的应用也没有问题(有名的Sina就是采用Php)。但是他有一个比较大的麻烦,就是没有一个非常有实力的公司专门给他做支持,因此相关的学习资料比较少,目前在国内使用他的站点比较多,但是专门讲解他的站点就比较少。给初学者带来了很多的麻烦。   $c%C-gT,u^'Ca D
I&dG-R:G-{!Z
JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Java 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。   
L9nJl~mi1k'^
)s{L1C&u'Rg's 我在实际工作中,就这三种语言的性能进行了比较 首先进行的是循环性能测试首先测试的是Jsp测试采用 20000*20000 次循环运算(有没有搞错,这么多),测试结果另人不可思议,该程序只用了不到 4 秒的时间就运行结束了。(没有搞错吧),程序代码如下:
mzn'L,R.G #y}3~Q#e/O
jsp:useBean id='clock' scope='page' class='dates.JspCalendar' type="dates.JspCalendar"/ :]/{G,iV
jsp:getProperty name="clock" property="time" / G[wS6A"H
%
;g1El;^ e Uz int i=0; `+q K!eD9}"|/X Ao#[
int j=0; -_Q5Q)D4[+R5\'|R
int k=0;
5K`2AR%e for(i=0;i20000;i  ){
S)Fd;xME:y{k r8su$~ for(j=0;j20000;j  ){ 9Koc0l)|B_0n

.z*j%?~%M4n }
7q-Uh$QC2B"R"M } 8a7`w[H.w O.iWa
%
)vf SOa4[R/z;p}Ph jsp:useBean id='clock1' scope='page' class='dates.JspCalendar' type="dates.JspCalendar"/ `)Iy!Sbn
jsp:getProperty name="clock1" property="time" /
L.d9DK*et RptU"H3e R0T{1VKB
下一步测试的是 PHP,最初也准备测试 20000*20000次,但是不管把程序最大运行时间调的再大,也无法运行结束,因此改为 2000*2000 ,运行时间竟然达到 84 秒,程序代码如下: u2~;}({(GD't
h2Q9|\*[0ziE5VE
? +_IIts%y L8r
$TTime=date("Y-n-d"). " " . date("H:i:s"); -H p,d+OW.{$]
echo $TTime;
$eI!k8jG oVQ echo "br"; U-t/G{ E}sY }]
for($i=0;$i1000;$i  ){
:B,f_IGm9|5H K+^F for($j=0;$j1000;$j  ){ a`6mJmfs @
}
pn({Z"M@| } #|"|:i8Di ^ O2LcUN7k
$TTime=date("Y-n-d"). " " . date("H:i:s"); *hhQ4_:RIi
echo $TTime;
'@%^}K-cL ? 'a eRcfy

%D/HU_~{ e6D3i 最后进行的是Asp 的测试,测试的循环也是 2000*2000(几个0可要看清楚),运行时间是 63 秒,程序代码如下:
5ukE2x;j"dMf
*dvF0~ ` % s6pG(x9qCR{
response.write now *Sd Q'W#C a_|y;s ]
response.write "br"
b1EIC3V} for i=0 to 2000
O$?$lQm'uj for j=0 to 2000 )H#H7j&X9x6M
next /V*eA Gz%S0\
next
,B]M\Gu response.write now 0KT$E Mz^d q
% O]+j s p$U| n^

p}3fz'RI$O| M 另外,我也对数据库连接作了测试,由于Jsp 在连接数据库时需要通过 JDBC,因此必须专门为此作一个连接数据库的JavaBean,为了简单起见,我只把测试结果写出来,想要代码的朋友,和我联系!
\ER1~SA 对 Oracle 8 进行 1000 次 Insert,Update,Select,和Delete Cp$QHT"bUg%~yL
Jsp 需要 13 秒 Y duS1{K(V
Php 需要 69 秒
k9~w:j-o#u-z.n ASP 需要 73 秒
页: [1]
查看完整版本: asp,php 和 jsp 比较 之我见