用 C/C++ 高精度測量執行時間


要建立高精度定時器,我們可以使用 chrono 庫。此庫具有高解析度時鐘。此類時鐘可以以納秒為單位進行計數。

在本程式中,我們將看到執行時間(以納秒為單位)。我們首先獲取時間值,然後獲取最後的時間值,再找到差值以獲取經過的時間。這裡我們使用了一個空迴圈來暫時暫停效果。

示例

#include <iostream>
#include <chrono>
typedef std::chrono::high_resolution_clock Clock;
main() {
   auto start_time = Clock::now();
   for(int i = 0; i<200000000; i++ ){ //create one empty loop
      ;
   }
   auto end_time = Clock::now();
   std::cout << "Time difference: " << std::chrono::duration_cast<std::chrono::nanoseconds>(end_time    - start_time).count() << " nanoseconds" << std::endl;
}

輸出

Time difference: 536395307 nanoseconds

更新於:2019 年 7 月 30 日

2K+ 次瀏覽

開啟你的 職業生涯

完成課程以獲得認證

開始
廣告