1. 程式人生 > >linux下統計程式/函式執行時間

linux下統計程式/函式執行時間

如果只是初步統計或比較各函式的執行時間,可以用以下方法,若是想詳細統計專案中各個函式時間,建議使用第三方工具

一. 使用time 命令

例如編譯一個hello.c檔案

#gcc hello.c -o hello

生成了hello可執行檔案,此時統計該程式的執行時間便可以使用如下命令

#time ./hello
在程式執行結束後便會顯示出所需時間

real    0m2.913s
user    0m0.012s
sys     0m0.508s

二. 使用clock()函式統計

#include<stdio.h>           
#include <time.h>               /*要包含的標頭檔案*/
int main(int argc, char *argv[]) { /* Init */ clock_t start, end; start = clock(); /*記錄起始時間*/ printf("time calc test\n"); /* * * * 函式進行的一些列操作 * * */ /* Final Status */ end = clock(); /*記錄結束時間*/ { double seconds =(double)(end - start)/CLOCKS_PER_SEC; fprintf(stderr
, "Use time is: %.8f\n", seconds); } return 0; } 執行結果: # time ./helloTest time calc test Use time is 0.00003100 real 0m0.003s user 0m0.000s sys 0m0.000s

CLOCKS_PER_SEC用於將clock()函式的結果轉化為以秒為單位的量

三. 優缺點對比

time命令在不修改程式碼的情況下記錄程式執行時間,但是,從上面對比可看出time命令統計的結果比較粗糙。
另外,time命令,統計的結果包涵程式載入和退出的時間。因此,若想得出函式執行時間較為準確的結果,建議使用clock()函式。
若想了解整個專案中各個函式的執行時間,以期獲得性能提升,建議使用

——開源工具