時間コマンドを平均化する方法は?

時間コマンドを平均化する方法は?

いくつかのコマンドを実行していますtime。ここで、測定値の平均を計算するために、指定された回数だけコマンドを実行し、時間を測定し、計算された平均と標準偏差で結果を取得しようとしています。結果は次のとおりです。

avgtime -n 100 my_command

real    0m5.388s stdev 0m0.068s
user    0m5.380s stdev 0m0.067s
sys     0m0.004s stdev 0m0.000s

これを行うことができるUNIXツールはありますか? GNU / Linuxで使用できますか?

答え1

Pythonを搭載したすべてのシステムで利用可能なtimeitモジュールを試すことができます。

$ python -m timeit "__import__('os').system('my command here')"
10 loops, best of 3: 591 msec per loop

答え2

スーパーパイン別のオプションです。

使用例:

hyperfine --warmup 3 'my_command'

バラより関連質問

答え3

正確に言えば、UNIXやGNU / Linuxツールではありませんが、非常に簡単に使用できます。統計コンピューティングソフトウェア環境このために。 (私はできません。しかし、あなたの仕事に適したものを見つけてください.)

編集するもちろん、ベンチマークパッケージがありますRrbenchmark。当然梱包されており、system.time()直接使用しても良いです。 または、簡単なストップウォッチ機能のペアを確認してください。 また見てください"システムコマンドの実行" @Rosettaコード(またはそうではありませんsystem("command")。)

編集2見たばかりこの質問「スクリプトで時間を測定する」右側の「関連」列でそれを使用することもできます。つまり、時間をかけてforループ(N回)を実行し、再び時間をかけて時間範囲を計算し、で割りますN。 (より簡単にtime ( for-loop )出力を解析して分割しますN。)

答え4

2つのオプションがあります(現在のdebianおよび他から提供されています):

関連情報