計時的作用:測試某一段**的執行時間,時間越短,則效能相對越高。
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...