2010-12-14 79 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"