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

作者:cloudream 来源:随想飞翔 时间:2007-10-15 12:45:00 

第一次写ASP类,实现功能:分段统计程序执行时间,输出统计表等.
程序代码:

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统计信息和总程序时间
实例代码:

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
投稿

猜你喜欢

  • Scala项目构建工具sbt和IntelliJ IDEA环境配置详解

    2023-06-09 10:16:03
  • Pygame鼠标进行图片的移动与缩放案例详解

    2023-08-12 15:18:58
  • Golang协程池gopool设计与实现

    2024-05-28 15:23:01
  • python paramiko模块学习分享

    2021-11-10 16:57:00
  • ASP正则获取图片地址

    2009-09-03 13:18:00
  • 使用setup.py安装python包和卸载python包的方法

    2023-01-31 02:20:47
  • javascript模拟鼠标自动点击链接

    2007-11-03 19:08:00
  • 解决Python3.8运行tornado项目报NotImplementedError错误

    2023-08-17 10:15:23
  • Django实现分页显示效果

    2021-12-04 14:01:37
  • vue.js使用v-if实现显示与隐藏功能示例

    2024-05-02 16:59:50
  • 简单谈谈MySQL数据透视表

    2024-01-25 05:42:07
  • python得到电脑的开机时间方法

    2021-01-05 08:00:05
  • python变量的存储原理详解

    2023-03-26 14:46:48
  • 基于python3+OpenCV实现人脸和眼睛识别

    2023-06-08 04:20:14
  • 不错的一篇关于javascript-prototype继承

    2024-04-23 09:15:42
  • Python字典,函数,全局变量代码解析

    2021-02-20 06:58:58
  • js字符串操作方法实例分析

    2024-04-25 13:11:56
  • mysql使用LOAD语句批量录入数据方法

    2010-03-09 16:31:00
  • php实现的验证码文件类实例

    2023-08-17 17:54:52
  • 如何利用Python连接MySQL数据库实现数据储存

    2024-01-20 08:46:33
  • asp之家 网络编程 m.aspxhome.com