如何用 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
廣告