国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > ASP > 正文

實(shí)現(xiàn)ASP程序執(zhí)行時(shí)間統(tǒng)計(jì)類(lèi)的代碼

2020-07-27 13:10:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
第一次寫(xiě)ASP類(lèi),實(shí)現(xiàn)功能:分段統(tǒng)計(jì)程序執(zhí)行時(shí)間,輸出統(tǒng)計(jì)表等. 
復(fù)制代碼 代碼如下:

Class ccClsProcessTimeRecorder 
'程序作者:明月星光 
'作者主頁(yè):http://www.5iya.com/blog 
'http://www.kuozhanming.com 
'ASP程序代碼執(zhí)行時(shí)間統(tǒng)計(jì)類(lèi) 

  Private ccInti,ccIntNonceTime,ccIntDecimal 
  Private ccIntStartTime,ccIntEndTime,ccIntNow,ccIntNonce 
  Private ccStrInterval,ccStrEvent,ccStrTime,ccStrStatisticLog,ccStrFormatInterval 
  Private ccArrEvent,ccArrTime 

  Private Sub Class_Initialize 
    ccStrInterval = "|"  '默認(rèn)分隔符 
    ccIntDecimal = 4    '小數(shù)點(diǎn)后位數(shù) 
    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 


類(lèi)屬性:
1.Format
輸出時(shí)是否帶HTML換行標(biāo)簽
-html:輸出HTML換行標(biāo)簽和文本換行符(默認(rèn))
-text:僅輸出文本換行符

類(lèi)方法:
1.Record("Code Name")
統(tǒng)計(jì)自上一次調(diào)用Record方法至現(xiàn)在的時(shí)間(第一次調(diào)用時(shí)統(tǒng)計(jì)聲明類(lèi)時(shí)至調(diào)用時(shí)時(shí)間),最后在Statistic中輸出

類(lèi)函數(shù):(即時(shí)返回信息)
1.Nonce
輸出自上一次調(diào)用nonce函數(shù)至現(xiàn)在的時(shí)間(第一次調(diào)用時(shí)統(tǒng)計(jì)聲明類(lèi)時(shí)至調(diào)用時(shí)時(shí)間)
2.Total
輸出聲明類(lèi)到現(xiàn)在總時(shí)間
3.Statistic
輸出所有Record統(tǒng)計(jì)信息和總程序時(shí)間

實(shí)例代碼:
復(fù)制代碼 代碼如下:

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("開(kāi)方") 

Response.Write objRecord.Statistic 



輸出:
Process Time Record
--------------------------------------
加法 : 0.0625 s
乘法 : 0.0469 s
開(kāi)方 : 0.1094 s
--------------------------------------
Total : 0.2188 s
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 嫩江县| 宁河县| 东乌珠穆沁旗| 柳林县| 商都县| 舞钢市| 贵阳市| 安国市| 鸡东县| 龙井市| 嘉祥县| 宜昌市| 城固县| 米脂县| 会理县| 阳新县| 读书| 东安县| 兰坪| 临清市| 葵青区| 峡江县| 松阳县| 丹棱县| 类乌齐县| 刚察县| 呼伦贝尔市| 丰原市| 庆云县| 嘉义县| 互助| 康乐县| 崇州市| 上虞市| 武威市| 牡丹江市| 敖汉旗| 宁陕县| 苍溪县| 宁南县| 济源市|