第一次写ASP类,实现功能:分段统计程序执行时间,输出统计表等。
程序代码: 中国站.长站
以下为引用的内容:
Class ccClsProcessTimeRecorder
''ASP程序代码执行时间统计类 中国站.长.站
Private ccInti,ccIntNonceTime,ccIntDecimal
Private ccIntStartTime,ccIntEndTime,ccIntNow,ccIntNonce
Private ccStrInterval,ccStrEvent,ccStrTime,ccStrStatisticLog,ccStrFormatInterval
Private ccArrEvent,ccArrTime
Private Sub Class_Initialize
ccStrInterval = "|" ''默认分隔符
ccIntDecimal = 4 ''小数点后位数
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
Chinaz~com
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 Chinaz~com
Public Function Nonce
ccIntNonceTime = FormatNumber(Timer-ccIntNonce,ccIntDecimal,True,False,True)
ccIntNonce = Timer
Nonce = ccIntNonceTime
End Function
Www~Chinaz~com
Public Function Total
Total = FormatNumber(Timer-ccIntStartTime,ccIntDecimal,True,False,True)
End Function Chinaz_com
End Class
Chinaz~com
Www~Chinaz~com
类属性:
站.长站
1、Format Chinaz_com
输出时是否带HTML换行标签
-html:输出HTML换行标签和文本换行符(默认)
Www~Chinaz~com
-text:仅输出文本换行符
类方法:
1、Record("Code Name") Chinaz@com
统计自上一次调用Record方法至现在的时间(第一次调用时统计声明类时至调用时时间),最后在Statistic中输出类函数:(即时返回信息)
站.长站
1、Nonce
Chinaz
输出自上一次调用nonce函数至现在的时间(第一次调用时统计声明类时至调用时时间) Www@Chinaz@com
2、Total
输出声明类到现在总时间
3、Statistic
输出所有Record统计信息和总程序时间
中国.站.长站
实例代码:
中.国站长站
以下为引用的内容:
Dim objRecord,i,k,j,x Chinaz@com
Set objRecord = New ccClsProcessTimeRecorder
objRecord.Format = "html" 中.国站长站
For i = 1 To 100000
x = 2 + 2
Next
Www.Chinaz.com
Call objRecord.Record("加法")
For j = 1 To 100000
x = 2 * 2
Next 站.长.站
Call objRecord.Record("乘法") 中.国.站.长.站
For k = 1 To 100000
x = 2 ^ 2
Next
中国.站长站
Www.Chinaz.com
Call objRecord.Record("开方") Chinaz^com
Response.Write objRecord.Statistic Www@Chinaz@com
输出: Www~Chinaz~com
Process Time Record
加法 : 0.0625 s
站.长站
乘法 : 0.0469 s Www~Chinaz~com
开方 : 0.1094 s