2020-02-12T20:35:15+09:00
LapTime 2.0 : AppleScript の実行時間をミリ秒の精度で測定する AppleScript ライブラリ
LapTime は、AppleScript の実行時間を測定する AppleScript ライブラリです。スクリプトの性能の評価と改善に役立ちます。
かつて、同じ目的でスクリプティング機能追加 LapTime.osax を開発しましたが、macOS 10.14 Mojave からスクリプティング機能追加が動作しなくなったので、AppleScript ライブラリとして作り直しました。
AppleScript の実行時間の測定方法として、標準に装備されている curren date が使うことが考えられますが、時間分解能が 1 秒です。精度が悪すぎてスクリプトの性能評価には不向きです。LapTime は Cocoa の NSDate を使うことにより、ミリ秒オーダーの精度で時間を測ります。
一番簡単には、start_timer と duration メソッド を使うことです。start_timer は 新しい LapTime のインスタスを生成します。その LapTime インスタンスの duragion メソッドで、start_timer からの経過時間を得ることができます。
スクリプトの各部分の実行の所要時間を測定するには、lap メソッドと lap_times メソッドを使います。lap は、start_timer で生成した LapTime インスタンスに呼ばれた時間を記録します。
ある処理の所要時間の正確な所要時間の評価のためには、lap とaverage メソッドを使います。repeat 文で特定の処理を何回も実行します。実行の度に lap メソッドで経過時間を記録します。average メソッドで lap メソッド間の実行時間の平均を計算し出力します。