乙個簡單的用於效能測算的計時器函式

2021-06-05 22:22:33 字數 630 閱讀 7865

我們常常採用gettickcount函式來測量程式的執行時間,但這個東西一次變化就要15~16ms,精度太低了。後果就是想要測量出個結果你得讓**反覆執行很多次。

為此,我再次想到利用rdtsc指令。利用它給出的週期值,可以保證取到非常小的時間間隔。可惜的是該值不是直接的時間表達,還需要使用者按cpu主頻去換算。不過很多時候我們僅僅是想比較兩種不同方案的效率高低,那就直接看它們消耗的週期多少就可以了,無需換算成時間。

利用這個新函式,我們可以對ns級的變化也非常敏感,足以應付日常測試了。但須注意最好只用於測量單執行緒程式執行狀況,在多執行緒時容易得到錯誤結論。另外,該函式自身大約需要消耗44個週期,在測試資料較小時應該從結果中去除這個值。

使用方法:

呼叫calculagraph(1),設定當前週期計數為基準週期值,同時返回它與上一次的基準週期值之間的差值。

呼叫calculagraph(0),返回當前週期計數與上一次基準之間的差值,但不改變基準週期值。

long long calculagraph(int flag)

delt=curtime-time;

if (flag)

time=curtime;

return delt;

}

乙個簡單的計時器

果然是新手啊,現在的階段是什麼都要上網查,只知道實現原理,demo卻寫不出來。哎 第乙個練手的,乙個簡單的計時器,基本原理時使用執行緒控制textview的定時重新整理 view code 1 package king.timer 23 import 4import android.os.bundl...

乙個簡單地計時器。

這是乙個很簡單地秒錶計時器,以一秒為單位計時,實現了暫停時間和繼續計時兩個功能。介面如下 如下 計時開始按鈕 void start id sender 計時停止按鈕 void stop id sender 初始化 label uilabel alloc initwithframe cgrectmak...

Python學習 乙個簡單的計時器

在實際開發中,往往想要計算一段 執行多長時間,下面我將該功能寫入到乙個函式裡面,只要在每個函式前面呼叫該函式即可,見下面 乙個記時器,只要在函式前面寫上 fun timer即可 import time from functools import wraps deffun timer function...