如何用 C++ 和 Linux 建立高解析度計時器?


要建立高解析度計時器,我們可以使用 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+ 次瀏覽

啟動你的 職業生涯

完成課程以獲得認證

立即開始
廣告