测量每秒在功能上花费的时间

Measuring time spent in function per second

我知道你在想什么,但我相信这不是一个重复的问题。在 Windows Vista 和更新版本上,采用如下函数:

void spin()
{
    while(TRUE);
}

如何衡量在最后一秒执行此功能所花费的总时间?问题当然是我不想包括被安排的时间,只包括旋转的时间 -> 在此循环中花费的最后一秒的部分。我希望它有意义:)

好的,就是这样 GetThreadTimes。在这种情况下,有趣的参数是 UserTime,尽管如果您在函数中调用内核,我怀疑添加 KernelTime 不是一个好主意,因为如果您的线程被中断,您总是可以获得一些不属于您的额外抽动。如果 MS 说明这些时间是否在上下文切换时更新(它们可能是,但我想听听),那也很好。