微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在windows / cygwin中,steady_clock的分辨率只有10ms吗?

我有惊讶的观察,稳定时钟测量持续时间时差10毫秒分辨率。 我编译的Windows下cygwin。 难过吗?还是我做错了?

auto start = std::chrono::steady_clock::Now(); /*...*/ auto end = std::chrono::steady_clock::Now(); std::cout << std::chrono::duration_cast<std::chrono::microseconds> (end - start).count();

结果是10000,20000等

如何添加新行到文件

malloc / calloc从虚拟地址空间返回的内存地址?

由于对象的当前状态,操作无效

图书馆操纵terminal空间?

我怎样才能得到执行我的程序的人的用户名

std::steady_clock是依赖于实现的,不应该依赖精确的最小持续时间。 它因平台/编译器实现而异。

来自http://cppreference.com :

类std :: chrono :: steady_clock表示单调时钟。 这个时钟的时间点不能随着物理时间的推移而减少。 这个时钟与挂钟时间无关,最适合测量间隔时间。

相关: std :: system_clock和std :: steady_clock之间的区别?

如果你不关心单调性(也就是说,你不在乎是否有人在程序运行的时候更换了挂钟),那么你最好使用std :: high_resolution_clock 。 (后者依然依赖于实现)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐