Home >Software >

必要なシステム

  • Mac OS X 10.4 or later
    • Mac OS X 10.5.8, 10.8.5 で開発/テストしています。

ダウンロード

Version 1.0.3 -- 2016-02-17

LapTime

AppleScript の実行時間を測定する為のスクリプティング機能追加です。スクリプトの性能評価およびチューンナップに利用できます。

AppleScript の標準の機能で current date コマンドで時間を取得できますが、時間分解能が1秒なので、スクリプトの実行時間の測定には分解能が不足しています。

LapTime.osax はミリ秒程度のオーダーで実行時間の測定を行えます。本当はマイクロ秒のオーダーで時間を取得しているのですが、スクリプティング機能追加のコマンド実行に費やす時間の為に、1 msec 程度が最小分解能になりそうです。

LapTime.osax は次のように、LapTime.osax のコマンドからコマンドまでの時間を測定します。一番シンプルな使い方は、start timer コマンドで、timer オブジェクトを生成し、stop timer コマンドで、start timer からの時間を取得します。時間の単位はミリ秒になります。

set tm to start timer
(* beginning of tasks *)
beep
delay 0.5
(* end of tasks*)
stop timer tm
-- result : 814.49609375 [msec]

途中経過の時間を測定したい場合は、lap time コマンドを用います。time records of で lap time コマンド間の経過時間を取得できます。

set tm to start timer
(* beginning of tasks *)
beep
lap time tm
delay 0.5
lap time tm
delay 0.01
(* end of tasks*)
time records of tm
(* result :
lap times:
{3.222900390625, 501.865966796875, 10.423095703125},
total times:515.511962890625
*)

なお、スクリプトの性能の測定の際にはスクリプトエディタ/AppleScript エディタでログを表示しないようにするのが良いでしょう。ログを表示させるためのパフォーマンスのロスは無視できないので、計測時間に大きな影響を与えます。

更新履歴

  • 1.0.3 -- 2016-02-17
    • ガーベージコレクションのサポートを有効にしてコンパイルした。
  • 1.0.2 -- 2010-12-17
    • Mac OS X 10.4 でプロセスが終了する時にエラーメッセージが表示される不具合を修正。
  • 1.0.1 -- 2010-12-12
    • Mac OS X 10.4 をサポート。
  • 1.0 -- 2010-10-19
    • 初公開