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