C++ 计时方法 std::chrono


计时的作用:测试某一段代码的运行时间,时间越短,则性能相对越高。

C++11 标准的”最佳计时方法“的代码:

1 #include <chrono> 2 using namespace std; 3 using namespace chrono; 4 5 auto start = system_clock::now(); 6 // do sething... 7 auto end = system_clock::now(); 8 auto duration = duration_cast<microseconds>(end start); 9 cout << "Spent" << double(durationount()) * microseconds::period::num / microseconds::period::den << " seconds." << endl;

此方法可以精确到微妙,如花费了0.123456秒

  • 关键词 auto 是一个“自动类型”,auto可以接受任何类型
  • 我们获得时间点主要是通过clock时钟获得的。一共有三个时钟,其中system_clock 是 C++11 提供的一个 clock。(除此之外,还有两个clock:steady_clock 和 high_resolution_clock)
  • now( ) 表示计时的那一时刻
  • duration_cast< > 表示类型转换
  • microseconds 表示微秒。另外的五种时间单位:hours, minutes, seconds, milliseconds, nanoseconds
  • num 和 den分别表示分子(numerator)和分母(deninator)。在上面的代码中,num=1, den=1,000,000
  • count( ) 用来返回时间

C++11的 #include< chrono >和传统的 #include < ctime >相比,代码量较多,但是精度也更高。



上一篇:Exiv2 照片GPS信息添加

下一篇:蔡司激光共聚焦荧光显微镜 (四)


C/C&#x2B;&#x2B;
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图