如何用 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+ 次浏览

启动你的 职业生涯

完成课程以获得认证

立即开始
广告