?? 0166.htm
字號:
<html>
<head>
<title>新時代軟件教程:操作系統 主頁制作 服務器 設計軟件 網絡技術 編程語言 文字編輯</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋體}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1 {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
<p align="center"><big><strong>jsp,asp+,asp,php運行速度測試報告</strong></big></p>
<div align="right">--- (文/豆腐)</div>
<br>現在InterNet 越來越成為生活中不可或缺的一部分,制作網頁的動態語言也越來越多,主要流行的有以下幾種,ASP,PHP 和 JSP,他們之間互有優缺點,筆者在工作實踐中對他們作了一下比較淺顯的比較。<br>
<br>
ASP 由于其簡單功能實用等方面受到廣大朋友的喜歡,再加上MS的強有力支持,可以說是時下作站點最為流行的語言,他借助MS的Com+ 技術,幾乎可以實現在C/S 能夠實現的所有功能,可以說確實具有相當的競爭力。ASP的代碼實現也很簡單,MS 提供的InterDev 在RAD 的基礎上,使Asp 的開發一夜之間火遍了大江南北。但是他的缺點是,由于MS 長久以來的霸道作風,他只能運行在MS 的平臺上,因此在關鍵性的應用上使人難以輕易接受。<br>
<br>
<br>
PHP 則市秉承Linux 的GNU( ) 風格,借助與源碼公開,使他迅速成為世界上目前應用最為廣泛的站點制作語言之一。借助與C++的形式,引用類的概念,使得代碼的可重復性應用便的異常簡單。加上他和Linux,Apache 和MySql 的緊密配合,關鍵性的應用也沒有問題(有名的Sina就是采用Php)。但是他有一個比較大的麻煩,就是沒有一個非常有實力的公司專門給他做支持,因此相關的學習資料比較少,目前在國內使用他的站點比較多,但是專門講解他的站點就比較少。給初學者帶來了很多的麻煩。<br>
<br>
<br>
JSP 是Sun公司推出的新一代站點開發語言,他完全解決了目前ASP,PHP的一個通病--腳本級執行(據說PHP4 也已經在Zend的支持下,實現編譯運行).Sun 公司借助自己在Java 上的不凡造詣,將Java 從Java 應用程序 和 Java Applet 之外,又有新的碩果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。<br>
<br>
Apache.org Apache是開放的源代碼的web server,占有78%,其對手為如IIS占15%<br>
一般裝在UNIX 或LINUX平臺<br>
<br>
<br>
我在實際工作中,就這三種語言的性能進行了比較<br>
首先進行的是循環性能測試<br>
<br>
首先測試的是Jsp<br>
測試采用 20000*20000 次循環運算(有沒有搞錯,這么多),測試結果另人不可思議,該程序只用了不到 4 秒的時間就運行結束了。(沒有搞錯吧),程序代碼如下<br>
<jsp:useBean id='clock' scope='page' class='dates.JspCalendar' type="dates.JspCalendar"/><br>
<jsp:getProperty name="clock" property="time" /><br>
<%<br>
int i=0;<br>
int j=0;<br>
int k=0;<br>
for(i=0;i<20000;i++){<br>
for(j=0;j<20000;j++){<br>
<br>
}<br>
}<br>
%><br>
<jsp:useBean id='clock1' scope='page' class='dates.JspCalendar' type="dates.JspCalendar"/><br>
<jsp:getProperty name="clock1" property="time" /><br>
下一步測試的是 PHP,最初也準備測試 20000*20000次,但是不管把程序最大運行時間調的再大,也無法運行結束,因此改為 2000*2000 ,運行時間竟然達到 84 秒,程序代碼如下<br>
<?<br>
$TTime=date("Y-n-d"). " " . date("H:i:s");<br>
echo $TTime;<br>
echo "<br>";<br>
for($i=0;$i<1000;$i++){<br>
for($j=0;$j<1000;$j++){<br>
}<br>
}<br>
$TTime=date("Y-n-d"). " " . date("H:i:s");<br>
echo $TTime;<br>
?><br>
<br>
最后進行的是Asp 的測試,測試的循環也是 2000*2000(幾個0可要看清楚),運行時間是 63 秒,程序代碼如下:<br>
<%<br>
response.write now<br>
response.write "<br>"<br>
for i=0 to 2000<br>
for j=0 to 2000<br>
next <br>
next <br>
response.write now<br>
%><br>
另外,我也對 數據庫連接作了測試,由于Jsp 在連接數據庫時需要通過 JDBC,因此必須專門為此作一個連接數據庫的JavaBean,為了簡單起見,我只把測試結果寫出來,想要代碼的朋友,和我聯系!<br>
對 Oracle 8 進行 1000 次 Insert,Update,Select,和Delete<br>
Jsp 需要 13 秒<br>
Php 需要 69 秒<br>
ASP 需要 73 秒<br>
<br>
大家好,我以前曾經寫過一篇 幾種動態編程語言的 比較的文章(具體情況請<br>
看:http://www.asp888.net/lanmu/viewarticle.asp?id=17),當時對 asp 的評分很低,因為當時的jsp 確實太好了,還沒有一種技術在當時能趕得上jsp,現在 MS 推出的 .net 戰略,以及相應的asp.net(就是asp+),改變了這種情況<br>
關于 asp+ 的其他的問題,豆腐的站點上已經寫了很多的 文章了,我就在這里來再次比較一下<br>
程序的運行速度的問題,請看程序<br>
<%<br>
Dim intStart,intStop As DateTime<br>
Dim timeUse As TimeSpan<br>
dim Sum,i,j as int32<br>
intStart = DateTime.Now<br>
for i=1 to 20000<br>
for j=1 to 20000<br>
Sum=Sum + i<br>
next<br>
next<br>
intStop = DateTime.Now<br>
timeUse = intStop.Subtract(intStart)<br>
Response.Write (TimeSpan.ToString(timeUse))<br>
%> <br>
請看輸出:是 3。6 秒左右,老天,速度真的是好快呀,達到了jsp 同等的運行效果,因為他們同樣采用了 預編譯(preCompile)的原因,怎么樣,Cool 吧!<br>
我的聯系方式:Oicq 332463 Mail:xxh01@188.net
</table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -