« 正多角形の内角の組合せ | トップページ | 1時間の内で15分ごとに実行する »

2010年10月30日 (土)

Timer 関数を使って処理時間を計測する

Timer 関数を使って
プロシージャや一連の処理にかかる実行時間を計測したいと思います。

Timer 関数は正午からの経過時間を秒で返します。
Windows では小数点以下も返しますが、
Mac では返しません。
ですので Windows のみミリ秒単位での計測ができます。

下の例では、
まず最初に変数 MyTime に計測したい処理の実行前の Timer を入れます。
それから For 文で計測したい処理を num 回実行します。
ここでは100回実行します。

処理を num 回実行したあとで

MyTime = Timer - MyTime
(num 回実行するのにかかった時間) = (処理後の正午からの経過時間) - (処理前の~)

の式で MyTime に「num 回実行するのにかかった時間」をいれます。

これを num で割れば平均速度がわかります。

コードはこちら

Timer 関数を使って処理時間を計測するコード:

Sub macro101030a()
'プロシージャの実行速度を計測
'num回実行してその平均を出す

    Dim MyTime As Single
    Dim i As Integer
    Const num As Integer = 100
   
    MyTime = Timer
    For i = 1 To num
   
        '計測したい処理、プロシージャをいれる
        Call 計測したいプロシージャ名
       
    Next i
    MyTime = Timer - MyTime
   
    'イミディエイトウィンドウに表示
    Debug.Print "処理時間:" & Format(MyTime / num, "0.000000") & "秒"
   
End Sub

ということで、
これを使っていろいろと処理速度を調べてみます。

|

« 正多角形の内角の組合せ | トップページ | 1時間の内で15分ごとに実行する »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: Timer 関数を使って処理時間を計測する:

« 正多角形の内角の組合せ | トップページ | 1時間の内で15分ごとに実行する »