linux下統(tǒng)計程序/函數(shù)運行時間
例如編譯一個hello.c文件
#gcc hello.c -o hello
生成了hello可執(zhí)行文件,此時統(tǒng)計該程序的運行時間便可以使用如下命令
#time ./hello
在程序運行結(jié)束后便會顯示出所需時間
real 0m2.913s user 0m0.012s sys 0m0.508s
二. 使用clock()函數(shù)統(tǒng)計
1 #include<stdio.h> 2 #include <time.h> /*要包含的頭文件*/ 3 4 int main(int argc, char *argv[]) 5 { 6 /* Init */ 7 clock_t start, end; 8 start = clock(); /*記錄起始時間*/ 9 10 printf("time calc test\n");11 /*12 *13 *14 * 函數(shù)進行的一些列操作15 *16 * */17 18 /* Final Status */19 end = clock(); /*記錄結(jié)束時間*/20 {21 double seconds =(double)(end - start)/CLOCKS_PER_SEC;22 fprintf(stderr, "Use time is: %.8f\n", seconds);23 }24 return 0;25 }
運行結(jié)果:
# time ./helloTest time calc test Use time is 0.00003100real 0m0.003s user 0m0.000s sys 0m0.000s
CLOCKS_PER_SEC用于將clock()函數(shù)的結(jié)果轉(zhuǎn)化為以秒為單位的量
三. 優(yōu)缺點對比
time命令在不修改代碼的情況下記錄程序運行時間,但是,從上面對比可看出time命令統(tǒng)計的結(jié)果比較粗糙。
另外,time命令,統(tǒng)計的結(jié)果包涵程序加載和退出的時間。因此,若想得出函數(shù)運行時間較為準(zhǔn)確的結(jié)果,建議使用clock()函數(shù)。
若想了解整個項目中各個函數(shù)的運行時間,以期獲得性能提升,建議使用——開源工具
轉(zhuǎn)自:http://blog.csdn.net/davie1love/article/details/47087475
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。
三維掃描儀相關(guān)文章:三維掃描儀原理