对于一项任务,我们需要使用不同的优化和参数来对我们的实现进行基准测试。有没有一种可行的方法可以在Linux命令行(我知道时间)上使用不同的参数对小程序进行基准测试,从而为我提供CSV或类似内容的时间数据?输出可能类似于:
Implementation Time
A 23s
B with -O3 2Threads 15s
B with -O3 4Threads 10s
我很确定我在一些教授的幻灯片上看到过类似的东西,但我不记得是谁或何时......
为什么不使用time
里面的命令bash
脚本,类似:
#!/bin/bash
NPROG=`cat proglist | wc -l`
for i in `seq 1 ${NPROG}`
do
PROG=`sed -n "${i}p" proglist`
ARG=`sed -n "${i}p" arglist`
TIME=`{ time ${PROG} ${ARG}; } 2>&1 | grep real | awk '{print $2}'`
echo "${TIME} ${PROG} ${ARG}"
done
where proglist
是一个包含要执行的程序的文本文件
A
B
B
and arglist
是一个包含参数的文本文件,类似于:
-a 1 -b 2
-f "foo"
-f "bar"
脚本的输出如下所示:
0m32.000s A -a 1 -b 2
1m12.000s B -f "foo"
5m38.000s B -f "bar"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)