QueryPerformanceFrequency与CPU速度不匹配?
由此看来,函数返回的值以Hz为单位QueryPerformanceFrequency与CPU速度不匹配?,c,windows,performance,api,kernel,C,Windows,Performance,Api,Kernel,由此看来,函数返回的值以Hz为单位 运行intel Core i5-以2.8GHz的频率运行 该功能似乎返回MHz 调试器中的值为1328261 为什么值只有7位 为什么该值不反映2Ghz?(即2,8…) 我错过了什么 不正确地使用该功能(如下) QueryPerformanceFrequency返回性能计数器的频率,而不是CPU的时钟频率。这些都不是一回事,尽管它们似乎是一种常见的错误观念 报告说,我强调: 指向接收当前数据的变量的指针 性能计数器频率,以每秒计数为单位 所以,你得到的
运行intel Core i5-以2.8GHz的频率运行 该功能似乎返回MHz 调试器中的值为1328261
- 为什么值只有7位
- 为什么该值不反映2Ghz?(即2,8…)
QueryPerformanceFrequency返回性能计数器的频率,而不是CPU的时钟频率。这些都不是一回事,尽管它们似乎是一种常见的错误观念 报告说,我强调: 指向接收当前数据的变量的指针 性能计数器频率,以每秒计数为单位 所以,你得到的是性能计数器的频率,单位是赫兹 不管它值多少钱,如果那样的话,我就不会打印了。这是一个整数值。最好保持这种方式进行打印。因此,假设您使用MS编译器,您可以这样打印它:
printf("Ticks: %I64d\n", li.QuadPart);
printf("Ticks: %I64d\n", li.QuadPart);