當我第一次運行PHP網(wǎng)站建設(shè)腳本程序時,我不禁對自己說:“太快了”,當時我是在儀態(tài)166MHZ的機器上運行我的程序的,但運行的速度仍然很快。
ASP是永遠也不會象PHP這樣快的,因為ASP是建立在COM體系結(jié)構(gòu)之上的。當用VBScript寫ASP腳本時,實際上實在使用COM的對象,當向用戶瀏覽器發(fā)送信息時,它用的是Response對象的write方法,當它訪問數(shù)據(jù)庫和文件系統(tǒng)的時候,它用的是其他的COM對象。這些COM對象的使用使運行速度下降。
在PHP代碼中,所有的工作都運行在PHP的內(nèi)存空間中,也就是說PHP不是基于COM對象的,所以的他的運行速度會快一些。
下面是我們在MSSQL740次運行一個查詢語句的執(zhí)行時間統(tǒng)計:
PHPQuerying 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ù)庫的技術(shù),他比ODBC要快。但當我們所PHP和OLEDB的效率實驗時,結(jié)果是PHP的整體性能比OLEDB高200%,如此的出一個結(jié)論,如果不采用COM可以獲得較快的執(zhí)行速度。
當然PHP的執(zhí)行速度還不是最快的,但我們才剛剛開始起步,我們會逐步的完善他,而且PHP是一種開放源代碼編程語言,世界上許多程序員在不斷的完善他的技術(shù),相信他一定會比非開放源代碼系統(tǒng)獲得更高的執(zhí)行速度的。