いくつかのコマンドを実行しています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
答え3
正確に言えば、UNIXやGNU / Linuxツールではありませんが、非常に簡単に使用できます。右統計コンピューティングソフトウェア環境このために。 (私はできません。しかし、あなたの仕事に適したものを見つけてください.)
編集するもちろん、ベンチマークパッケージがありますR
。rbenchmark
。当然梱包されており、system.time()
直接使用しても良いです。 または、簡単なストップウォッチ機能のペアを確認してください。 また見てください"システムコマンドの実行" @Rosettaコード(またはそうではありませんsystem("command")
。)
編集2見たばかりこの質問「スクリプトで時間を測定する」右側の「関連」列でそれを使用することもできます。つまり、時間をかけてforループ(N
回)を実行し、再び時間をかけて時間範囲を計算し、で割りますN
。 (より簡単にtime ( for-loop )
出力を解析して分割しますN
。)
答え4
2つのオプションがあります(現在のdebianおよび他から提供されています):
- どんどん(羽ハブから)、例えば
multitime -q -n 10 sleep 1
( https://superuser.com/a/1301756/129608) - Linuxパフォーマンス(ウィキペディア)、例えば
perf stat -r 10 -B sleep 1
(https://superuser.com/a/1279724/129608)