2008-03-01, 11:17 AM | #1 |
注册日期: 2007-07-17
住址: 火星
帖子: 5,570
现金:9873金币
资产:21334金币
|
Asp程序代码执行时间统计类
第一次写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 |
|