第一次寫ASP類,實現(xiàn)功能:分段統(tǒng)計程序執(zhí)行時間,輸出統(tǒng)計表等.
復(fù)制代碼 代碼如下:
Class ccClsProcessTimeRecorder
'程序作者:明月星光
'作者主頁:http://www.5iya.com/blog
'http://www.kuozhanming.com
'ASP程序代碼執(zhí)行時間統(tǒng)計類
Private ccInti,ccIntNonceTime,ccIntDecimal
Private ccIntStartTime,ccIntEndTime,ccIntNow,ccIntNonce
Private ccStrInterval,ccStrEvent,ccStrTime,ccStrStatisticLog,ccStrFormatInterval
Private ccArrEvent,ccArrTime
Private Sub Class_Initialize
ccStrInterval = "|" '默認(rèn)分隔符
ccIntDecimal = 4 '小數(shù)點后位數(shù)
ccStrEvent = ""
ccStrTime = ""
ccStrFormatInterval = "br />" vbCrLf
ccIntStartTime = Timer
ccIntNow = ccIntStartTime
ccIntNonce = ccIntStartTime
End Sub
Public Sub Record(ccStrEventName)
ccStrEvent = ccStrEvent ccStrInterval Replace(ccStrEventName,ccStrInterval,"")
ccStrTime = ccStrTime ccStrInterval FormatNumber(Timer-ccIntNow,ccIntDecimal,True,False,True)
ccIntNow = Timer
End Sub
Public Property Let Format(ccStrFormatType)
If LCase(Trim(ccStrFormatType)) = "html" Then
ccStrFormatInterval = "br />" vbCrLf
Else
ccStrFormatInterval = vbCrLf
End If
End Property
Public Function Statistic
If InStr(ccStrEvent,ccStrInterval) > 0 Then
ccIntEndTime = Timer
ccArrEvent = Split(ccStrEvent,ccStrInterval)
ccArrTime = Split(ccStrTime,ccStrInterval)
ccStrStatisticLog = ccStrStatisticLog "Process Time Record" ccStrFormatInterval
ccStrStatisticLog = ccStrStatisticLog "--------------------------------------" ccStrFormatInterval
For ccInti = 1 To UBound(ccArrEvent)
ccStrStatisticLog = ccStrStatisticLog ccArrEvent(ccInti) " : " ccArrTime(ccInti) " s" ccStrFormatInterval
Next
ccStrStatisticLog = ccStrStatisticLog "--------------------------------------" ccStrFormatInterval
ccStrStatisticLog = ccStrStatisticLog "Total : " FormatNumber(ccIntEndTime-ccIntStartTime,ccIntDecimal,True,False,True) " s"
Statistic = ccStrStatisticLog
Else
Statistic = "No Record"
End If
End Function
Public Function Nonce
ccIntNonceTime = FormatNumber(Timer-ccIntNonce,ccIntDecimal,True,False,True)
ccIntNonce = Timer
Nonce = ccIntNonceTime
End Function
Public Function Total
Total = FormatNumber(Timer-ccIntStartTime,ccIntDecimal,True,False,True)
End Function
End Class
類屬性:
1.Format
輸出時是否帶HTML換行標(biāo)簽
-html:輸出HTML換行標(biāo)簽和文本換行符(默認(rèn))
-text:僅輸出文本換行符
類方法:
1.Record("Code Name")
統(tǒng)計自上一次調(diào)用Record方法至現(xiàn)在的時間(第一次調(diào)用時統(tǒng)計聲明類時至調(diào)用時時間),最后在Statistic中輸出
類函數(shù):(即時返回信息)
1.Nonce
輸出自上一次調(diào)用nonce函數(shù)至現(xiàn)在的時間(第一次調(diào)用時統(tǒng)計聲明類時至調(diào)用時時間)
2.Total
輸出聲明類到現(xiàn)在總時間
3.Statistic
輸出所有Record統(tǒng)計信息和總程序時間
復(fù)制代碼 代碼如下:
Dim objRecord,i,k,j,x
Set objRecord = New ccClsProcessTimeRecorder
objRecord.Format = "html"
For i = 1 To 100000
x = 2 + 2
Next
Call objRecord.Record("加法")
For j = 1 To 100000
x = 2 * 2
Next
Call objRecord.Record("乘法")
For k = 1 To 100000
x = 2 ^ 2
Next
Call objRecord.Record("開方")
Response.Write objRecord.Statistic
輸出:
Process Time Record
--------------------------------------
加法 : 0.0625 s
乘法 : 0.0469 s
開方 : 0.1094 s
--------------------------------------
Total : 0.2188 s
您可能感興趣的文章:- 實現(xiàn)ASP程序執(zhí)行時間統(tǒng)計類的代碼
- asp.net顯示頁面執(zhí)行時間
- asp.net 通過httpModule計算頁面的執(zhí)行時間
- asp.net計算每個頁面執(zhí)行時間的方法
- ASP顯示頁面執(zhí)行時間的方法