2023/04/14

実行時間の計測(Timer 関数)

LotusScript で作成したプログラムが遅い場合にレスポンスの改善に取り組むことは一般的かと思います。対策の最初のステップは、現状把握ですね。どこが遅いのかを知ることにより、効果的な対策を打つことができます。

LotusScript のプログラムの実行時間を測ることになるのですが、時刻を取り扱う Now 関数では秒までしか取得できません。LotusScript の実行速度からすると、秒単位の測定では誤差が大きく、正確に状況把握できません。

そこで利用するのが、Timer 関数です。

この関数は、午前 0 時からの秒数を返す関数なのですが、ポイントは、1/100 秒まで取得できる点です。

Dim sgST As Single

sgST = Timer()
Call Func1()
Print Format(Timer() - sgST, "0.00")

sgST = Timer()
Call Func2()
Print Format(Timer() - sgST, "0.00")

Timer 関数の戻り値は、Single 型です。測定を開始する前の Timer 関数の値を変数 sgST に保持させ、測定する範囲である Func1() または Func2() 関数が終わったら、その時点の Timer 関数の戻り値と比較して、処理時間を Print しています。

なお、この関数、日付をまたがると正しい値が取得できないので、ご注意ください。

0 件のコメント:

コメントを投稿