linux下統計程序/函數運行時間
例如編譯一個hello.c文件
#gcc hello.c -o hello
生成了hello可執行文件,此時統計該程序的運行時間便可以使用如下命令
#time ./hello
在程序運行結束后便會顯示出所需時間
real 0m2.913s user 0m0.012s sys 0m0.508s
二. 使用clock()函數統計
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 * 函數進行的一些列操作15 *16 * */17 18 /* Final Status */19 end = clock(); /*記錄結束時間*/20 {21 double seconds =(double)(end - start)/CLOCKS_PER_SEC;22 fprintf(stderr, "Use time is: %.8f\n", seconds);23 }24 return 0;25 }
運行結果:
# time ./helloTest time calc test Use time is 0.00003100real 0m0.003s user 0m0.000s sys 0m0.000s
CLOCKS_PER_SEC用于將clock()函數的結果轉化為以秒為單位的量
三. 優缺點對比
time命令在不修改代碼的情況下記錄程序運行時間,但是,從上面對比可看出time命令統計的結果比較粗糙。
另外,time命令,統計的結果包涵程序加載和退出的時間。因此,若想得出函數運行時間較為準確的結果,建議使用clock()函數。
若想了解整個項目中各個函數的運行時間,以期獲得性能提升,建議使用——開源工具
轉自:http://blog.csdn.net/davie1love/article/details/47087475
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。
三維掃描儀相關文章:三維掃描儀原理