当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP程序代码执行时间统计类

ASP
asp搜索两个以上的词的原理
如何使用花生壳?
asp汉字转换成汉语拼音代码
asp程序实现伪静态的代码
asp处理xml数据的发送、接收类
ASP中使用jmail发送邮件的函数
asp中获取字符串中的时间字符串
ASP按照字数限制自动截取标题内容
asp中将内容生成word文档的函数
用ASP自动清空IE缓存里的内容
asp检测conn.execute是否执行成功的函数
自动获取当前页面URL的ASP函数
ASP采集中获取网页内所需的html代码
asp图片采集并且本地重命名保存的函数
如何使用asp去字符串中的超链接
asp网站通过限制请求防止被采集的函数
asp利用正则去掉字符串中所有html内容
用ASP取出HTML里面的图片地址的函数
fso实现整个文件夹内容的复制到另一个文件夹中
适合所有表的添加、删除、修改的函数

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 178 ::
收藏到网摘: n/a

第一次写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

 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统计信息和总程序时间

实例代码:

以下为引用的内容:

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