eeuserp
>time 是linux內建的指令,他的輸出格式可以自己選擇,而且其實time還可以輸出其他的資訊,像是process在執行期間總共被 swap out 出 main memory 的次數,但是如果在command 直接打time
的話,它所提供的所有option就會無法使用,若要使用的話就要打/usr/bin/time
輸出格式可以參考這個網址
因為使用gnuplot的話需要把資料先建成文字檔案當成輸入,如果要把time指令的輸出資料匯入到文字檔的話可以打成
{ /usr/bin/time -f 'baseline %S %U' ./time_test_baseline ; } 2> time.txt
-f
是標示要使用特定的字串格式輸入。
最後把這些動作寫進Makefile裡就行了
make plot
首先要學習Makefile的迴圈要怎麼寫,
for i in `seq 100 5000 25000`; do \
printf "%d," $$i;\
./benchmark_clock_gettime $$i; \
done > result_clock_gettime.csv
seq
後面接著的數字第一個代表i
的起始數字,接著是指i
在每次迴圈之後要加多少,再來接著的是i
結束的數字。
製作自己的gp
來話折線圖可以參考[這個網站](http://blog.csdn.net/baigoocn/article/details/38417505)
畫出圖之後我們會發現圖的震盪會很大,所以為了讓圖容易看出趨勢,我們會使用平滑,gnuplot內建的平滑方式有很多種,可以參考這個網站,但我們要知道不是每一個都可以用,因為有一些平滑方式會把資料做排序,這些都不是我們要的,最後我選擇 bezier 這個方法。
make plot2
Smooth前:
http://stackoverflow.com/questions/13356628/is-there-a-way-to-redirect-time-output-to-file-in-linux
http://www.cyberciti.biz/faq/unix-linux-time-command-examples-usage-syntax/