2010年10月10日日曜日

スクリプトメニューから実行すると遅くなる件

 スクリプトをスクリプトメニューから実行するとかなり実行速度が遅くなる。ちょっとした軽いスクリプトだとわからないが、重いスクリプトを走らせると如実にわかる。
 アクティビティモニタで比較してみると、スクリプトエディタから実行するときは、数秒間CPU使用率が100%近くまで上がり、その後は25%ぐらいで推移し、十数秒で処理を終わらせる。ところが、スクリプトメニューから実行するとCPU使用率は20%ぐらいのままだらだらと推移し、3分ほどかかって処理を終わらせる。バックグラウンドで処理することを考慮してこうなっているのかもしれんが、余計なお世話よ。
 で、これを回避するのに「スクリプトを実行するスクリプト」から実行するという手がある。

run script "実行スクリプトのパス"

例 run script "/Users/username/Library/Scripts/Applications/Excel/excelsum.scpt"

でいい。10.6だとパスの書き方はaliasでもPOSIX pathでもいいみたい。