Mai*_*tor 4 language-agnostic linux statistics benchmarking profiling
我正在使用"time"命令在Linux上分析程序.问题是它的输出在统计上不是很相关,因为它只运行一次程序.是否有工具或方法可以获得平均几次"时间"运行?可能与偏差等统计信息一起?
这是我写的一个脚本,用来做你想要的东西.它运行提供的命令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.$$
Run Code Online (Sandbox Code Playgroud)
使用超精细。
\n例如:
\nhyperfine \'sleep 0.3\'\n
Run Code Online (Sandbox Code Playgroud)\nsleep 0.3
将多次运行该命令,然后输出如下内容:
hyperfine \'sleep 0.3\'\nBenchmark #1: sleep 0.3\n Time (mean \xc2\xb1 \xcf\x83): 306.7 ms \xc2\xb1 3.0 ms [User: 2.8 ms, System: 3.5 ms]\n Range (min \xe2\x80\xa6 max): 301.0 ms \xe2\x80\xa6 310.9 ms 10 runs\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
2154 次 |
最近记录: |