Closed. This question is off-topic. It is not currently accepting answers. Learn more。
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
5年前关闭。
有人能提供一个C/C++的计时器列表吗?
例如,如果我取100台计算机,在所有计算机中以相同的微秒启动程序,我希望计时器在连续运行一年后在所有计算机(具有不同的CPU和不同的CPU负载)上显示相同的时间。
平台:Linux
精度:1秒,但计时器必须为EXACLTY 1秒,而不是1秒和1/1000000。额外的1/1000000是不可接受的。换言之,在一年的运行中,哪怕是一秒钟的精度损失也是可以接受的。
计时器不需要额外的硬件。
问题1:人类制造的最好的计时器是什么?它是免费的(chrono、setitimer、众多boost计时器中的一个,还是别的什么?)
问题2:使用这个最佳定时器,当使用常春藤桥CPU时,我能期望什么样的精度?
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
5年前关闭。
有人能提供一个C/C++的计时器列表吗?
例如,如果我取100台计算机,在所有计算机中以相同的微秒启动程序,我希望计时器在连续运行一年后在所有计算机(具有不同的CPU和不同的CPU负载)上显示相同的时间。
平台:Linux
精度:1秒,但计时器必须为EXACLTY 1秒,而不是1秒和1/1000000。额外的1/1000000是不可接受的。换言之,在一年的运行中,哪怕是一秒钟的精度损失也是可以接受的。
计时器不需要额外的硬件。
问题1:人类制造的最好的计时器是什么?它是免费的(chrono、setitimer、众多boost计时器中的一个,还是别的什么?)
问题2:使用这个最佳定时器,当使用常春藤桥CPU时,我能期望什么样的精度?
最佳答案
程序的最佳计时精度是与atomic clock设备(如USNO Master Clock设备)同步。
/挖苦
要给出一些提示:
C++标准不能保证任何超出毫秒精度的东西,甚至这些可能会达到十分之一毫秒(取决于操作系统)。
硬件计时器可能提供更好的准确性,但驱动程序/应用程序仍可能引入不必要的延迟
如果你真的要精确到你的要求,别忘了记住相对论效应的补偿,比如测量设备的高度、位置、速度等
问题2:使用这个最好的定时器,当使用常春藤桥CPU时,我能期望什么样的精度?
我猜是纳秒的倍数,如果做得对的话(在这个方向上,忘掉原子钟的笑话)。