スクリプトの処理時間を計測する
Process.times
でプロセス開始時から使用したCPU時間が取得できる。
Process.times
が返すStruct::Tms
オブジェクトの内容は以下の通り。
属性 | 意味 |
---|---|
utime | ユーザーCPU時間 |
stime | システムCPU時間 |
cutime | 終了した子プロセスのユーザCPU時間の合計 |
cstime | 終了した子プロセスのシステムCPU時間の合計 |
以下のように計測対象の処理の前後でProcess.times
を取得し差分を取ることで計測対象の処理にどれだけのCPU時間を消費したのかを計測できる。
start = Process.times 10000000.times{} # 計測対象の処理 stop = Process.times puts 'utime:' + (stop.utime - start.utime).to_s #=> utime:1.55 puts 'stime:' + (stop.stime - start.stime).to_s #=> stime:0.0