|
1、速度、速度、速度
當我第一次運行php腳本程序時,我不禁對自己說:“太快了”,當時我是在儀態(tài)166MHZ的機器上運行我的程序的,但運行的速度仍然很快。
ASP是永遠也不會象php這樣快的,因為ASP是建立在COM體系結構之上的。當用VBScript寫ASP腳本時,實際上實在使用COM的對象,當向用戶瀏覽器發(fā)送信息時,它用的是Response對象的write方法,當它訪問數(shù)據(jù)庫和文件系統(tǒng)的時候,它用的是其他的COM對象。這些COM對象的使用使運行速度下降。
在php代碼中,所有的工作都運行在php的內(nèi)存空間中,也就是說php不是基于COM對象的,所以的他的運行速度會快一些。
下面是我們在MSSQL7 40次運行一個查詢語句的執(zhí)行時間統(tǒng)計:
php Querying MSSQL7 時間(秒)
用 MSSQL extension 01.88
用 ODBC extension 09.54
用 ODBC via COM (ADO) 17.28
用 OLEDB via COM 06.19
當我們使用php.ODBC,訪問數(shù)據(jù)庫用了9.54秒,而用COM接口去連接數(shù)據(jù)庫需要比php所用的時間高80%。
OLEDB是微軟的一種高速訪問數(shù)據(jù)庫的技術,他比ODBC要快。但當我們所php和OLEDB的效率實驗時,結果是php的整體性能比OLEDB高200%,如此的出一個結論,如果不采用COM可以獲得較快的執(zhí)行速度。
當然php的執(zhí)行速度還不是最快的,但我們才剛剛開始起步,我們會逐步的完善他,而且php是一種開放源代碼編程語言,世界上許多程序員在不斷的完善他的技術,相信他一定會比非開放源代碼系統(tǒng)獲得更高的執(zhí)行速度的。
2、高級內(nèi)存管理
在IIS4下,一個ASP腳本header.ASP,如果被20個頁面所包含,那么運行的時候,在內(nèi)存當中會保留這20個header.ASP的編譯副本,IIS5解決了這個問題,但只有windows2000才支持IIS5,由于這種IIS5的不能向下兼容的原因,許多服務器仍然要使用IIS4下的低級的內(nèi)存管理。
而在php中,不會存在這種問題,只有當require時,才會調(diào)用某個include文件。
3、沒有后顧之憂
我非常憎恨的一件事情就是會買到一件不放心的產(chǎn)品,比如當你買了一輛汽車,但由于發(fā)動機是壞的,你需要更換他;當你買了一棟房子的時候,你要去修補漏雨的屋頂。
那么ASP舊鄉(xiāng)這些產(chǎn)品一樣,當你買了ASP之后,如果你需要加密技術,你就要買ASPEncrypt;當你需要Email管理時,你就要買ServerObjets Qmail;當你需要文件上傳時,你還要買Artisans SA-FileUp.
4、MySQL使php更精彩
php與MySQL的組合既簡單又精彩。php有許多管理和維護MySQL的工具,對MySQk的支持是最全面的。許多有用的函數(shù)如mysql_insert_id和mysql_affected_rows等,其他的數(shù)據(jù)庫則沒有。
ASP和php都是中型網(wǎng)站的較理想的解決方案,但php與MySQL的緊密結合使php更加優(yōu)越。
MySQL的虛度比Microsoft Access速度快,Mssql和Oracle速度比MySQL要快,可是費用較高。
5、Java和C++的變成風格
這個優(yōu)點只是一個看法。
我知道你不會相信一個Visual Basic程序員會因為php有Java和C++的編程風格而轉向使用php,但你會相信有許多人還是喜歡Java和C++的,php是一種具有這兩種語言的編程風格的較容易學習的語言。
php支持結構化編程,在VB因為他的繼承性使用類還是較少的。而php的象Java和C++一樣的繼承性使一個大型的程序中到處都充滿了類的影子。
6、Bug的處理
你是否曾經(jīng)要求Microsoft修改ASP的一些Bug呢?如果你不是一個象Boeing一樣的組織,你無法獲得迅速而恰當?shù)男薷模衙串斈阌龅紹ug而停止工作時,如果這個Bug不修改,你將無法繼續(xù)你的工作的。
php,當你發(fā)現(xiàn)Bug時,你可以修改他,如果你沒有專家的水平,你可以請專家修改,并且你的修改會得到開放代碼組織的接受和認可。
7、移植性
Microsoft經(jīng)常修改ASP,下一版本叫ASP+,現(xiàn)在已經(jīng)開始測試。我相信他們會修改許多我曾經(jīng)提到過的問題。但也無庸質疑的,Microsoft會將你限制在他們的產(chǎn)品范圍之內(nèi)的。
我曾經(jīng)是一個蘋果機的程序員,當windows95問世后,我開始轉變,但許多原來的代碼都無法在windows95下運行,這些代碼現(xiàn)在被放在一邊,我非常的遺憾。所以我不希望在windows下再出現(xiàn)這樣的悲劇。
不要忘記Novell曾經(jīng)也象Microsoft的網(wǎng)絡操作系統(tǒng)一樣熱及一時,但現(xiàn)在已經(jīng)沒有許多人用了,那么Microsoft也會這樣的。
我找到了php,我仍舊在windows下工作,但我知道php代碼可以運行在Solaris、Linux和許多其他的操作系統(tǒng)中,我的心里感到安慰
php技術:PHP 七大優(yōu)勢分析,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。