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