BBS.XXOO.NET™

 找回密碼
 註冊
搜索
查看: 12851|回復: 0

[分享] [轉貼]ASP, PHP, JSP, aspx 速度效能測試報告

[複製鏈接]
發表於 2003-7-18 21:45:02 | 顯示全部樓層 |閱讀模式
現在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 秒的時間就運行結束了。(沒有搞錯吧),程式碼如下
  1. <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 秒,程式碼如下
  1. <? $TTime=date("Y-n-d"). " " . date("H:i:s"); echo $TTime; echo " "; 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 秒,程式碼如下:
  1. <% response.write now response.write " " 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+ 的其他的問題,豆腐的站點上已經寫了很多的 文章了,我就在這裏來再次比較一下
程式的運行速度的問題,請看程式
  1. <%
  2. Dim intStart,intStop As DateTime
  3. Dim timeUse As TimeSpan
  4. Dim Sum as Long = 0
  5. Dim i,j as Long
  6. intStart = DateTime.Now
  7. for i=1 to 20000
  8. for j=1 to 20000
  9. Sum=Sum + i
  10. next
  11. next
  12. intStop = DateTime.Now
  13. timeUse = intStop.Subtract(intStart)
  14. Response.Write (TimeSpan.ToString(timeUse))
  15. %>
複製代碼
請看輸出:是 3。6 秒左右,老天,速度真的是好快呀,達到了jsp 同等的運行效果,因為他們同樣採用了 預編譯(preCompile)的原因,怎麼樣,Cool 吧!
我的聯繫方式:Oicq 332463 Mail:xxh01@188.net

原作者:豆腐
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

小黑屋|手機版|Archiver|BBS.XXOO.NET™

GMT+8, 2019-10-20 01:17 , Processed in 0.032756 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表