在程式設計時,在一些對時間要求比較高的情況,我們希望知道程式的執行需要用多長時間。如何才能獲得程式的執行時間呢,下面我們就介紹一種方法。
這種方法基於gettimeofday()函式來實現,我們先來看一下**:
#include#includevoid delay()
int main()
這段**的作用是計算delay()函式的執行時間,執行的結果為:
run time = 479461 us
下面我們就來分析這段**,首先我們來看一下struct timeval這個結構體的定義,如下
struct timeval
;
這個結構體中有兩個元素,分別為代表時間的秒tv_sec和微妙tv_usec。這個結構體採用「秒+微秒」的格式來表示時間。
另外需要分析的是gettimeofday()函式,它的完整定義為:
int gettimeofday(struct timeval*tv,struct timezone *tz )
這個函式的第乙個形參是指向timeval結構體的指標,實際上是通過這個指標返回乙個timeval格式的時間。這個時間是從2023年0點0分0秒開始計時,經過的秒數和微秒數,並儲存到tv指向的結構體。函式的第二個形參用來返回時區資訊,由於這個資訊我們沒有用,所以程式裡直接用null。函式的返回值為函式執行的結果,成功返回0,失敗返回-1。
通過gettimeofday()函式分別獲取delay()函式執行前和執行後的時間,計算兩個時間點的差就可以計算出delay()函式的執行時間。
java Java計算一段程式的執行時間
long starttime system.nanotime 獲取開始時間 測試的程式 long endtime system.nanotime 獲取結束時間 system.out.println 執行時間是 starttime endtime ns 輸出執行時間long starttime sys...
測試某一段程式執行時間的方法
前兩天我為了將 casia 資料集進行水平映象,所以自己寫了了個簡單的程式來用。方法很簡單,就是借助 opencv 逐畫素進行操作。因為是逐畫素進行操作,所以我也料想到會很慢。為了測試一下速度,我就在網上查了查別人用的方法。網上有很多方法,我找了了簡單的。用到的標頭檔案是 裡面有個函式clock 網...
C語言中如何計算一段程式的執行時長
如何計算一段程式的執行時間,這是大家所需要的乙個功能。而 c語言提供了乙個名為clock 的函式。clock 捕捉該程式從啟動到函式呼叫占用cpu的時間。單位為clock tick。常數clk tik 機器時鐘每秒鐘所走的時鐘打點數。include include clock t start,sto...