一般在稍大一些專案中,總會想要得到某段**的執行時間,c++中有內建函式可以實現該目的,也可以借助其他一些常用庫。
函式:clock()
用法:
#include //需包含該標頭檔案,或者包含
const clock_t begin_time = clock( );
.......此處為需要統計執行時間的**
float seconds = float(clock( ) - begin_time) / 1000;//此處1000指的是每秒為1000個時鐘週期,所以要想得到以秒為單位的時間,需要除以1000.
函式理解:1. typedef long clock_t
2. clock_t clock(void)
返回從「開啟這個程式程序」到「程式中呼叫clock()函式」時
之間的cpu時鐘計時單元(clock tick)數,此時就要注意在除錯程式時暫停的時間也要算入進去
3. clocks_per_sec
用來表示一秒鐘會有多少個時鐘計時單元,其定義如下:
#define clocks_per_sec ((clock_t)1000)
4. 侷限性:最小精度1毫秒
小技巧:如果計算時間較長,想要把時間換算成一共運算了多少天多少時多少分多少秒的形式,可以靈活運用求餘運算子%:
注意:clock()函式返回程式目前為止執行的時間,所以,如果在程式結束之前呼叫此函式,便可獲得整個程式的執行時間(此時間是從程式開始執行時就開始計時的)。這個時間除以常數clocks_per_sec之後得到的值以「秒」為單位。此時還要注意,如果程式中涉及到從鍵盤讀入資料,那麼等待鍵盤操作這部分時間也會算在程式執行時間之中。
使用boost庫中的timer
#include
timer t_ogm;//建立timer物件
......
some handle steps
......
float time_cost = t_ogm.elapsed();//返回處理處理時間,秒
C 計算程式執行時間
通過系統函式system.datetime.now獲取執行前的當前時間和執行後的當前時間,然後通過datetime型別本身自帶的subtract方法 從此例項中減去指定時間或持續時間,datetime型別或timespan型別引數 用執行後時間減去執行前時間,獲得執行一段程式所需要的時間。具體 如下...
c 計算程式執行時間
c 中如何記錄程式執行時間 一 clock 計時函式 clock 是c c 中的計時函式,而與其相關的資料型別是clock t。在msdn中,查得對clock函式定義如下 clock t clock void 簡單而言,就是該程式從啟動到函式呼叫占用cpu的時間。這個函式返回從 開啟這個程式程序 到...
計算C 程式執行時間總結
c 程式執行時間作為乙個高效的.net程式語言。其混合了函式語言和物件導向程式編制語言,並且完美的適用於程式設計 演算法 技術和探索性開發,因此可以在使用的過程當中感受到趣味性和吸引力。ad 我現在用c 語言寫了一段程式,想計算這段程式執行的準確時間,這是要用於跟其它實驗結果作對比的,所以要精確到毫...