C語言如何計算演算法執行時間

2021-07-22 21:29:54 字數 874 閱讀 1696

c/c++中的計時函式是clock(),而與其相關的資料型別是clock_t。在msdn中,查得對clock函式定義如下:  

clock_t clock( void );

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

#ifndef _clock_t_defined

typedef long clock_t;

#define _clock_t_defined

#endif

很明顯,clock_t是乙個長整形數。在time.h檔案中,還定義了乙個常量clocks_per_sec,它用來表示一秒鐘會有多少個時鐘計時單元,其定義如下:

#define clocks_per_sec ((clock_t)1000)

void elapsed_time()

#include 「stdio.h」

#include 「stdlib.h」

#include 「time.h」

int main( void )

在筆者的機器上,執行結果如下:

time to do 10000000 empty loops is 0.03000 seconds

上面我們看到時鐘計時單元的長度為1毫秒,那麼計時的精度也為1毫秒,那麼我們可不可以通過改變clocks_per_sec的定義,通過把它定義的大一些,從而使計時精度更高呢?通過嘗試,你會發現這樣是不行的。在標準c/c++中,最小的計時單位是一毫秒。

C語言如何 計算程式執行時間

c c 中的計時函式是clock 而與其相關的資料型別是 clock t 在msdn中,查得對clock函式定義如下 clock t clock void 這個函式返回從 開啟這個程式程序 到 程式中呼叫clock 函式 時之間的cpu時鐘計時單元 clock tick 數,在msdn中稱之為掛鐘時...

計算火車執行時間(C語言)

計算火車執行時間 15分 本題要求根據火車的出發時間和達到時間,編寫程式計算整個旅途所用的時間。輸入在一行中給出2個4位正整數,其間以空格分隔,分別表示火車的出發時間和到達時間。每個時間的格式為2位小時數 00 23 和2位分鐘數 00 59 假設出發和到達在同一天內。在一行輸出該旅途所用的時間,格...

計算執行時間

使用方法 double t double gettickcount do something t double gettickcount t gettickfrequency 所用函式為gettickcount 和gettickfrequency gettickcount 返回cpu自某個時間 如啟...