コマンド ライン ユーティリティの実行時間を計測するための短い Ruby スクリプトを作成しました。私はルビーのBenchmark
モジュールを次のように使用しています:
Benchmark.bm(" "*7 + CAPTION, 7, FMTSTR, ">avg:") do |bench|
#this loops over a couple of runs
bench.report("Run #{run}: ") do
begin
Timeout::timeout(time) {
res = `#{command}`
}
rescue Timeout::Error
end
end
end
タイムアウトの使用はおそらく少し粗雑ですが、私のニーズには問題ないはずです。問題はBenchmark.bm
、ベンチマーク結果を出力するだけです。それらをさらに処理するためにファイルに保存できるようにしたいと思います(単一のスクリプトで数回実行されるため、端末出力を消費したくありません-この単純なものには手間がかかりすぎるようです)