一杯清酒邀明月
天下本无事,庸人扰之而烦耳。
posts - 3121,comments - 209,views - 578万

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

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

复制代码
1 #include <chrono>   
2 using namespace std;
3 using namespace chrono;
4  
5 auto start = system_clock::now();
6 // do something...
7 auto end   = system_clock::now();
8 auto duration = duration_cast<microseconds>(end - start);
9 cout <<  "Spent" << double(duration.count()) * 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)和分母(denominator)。在上面的代码中,num=1, den=1,000,000
  • count( ) 用来返回时间

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

posted on   一杯清酒邀明月  阅读(417)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示