首页 > 后端开发 > C++ > 你什么时候应该(或者不应该)使用`std::chrono::high_resolution_clock`?

你什么时候应该(或者不应该)使用`std::chrono::high_resolution_clock`?

Barbara Streisand
发布: 2024-12-31 10:04:17
原创
842 人浏览过

When Should You (and Shouldn't You) Use `std::chrono::high_resolution_clock`?

深入研究 std::chrono::high_resolution_clock

虽然最初被认为适合性能测量,但使用 std:: chrono::high_resolution_clock 由于潜在的时钟调整和无法转换为日历时间而引起关注。这就留下了其实际应用的问题。

审查可能的用途

  • 性能测量: high_resolution_clock 的不稳定性质使得时间间隔测量结果不可靠。
  • 正在检索实时: 缺少 to_time_t 方法会妨碍获取日历时间。

结论:难以捉摸的目的

在检查了以下方法的局限性之后high_resolution_clock,很明显它缺乏实质性的实用性。应避免使用它,而应使用更可靠的 stable_clock。

要避免的例外

虽然通常不鼓励使用,但在某些特定情况下 high_resolution_clock 可能是合适的:

  • 在 high_resolution_clock 被实现为 stable_clock 别名的平台上,例如 libc 或VS.
  • 需要截断为零的情况,通过显式使用duration_cast来实现。
  • 无法应用隐式转换的实例。

但是,这些例外应该谨慎考虑,并尽可能探索替代方法。

以上是你什么时候应该(或者不应该)使用`std::chrono::high_resolution_clock`?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板