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