6

「time」コマンドを使用して、Linux でプログラムをプロファイリングしています。問題は、プログラムを 1 回しか実行しないため、出力が統計的にあまり適切ではないことです。いくつかの「時間」実行の平均を取得するツールまたは方法はありますか? 偏差値などの統計情報と一緒にいかがでしょうか?

4

4 に答える 4

8

これは、あなたが探しているものと似たようなことをするために私が書いたスクリプトです。提供されたコマンドを 10 回実行し、実際のユーザー CPU 時間とシステム CPU 時間をファイルに記録し、各コマンド出力の後に tham をエコーし​​ます。次に awk を使用して、ファイル内の 3 つの列のそれぞれの平均を提供しますが、(まだ) 標準偏差は含まれていません。

#!/bin/bash

rm -f /tmp/mtime.$$

for x in {1..10}
do
  /usr/bin/time -f "real %e user %U sys %S" -a -o /tmp/mtime.$$ $@
  tail -1 /tmp/mtime.$$
done

awk '{ et += $2; ut += $4; st += $6; count++ } END {  printf "Average:\nreal %.3f user %.3f sys %.3f\n", et/count, ut/count, st/count }' /tmp/mtime.$$
于 2015-10-29T18:40:10.613 に答える