很多人在選擇程序平臺(tái)時(shí)都很糾結(jié),因?yàn)楝F(xiàn)在程序平臺(tái)太多,常用的有ASP.NET、PHP、ASP,那么今天我們就針對(duì)這兩個(gè)程序進(jìn)行一下運(yùn)行速度的測(cè)試。
測(cè)試設(shè)備及環(huán)境
測(cè)試設(shè)備:自用筆記本
測(cè)試系統(tǒng):Windows Server 2003企業(yè)版
運(yùn)行環(huán)境:IIS6.0
測(cè)試方法
分別用asp.net、php和asp執(zhí)行一千萬(wàn)次for循環(huán),獲得執(zhí)行時(shí)間。如下為測(cè)試代碼:
asp.net
System.DateTime startTime = System.DateTime.Now;
for (long i = 1; i < 10000000; i++)
{
}
System.DateTime endTime = System.DateTime.Now;
System.TimeSpan ts = endTime - startTime;
Response.Write("頁(yè)面執(zhí)行時(shí)間:" + ts.Milliseconds.ToString("0.000") + " 毫秒");
php
<?php
$start_time=microtime(true);
for($i=0; $i<10000000; $i++)
{
}
$end_time=microtime(true);
print "頁(yè)面執(zhí)行時(shí)間: ".round(($end_time-$start_time)*1000,1)." 毫秒";
?>
asp
<%
dim i
dim startime
startime=timer()
for i = 1 to 10000000
next
dim endtime
endtime=timer()
response.Write "頁(yè)面執(zhí)行時(shí)間:" & FormatNumber((endtime-startime)*1000,3) & "毫秒"
%>
執(zhí)行結(jié)果
為了得到更合理的數(shù)據(jù),采用各執(zhí)行5次(第一次執(zhí)行除外),然后取平均值。如下為測(cè)試結(jié)果:
語(yǔ)言 | 執(zhí)行時(shí)間 | 平均時(shí)間 | ||||
asp.net | 31ms | 15ms | 31ms | 15ms | 15ms | 21ms |
php | 1470ms | 1473ms | 1476ms | 1467ms | 1490ms | 1475ms |
asp | 812ms | 828ms | 812ms | 812ms | 828ms | 818ms |
總結(jié):在系統(tǒng)資源消耗方面,asp.net的優(yōu)勢(shì)再次凸顯出來(lái)了,它對(duì)cpu的消耗比php和asp少很多,php對(duì)cpu的消耗比asp多一點(diǎn),但差別不大;而對(duì)內(nèi)存的消耗,三者差別并不大