加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

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

发布时间:2023-09-20 13:14:55 所属栏目:Asp教程 来源:
导读:第一次写ASP类,实现功能:分段统计程序执行时间,输出统计表等。程序代码:以下为引用的内容:Class ccClsProcessTimeRecorder''ASP程序代码执行时间统计类Private ccInti,ccIntNonceTime,ccIntDecimalPriv

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

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章