西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁業(yè)內(nèi)動態(tài) IT人生 → 對于ASP.NET和PHP的性能對比

對于ASP.NET和PHP的性能對比

相關軟件相關文章發(fā)表評論 來源:本站整理時間:2010/8/13 16:26:47字體大。A-A+

作者:佚名點擊:195次評論:0次標簽: ASP.NET PHP

  • 類型:源碼相關大。23KB語言:中文 評分:5.0
  • 標簽:
立即下載


--------------------------------------------------------------------------------


經(jīng)過一些篩選,只選擇一些代表性的看法進行翻譯, 對于英文不是太好的朋友比較有用, 如果有翻譯和知識點上的錯誤,請指出。

首先, 排除偏激和未經(jīng)測試的看法, 讓我們來看看interscape和ttuttle怎么說

interscape(MVP) :

PHP是一個腳本語言, 而ASP.NET是一個面向?qū)ο螅?編譯性的語言。你不能讓PHP在一個WINDOWS程序中運行, 但是你可以拷貝ASP.NET的代碼并把它放到WINFORM程序里面, 而不用太大的修改。 但是如果你要談及所有情況下的性能, 也許PHP會好一些, 不過我會為WEB開發(fā)選擇OOP(面向?qū)ο缶幊蹋┒皇莝tep-thru(順序編程)腳本編程方式。

ttuttle:

我不想去做任何專橫武斷(outrageous)的聲明, 但是讓我們來看一下一些事實:

PHP已經(jīng)被證明比ASP3.0稍微快一些

ASP.NET比ASP3.0快3~5倍(一種類似于PHP的解析性腳本語言)(注:ttuttle這句出自于http://www.asp.net/whitepaper/whyaspnet.aspx)

ASP.NET可以存放在緩存(Output Caching)中, 當頁面第一次被訪問和編譯后, 它可以從緩存中得到。 沒有任何頁面處理器會比緩存更快。

在默認安裝下,ASP.NET是編譯性語言, 而PHP和ASP3.0則是解釋性語言。

面對這兩種孑然不同的解釋, 我再來看看ScottGu和 wysiwyg 還有 Xanderno怎么說

ScottGu(http://www.asp.net的版主):

ASP.NET是編譯性質(zhì)而不是解釋性質(zhì)的。 所以語句可以被轉(zhuǎn)換為更快的執(zhí)行時間。

而PHP方面也有ZEND在出售其收費的編譯器ADD-ON.

然而, 我們已經(jīng)看到Nile benchmark(注:一種測試的性能基準,可以參看其白皮書http://www.gotdotnet.com/team/compare/Nile %20Benchmark%20Results.doc)中, ASP.NET和SQL這種組合的速度比PHP和MYSQL快 2~3倍, 且近乎5倍快于PHP和ORACLE的運行效率(即便ZEND編譯器和緩存器已經(jīng)安裝)

wysiwyg:

雖然這個主題是ASP.NET VS PHP, 但是我來說一下我測試的事實卻是 ASP要稍快于
ASP.NET在ASP中, 這段代碼用了2秒

...................
.....store order info in myRS.....
.....store customer info in myTable.....
....................
Do while not myRS.eof
myTable.open "select customername from tblCustomer where customerID=" &
myRS.fields("CustomerID", myConnection
myArray(0,ubound(myArray,2))=myRS.fields("Ordernumber"
myArray(1,Ubound(myArray,2))=myRS.fields("OrderDate"
myArray(2,Ubound(myArray,2))=myTable.fields("CustomerName"
myTable.close
myRS.movenext
loop

而ASP.NET用了40秒

trace.warn("open conn: " & now)
...................
.....store order info in datatable myDataTable.....
.....store customer info in datatable myCustomer.....
....................
myDataView=new DataView(myCustomer)
for each myRow in myDataTable.rows
myDataview.rowFilter="CustomerID=" & myRow("CustomerID"
myRow("CustomerName"=myDataview(0).row("Customername"
next
trace.warn("finish looping: " & now)

我很希望自己的結果是ASP.NET快于ASP, 但是確相反, 誰能告訴我為什么??

(注: wysiwyg認為他自己做是測試,但是沒有說明計算機和操作系統(tǒng)和測試環(huán)境的詳細情況,也沒說明是否屬于哪一級別的壓力測試)

Xanderno:

在我的不完善的測試中, 采用ACT 作為一種方法。 在一臺配置低機器上面, 用ASP通過

一個SQL SERVER上的數(shù)據(jù)庫獲取數(shù)據(jù), 每秒種我可以獲得10~15頁數(shù)據(jù) 。 同樣的函數(shù), 用ASP.NET, 每秒種我卻可以獲得30~40頁數(shù)據(jù), 使用輸出緩存(output caching)后,

它上升為120頁/秒。

微軟提供一系列壓力測試工具。 VS.NET企業(yè)版便有ACT, 如果你沒有VS企業(yè)版, WACT也是一種可行的方法.WAST website -- http://webtool.rte.microsoft.com/

============================

從以上三人的看法, 也許大家已經(jīng)得出較為正確的答案。 然而這些并不是第一次在ASP.NET和PHP運行效率的討論。其他討論, 還可以參看Debate - .NET V. PHP: Top 6 Reasons to Use NET(http://www.sitepoint.com/article/871 )

還有Top 10 .NET Myths Exposed(http://www.webmasterbase.com/article/870)。

當然你有時間, 還可以看看由Owendo Technology做的Web Application Server

Panorama(Web應用程序服務器全景)報告

 

此外,還有人問了這樣一個問題"VB.NET和C哪個更快?"

Daniel P. 這樣回答: 他們并沒有區(qū)別, VB.NET和C都是轉(zhuǎn)換成 IL-Code(中間語言代碼)---用來編譯主程序的。

(注: 這種說法不一定正確, 兩者的編譯器是不一樣的, 而且這個結論也沒有經(jīng)過嚴格的壓力測試)

最后, 也許大家總是覺得程序員之間這種討論看起來很funny, 很多人總是帶有主觀性進行討論, 連一些編程大師級的老外也像小孩子一樣在爭論。 但是沒有自己所愛的語言, 沒有這種狂熱又怎會有技術的進步。
 

    相關評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)