プログラムの実行時間と実行時のCPU時間を計測する、timeコマンドというものがあり、開発時によく使われます。
AppleScriptの記述を色々と変えながら、時間を計測してみるのも良いかと思います。
"open"コマンドにより、もう一つTerminalを立ち上げてそちらでコマンドを実行し、最初からあるTerminalで計測します。
timeコマンドを使っている際に、killallしてしまうと、計測画面まで閉じられてしまうのでこれは使えません。
open -g -n -a Terminal
time osascript Untitled.scpt
先ずは、Untitled.scptを作って計測を試みましたが、うまく動きませんでした。
Untitled.scpt:
on run
tell application "Terminal" --後から立ち上げたTerminalが呼ばれる
activate
do script "sleep 100" in front window
end tell
delay 1
tell application "System Events"
tell application process "Terminal" --最初に立ち上げたTerminalが呼ばれる
set frontmost to true
keystroke "c" using {control down}
end tell
end tell
end run
次に、Untitled2.scptとUntitled3.scptを作って計測してみました。
Untitled2.scpt:
on run
tell application "Terminal"
activate
do script "sleep 100" in front window
end tell
delay 1
tell application "Terminal"
activate
end tell
tell application "System Events"
keystroke "c" using {control down}
end tell
delay 1
tell application "Terminal"
quit
end tell
end run
Untitled3.scpt:
on getProcList(appName)
set myList to {}
tell application "System Events"
set myList to unix id of every process whose name ends with appName
end tell
return myList
end getProcList
on run
set myProc to end of getProcList("Terminal")
tell application "Terminal"
activate
do script "sleep 100" in front window
end tell
delay 1
tell application "System Events"
set frontmost of every process whose unix id is myProc to true
keystroke "c" using {control down}
end tell
delay 1
tell application "System Events"
set frontmost of every process whose unix id is myProc to true
keystroke "q" using {command down}
end tell
end run
プロセスのリストを得る方法は、やはり時間が掛かってしまうようです。しかし、どれが正解かに拘らず、色んなパターンを考えるのが上達のコツだと思っていますので、自由にやって下さいませ。