ふぢのVB小技集

実行速度の計測方法

(質問)
処理にどれくらい時間がかかっているのか調べる方法はありますか?



(回答)
あります。




(解説)
まず、計測したい処理の先頭に以下の行を追加します。


'開始時刻を取得します。
dblStart = Timer

続いて、処理の最後に以下の行を追加します。

'終了時刻を取得する
dblEnd = Timer
'所要時間を計算する
dblTime = dblEnd - dblStart
' 所要時間を表示します。
Debug.Print "所要時間は" & Format$(Int(dblTime * 10 ^ 4 + 0.5) / 10 ^ 4) & "秒だよ。"

所要時間を表示している部分の計算は四捨五入の処理です。詳しくは、「四捨五入をするには?」を参照してください。

以下に、具体的な計測例を示します。


任意の処理にかかっている時間を調べる
Private Sub Command1_Click()
    Dim dblStart As Double              '開始時刻取得エリア
    Dim dblEnd As Double                '終了時刻取得エリア
    Dim lngCnt As Long                  'カウンタ
    Dim dblTime As Double               '所要時間取得エリア


    '開始時刻を取得します。
    dblStart = Timer

    '1000回ループする
    For lngCnt = 1 To 1000
    
        'デバッグ文出力
        Debug.Print Format(lngCnt)
    
    Next
    
    '終了時刻を取得する
    dblEnd = Timer

    '所要時間を計算する
    dblTime = dblEnd - dblStart

    ' 所要時間を表示します。
    Debug.Print "所要時間は" & Format$(Int(dblTime * 10 ^ 4 + 0.5) / 10 ^ 4) & "秒だよ。"

End Sub




実行結果はこのようになります。



戻る