Window中C 進行精確計時的方法

2022-08-09 01:33:19 字數 733 閱讀 5361

嗯,程式設計師乙個永恆的追求就是效能吧?

為了衡量效能,自然需要計時。

奈何無論c標準庫還是c++標準庫,因為通用性的考慮,其time api精度都不高。基本都是毫秒級的。

所以如果要真正精確地衡量程式的效能,還是得靠系統api。下面的計時方式可以精確到<1us。

#includeclass mytimer

inline void start()

inline void stop()

inline double elapse()

inline long long ticks()

};

使用方式也很簡單: 三個api:start, stop, elapse.

//example:

mytimer timer;

timer.start();

matrixxd m3 = m1 * m2; //critical code here

timer.stop();

printf("time elapsed: %lf\n", timer.elapse());

主要用到的系統api有如下兩個。

queryperformancecounter

來自<

>

queryperformancefrequency function

來自<

>

看一下msdn的說明即可。

c 準確計時 C 精確計時

include large integer m freq,m timestart,m timenow queryperformancefrequency m freq queryperformancecounter m timestart double time double m timestart...

C C 中如何精確計時

給程式計時對於程式設計師來說實在是太重要了,在windows上的那個clock 實在是不夠精確,精度只有10ms,真讓人難過。研究了下windows下使用c c 計時的函式,給大家分享下。主要就是兩個函式的使用。我先把一段可以執行的 貼出來,然後講講這兩個函式。include include int...

win與Linux中的精確計時

win下精確計時,有二種方法,精度不同 如下 dword starttime gettickcount do something dword totaltime gettickcount starttime 根據msdn,此方法的精確度為10 16ms 取得時鐘頻率 large integer li...