我正在编写一些计时代码,用于程序中具有低延迟要求的部分。
查看std :: chrono库中可用的内容,我发现编写可移植的计时代码有点困难。
以下是三个可用的时钟:
1. std :: chrono :: high_resolution_clock 2. std :: chrono :: steady_clock 3. std :: chrono :: system_clock
system_clock无用,因为它不稳定;剩下的两个时钟存在问题。
high_resolution_clock在所有平台上都不一定稳定。
steady_clock不一定支持细粒度分辨率时间段(例如:纳秒)。
对于我的目的,拥有一个稳定的时钟是最重要的要求,我可以通过微秒粒度来满足这个需求。
我的问题是,如果想计时可能在不同硬件架构和操作系统上运行的代码,什么选项最好?
查看std :: chrono库中可用的内容,我发现编写可移植的计时代码有点困难。
以下是三个可用的时钟:
1. std :: chrono :: high_resolution_clock 2. std :: chrono :: steady_clock 3. std :: chrono :: system_clock
system_clock无用,因为它不稳定;剩下的两个时钟存在问题。
high_resolution_clock在所有平台上都不一定稳定。
steady_clock不一定支持细粒度分辨率时间段(例如:纳秒)。
对于我的目的,拥有一个稳定的时钟是最重要的要求,我可以通过微秒粒度来满足这个需求。
我的问题是,如果想计时可能在不同硬件架构和操作系统上运行的代码,什么选项最好?