2010-12-14 76 views
3

对于我们需要使用不同的优化和参数对我们的实现进行基准测试的任务。有没有一种可行的方法在Linux命令行(我知道时间)上使用不同的参数对我的时间数据进行基准测试,这些参数能让我将时间数据变成CSV或类似的东西?输出可能是这样的:Linux上的基准测试程序

Implementation  Time  
A     23s 
B with -O3 2Threads 15s 
B with -O3 4Threads 10s 

我敢肯定,我已经看到了类似的东西在一些教授的幻灯片,但我不记得是谁或者当它是...

回答

6

为什么不使用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 

其中proglist是包含程序的文本文件来执行

A 
B 
B 

arglist是包含有参数的文本文件,是这样的:

脚本的输出看起来类似:

0m32.000s A -a 1 -b 2 
1m12.000s B -f "foo" 
5m38.000s B -f "bar"