C語言測試程式執行時間

2021-07-04 19:39:33 字數 1292 閱讀 7387

clock_t clock(void );

這個函式返回從「開啟這個程式程序」到「程式中呼叫clock()函式」時之間的cpu時鐘計時單元(clock tick)數,在msdn中稱之為掛鐘時間(wal-clock)。其中clock_t是用來儲存時間的資料型別,在time.h檔案中,可以找到它的定義,顯然clock_t是乙個長整型數。

#ifndef_clock_t_defined

typedef longclock_t;

#define_clock_t_defined

#endif

在time.h檔案中,還定義了乙個常量clocks_per_sec,用來表示一秒鐘有多少個時鐘計時單元,其定義如下:

#defineclocks_per_sec ((clock_t)1000)  //clocks_per_sec為系統自定義的

#include

#include

#include

int main()

clock_t start, finish;

start = clock();

finish = clock();

total_time = (double) (finish– start) / clocks_per_sec;

printf(「%f seconds/n」,total_time);

struct timeval結構體在linux系統中定義,在中定義為:

structtimeval 

__time_t tv_sec;        /*seconds. */ 

__suseconds_t tv_usec;  /*microseconds. */ 

其中,tv_sec為epoch到建立structtimeval時的秒數,tv_usec為微秒數,即秒後面的零頭。

gettimeofday ()功能是得到當前時間和時區,分別寫到tv和tz中,如果tz為null則不向tz寫入。

int gettimeofday(struct timeval*tv, struct timezone *tz);

#incluede

struct timevaltv_begin, tv_end;

gettimeofday(&tv_begin,null);

foo();

gettimeofday(&tv_end,null);

total_time = (double) (tv_begin.tv_usec – tv_end.tv_usec) / 1000;

printf(「%.3f ms/n」, total_time);

C 測試程式執行時間

我們應當忘記小的效能優化,百分之九十七的情況下,過早的優化都是萬惡之源 這句話在很多時候都被引用到,以至於 不要優化 注意,是 不要優化 而不是 不要過早優化 已經深入人心,過度地推崇這條建議經常會成為如下行為的藉口 還有另乙個常識 優化是不重要的,這條常識的理由,在程式設計師工具箱中最強大的優化技...

C 測試程式執行時間

1.時間測試 datetime starttime datetime.now timespan timespan 程式主體 timespan datetime.now.subtract starttime 獲取就是開始時間很結束時間差 2.用於.net環境的時間測試 只測試 在自身程序中的時間 ne...

C語言函式執行時間測試

摘自 最近突然有必要測試c語言中各個函式的執行時間,於是就搜尋了一下,發現有4種方法可以達成測算程式執行時間的目的。它們分別是使用clock,times,gettimeofday,getrusage來實現的。下面就來逐一介紹,並比較它們的優劣點。系統測試環境 virtualbox ubuntu 9....