博客專欄

EEPW首頁 > 博客 > linux下統(tǒng)計程序/函數(shù)運行時間

linux下統(tǒng)計程序/函數(shù)運行時間

發(fā)布人:電子禪石 時間:2019-07-20 來源:工程師 發(fā)布文章
一. 使用time 命令

例如編譯一個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)計

復(fù)制代碼
 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 }
復(fù)制代碼

 

運行結(jié)果:

復(fù)制代碼
# time ./helloTest
time calc test
Use time is 0.00003100real    0m0.003s
user    0m0.000s
sys     0m0.000s
復(fù)制代碼

 

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)文章:三維掃描儀原理


關(guān)鍵詞:

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉