実装機能:プログラム実行時間の細分化統計、統計表の出力など
クラスのソースコード:
プログラムコード
クラスccClsProcessTimeRecorder
'プログラム著者: ミンユエ・シングァン
著者ホームページ:http://www.5iya.com/blog
'http://www.kuozhanming.com
'ASP プログラム コード実行時間統計クラス
Private ccInti,ccIntNonceTime,ccIntDecimal
プライベート ccIntStartTime、ccIntEndTime、ccIntNow、ccIntNonce
プライベート ccStrInterval、ccStrEvent、ccStrTime、ccStrStatisticLog、ccStrFormatInterval
プライベート ccArrEvent、ccArrTime
プライベート サブ Class_Initialize
ccStrInterval = "|" 'デフォルトの区切り文字
ccIntDecimal = 4 '小数点以下の桁数
ccStrEvent = ""
ccStrTime = ""
ccStrFormatInterval = "<br />" & vbCrLf
ccIntStartTime = タイマー
ccIntNow = ccIntStartTime
ccIntNonce = ccIntStartTime
End Sub
パブリック サブ レコード(ccStrEventName)
ccStrEvent = ccStrEvent & ccStrInterval & Replace(ccStrEventName,ccStrInterval,"")
ccStrTime = ccStrTime & ccStrInterval & FormatNumber(Timer-ccIntNow,ccIntDecimal,True,False,True)
ccIntNow = タイマー
End Sub
Public プロパティ Let Format(ccStrFormatType)
LCase(Trim(ccStrFormatType)) = "html" の場合
ccStrFormatInterval = "<br />" & vbCrLf
それ以外
ccStrFormatInterval = vbCrLf
終了の場合
終了プロパティの
公開関数の統計
InStr(ccStrEvent,ccStrInterval) > 0 の場合
ccIntEndTime = タイマー
ccArrEvent = Split(ccStrEvent,ccStrInterval)
ccArrTime = Split(ccStrTime,ccStrInterval)
ccStrStatisticLog = ccStrStatisticLog & "プロセス時間レコード" & ccStrFormatInterval
ccStrStatisticLog = ccStrStatisticLog & "-----------------------------------------------------" & ccStrFormatInterval
ccInti = 1 の場合 UBound(ccArrEvent) へ
ccStrStatisticLog = ccStrStatisticLog & ccArrEvent(ccInti) & " : " & ccArrTime(ccInti) & " s" & ccStrFormatInterval
次
ccStrStatisticLog = ccStrStatisticLog & "-----------------------------------------------------" & ccStrFormatInterval
ccStrStatisticLog = ccStrStatisticLog & "合計 : " & FormatNumber(ccIntEndTime-ccIntStartTime,ccIntDecimal,True,False,True) & " s"
統計 = ccStrStatisticLog
それ以外
統計 = 「記録なし」
終了の場合
終了関数
パブリック関数 Nonce
ccIntNonceTime = FormatNumber(Timer-ccIntNonce,ccIntDecimal,True,False,True)
ccIntNonce = タイマー
ナンス = ccIntNonceTime
終了関数
公開関数 合計
合計 = FormatNumber(Timer-ccIntStartTime,ccIntDecimal,True,False,True)
終了関数
終了クラス
クラス属性:
1.フォーマット
出力時にHTMLの改行タグを含めるかどうか
-html: HTML 改行タグとテキスト改行を出力します (デフォルト)
-text: テキストの改行
クラスメソッドのみを出力します:
1.Record(「コード名」)
Record メソッドの最後の呼び出しから現在までの時間をカウントし (最初の呼び出しでは、クラスが宣言されてから呼び出されるまでの時間をカウントします)、最後に
クラス関数を Statistics に出力します: (即時の戻り情報)
1.ノンス
nonce関数が最後に呼び出されてから現在までの時間を出力します(初めてクラスを宣言してから呼び出されるまでの時間をカウントします)
2.合計
現在までのクラス宣言にかかった合計時間を出力します。
3.統計
すべてのレコード統計と合計プログラム時間を出力する
コード例
:
プログラムコード
Dim objRecord,i,k,j,x
Set objRecord = New ccClsProcessTimeRecorder
objRecord.Format = "html"
For i = 1 ~ 100000
x = 2 + 2
次に
objRecord.Record("Addition") を呼び出します。
j = 1 ~ 100000 の場合
x=2*2
次に、
k = 1から100000まで
objRecord.Record("Multiplication")を呼び出します。
x = 2^2
次に
objRecord.Record("平方根") を呼び出します。
Response.Write objRecord.Statistic
出力:
処理時間の記録
-----------------------------------------------
加算:0.0625秒
乗算: 0.0469 秒
平方根: 0.1094 秒
-----------------------------------------------
合計: 0.2188 秒