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....