日期:2010-09-05 浏览次数:20440 次
虽然ASP是一种不错的技术,但从长远考虑我置信PHP在将来的技术领域里会有不凡的表现。
我认为有七个理由可以说明PHP比ASP更优秀:
1、速度、速度、速度
当我第一次运转PHP脚本程序时,我不由对本人说:“太快了”,当时我是在仪态166MHZ的机器上运转我的程序的,但运转的速度仍然很快。
ASP是永远也不会象PHP这样快的,由于ASP是建立在COM体系结构之上的。当用VBScript写ASP脚本时,实际上实在使用COM的对象,当向用户浏览器发送信息时,它用的是Response对象的write方法,当它访问数据库和文件系统的时候,它用的是其他的COM对象。这些COM对象的使用使运转速度下降。
在PHP代码中,所有的任务都运转在PHP的内存空间中,也就是说PHP不是基于COM对象的,所以的他的运转速度会快一些。
下面是我们在MSSQL7 40次运转一个查询语句的执行时间统计:
PHP Querying MSSQL7 时间(秒)
用 MSSQL extension 01.88
用 ODBC extension 09.54
用 ODBC via COM (ADO) 17.28
用 OLEDB via COM 06.19
当我们使用PHP.ODBC,访问数据库用了9.54秒,而用COM接口去连接数据库需求比PHP所用的时间高80%。
OLEDB是微软的一种高速访问数据库的技术,他比ODBC要快。但当我们所PHP和OLEDB的效率实验时,结果是PHP的全体功用比OLEDB高200%,如此的出一个结论,如果不采用COM可以获得较快的执行速度。
当然PHP的执行速度还不是最快的,但我们才刚刚开始起步,我们会逐渐的完善他,而且PHP是一种开放源代码编程言语,世界上许多程序员在不断的完善他的技术,置信他一定会比非开放源代码系统获得更高的执行速度的。
2、高级内存管理
在IIS4下,一个ASP脚本header.asp,如果被20个页面所包含,那么运转的时候,在内存当中会保留这20个header.asp的编译副本,IIS5处理了这个问题,但只要windows2000才支持IIS5,由于这种IIS5的不能向下兼容的缘由,许多服务器仍然要使用IIS4下的低级的内存管理。
而在PHP中,不会存在这种问题,只要当require时,才会调用某个include文件。