源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

实现ASP程序执行时间统计类的代码

  • 时间:2021-02-21 00:30 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:实现ASP程序执行时间统计类的代码
第一次写ASP类,实现功能:分段统计程序执行时间,输出统计表等. 
[u]复制代码[/u] 代码如下:
Class ccClsProcessTimeRecorder  '程序作者:明月星光  '作者主页:http://www.5iya.com/blog  'http://www.kuozhanming.com  '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    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换行标签 -html:输出HTML换行标签和文本换行符(默认) -text:仅输出文本换行符 类方法: 1.Record("Code Name") 统计自上一次调用Record方法至现在的时间(第一次调用时统计声明类时至调用时时间),最后在Statistic中输出 类函数:(即时返回信息) 1.Nonce 输出自上一次调用nonce函数至现在的时间(第一次调用时统计声明类时至调用时时间) 2.Total 输出声明类到现在总时间 3.Statistic 输出所有Record统计信息和总程序时间 实例代码:
[u]复制代码[/u] 代码如下:
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
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部