用 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

更新于:2019 年 7 月 30 日

2K+ 次浏览

开启你的 职业生涯

完成课程以获得认证

开始
广告