c 計時方法 std chrono

2021-09-19 03:44:24 字數 918 閱讀 5589

計時的作用:測試某一段**的執行時間,時間越短,則效能相對越高。

c++11 標準的」最佳計時方法「的**:

#include using namespace std;

using namespace chrono;

auto start = system_clock::now();

// do something...

auto end = system_clock::now();

auto duration = duration_cast(end - start);

cout << "spent" << double(duration.count()) * microseconds::period::num / microseconds::period::den << " seconds." << endl;

此方法可以精確到微妙,如花費了0.123456秒

我們獲得時間點主要是通過clock時鐘獲得的。一共有三個時鐘,其中system_clock 是 c++11 提供的乙個 clock。(除此之外,還有兩個clock:steady_clock 和 high_resolution_clock)

now( ) 表示計時的那一時刻

duration_cast< > 表示型別轉換

microseconds 表示微秒。另外的五種時間單位:hours, minutes, seconds, milliseconds, nanoseconds

num 和 den分別表示分子(numerator)和分母(denominator)。在上面的**中,num=1, den=1,000,000

count( ) 用來返回時間

c++11的 #include< chrono >和傳統的 #include < ctime >相比,**量較多,但是精度也更高。

OpenCV 計時方法

跑乙個程式除了看它報不報錯,還得計算時間效率對吧。那麼在基於c 的opencv工程中如何計時呢?一 gettickcount函式 double t double gettickcount various operations t gettickcount t gettickfrequency cou...

linux 終端計時方法

經常需要在linux終端中測試效能,例如flash的讀寫效能。這就需要對乙個操作進行計時。以前一直用date命令,然後人工做減法操作來得到結果。簡單測測還行,如果長時間測試,這個人工費就上去了。為了降低人工成本,今天查了些資料。目的是得到乙個操作花了多長時間,單位為秒。首先查date命令,看如果得到...

倒計時方法

前幾天,公司新來的小後台讓我給他乙個倒計時的方法,由於忙專案也沒有給他好好整理,就胡亂寫了乙個,讓他用。後來他問我有木有blog,我說木有,好像有點鄙視我的眼光 好吧,再次blog 根據id獲取節點 method id param string return object function id s...