Linux上的基准测试程序

Linux上的基准测试程序,linux,benchmarking,Linux,Benchmarking,对于任务,我们需要使用不同的优化和参数对我们的实现进行基准测试。有没有一种可行的方法可以在linux命令行(我知道时间)上使用不同的参数对小程序进行基准测试,这些参数将时间数据作为CSV或类似的数据提供给我?输出可能类似于: Implementation Time A 23s B with -O3 2Threads 15s B with -O3 4Threads 10s 我很确定我在一些教授的幻灯片上看到过类似的内容,但我记不起

对于任务,我们需要使用不同的优化和参数对我们的实现进行基准测试。有没有一种可行的方法可以在linux命令行(我知道时间)上使用不同的参数对小程序进行基准测试,这些参数将时间数据作为CSV或类似的数据提供给我?输出可能类似于:

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

我很确定我在一些教授的幻灯片上看到过类似的内容,但我记不起是谁或什么时候…

为什么不在
bash
脚本中使用
time
命令,比如:

#!/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
-a 1 -b 2
-f "foo"
-f "bar"
其中
proglist
是包含要执行的程序的文本文件

A
B
B
arglist
是一个包含参数的文本文件,类似于:

#!/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
-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"