【发布时间】:2015-11-25 08:57:52
【问题描述】:
我知道你的想法,但我相信这不是一个重复的问题。在 Windows Vista 和更新版本上,采用如下函数:
void spin()
{
while(TRUE);
}
如何测量在最后一秒内执行此功能所花费的总时间?问题当然是我不想包括被安排的时间,只有旋转的时间 -> 在这个循环中花费的最后一秒的部分。我希望这是有道理的:)
【问题讨论】:
标签: windows scheduling
我知道你的想法,但我相信这不是一个重复的问题。在 Windows Vista 和更新版本上,采用如下函数:
void spin()
{
while(TRUE);
}
如何测量在最后一秒内执行此功能所花费的总时间?问题当然是我不想包括被安排的时间,只有旋转的时间 -> 在这个循环中花费的最后一秒的部分。我希望这是有道理的:)
【问题讨论】:
标签: windows scheduling
好的,这就是GetThreadTimes。在这种情况下,有趣的参数是 UserTime,尽管如果您在函数中调用内核,我怀疑添加 KernelTime 不是一个好主意,因为如果您的线程被中断,您总是可以获得一些不属于您的额外抽动。如果 MS 说明这些时间是否在上下文切换时更新(它们可能是,但我想听听),那也很好。
【讨论】: