【请问】QueryPerformanceFrequency()与cpu有关系吗?

HeBanBei 2016-05-09 06:30:30
QueryPerformanceFrequency()返回硬件支持的高精度计数器的频率。
这里所说的硬件指的是什么?
如果想要这个频率足够大,选购计算机的时候应该考虑哪些指标?
...全文
241 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
HeBanBei 2016-05-10
  • 打赏
  • 举报
回复
引用 5 楼 TheOne_jie 的回复:
跟CPU无直接关,可能有间接关系, 这里的硬件,指的是高性能计数器
高性能计数器是个什么东西?是CPU里面的吗?还是主板上的某一个芯片?
BurnellLiu 2016-05-10
  • 打赏
  • 举报
回复
跟CPU无直接关,可能有间接关系, 这里的硬件,指的是高性能计数器
HeBanBei 2016-05-10
  • 打赏
  • 举报
回复
引用 3 楼 dustpg 的回复:
我的CPU是i5-3210M,主频2.5GHz,获取的数字是2435888,不是差不多么, 毕竟因为睿频技术,任务管理器中能看到CPU频率在2.3~2.7跳动
2.5GHz 是 2,500,000,000 2435888 是 2,435,888 这差了1000倍。为什么说是差不多呢?
HeBanBei 2016-05-10
  • 打赏
  • 举报
回复
引用 10 楼 TheOne_jie 的回复:
好奇问下, 为啥需要这个数值很大?, 大不大对精度影响不是太大吧
频率越大精度越高。 如果频率是10, 两个count值之间的最小差值是 0.1秒,也就是精度是0.1秒 如果是100,那就是0.01秒
HeBanBei 2016-05-10
  • 打赏
  • 举报
回复
引用 8 楼 dustpg 的回复:
[quote=引用 4 楼 HeBanBei 的回复:] [quote=引用 3 楼 dustpg 的回复:] 我的CPU是i5-3210M,主频2.5GHz,获取的数字是2435888,不是差不多么, 毕竟因为睿频技术,任务管理器中能看到CPU频率在2.3~2.7跳动
2.5GHz 是 2,500,000,000 2435888 是 2,435,888 这差了1000倍。为什么说是差不多呢?[/quote] 差不多是指是与主频相关,而不是一个独立于主频的数字,只要与主频成正比,不是一样么。 说到1000倍,我以前用汇编指令RDTSC代替它,会发现结果总是高了1000, 然后x64不支持嵌入式汇编又改回来了,结果又慢了1000 [/quote] 我这边有一台机器,CPU E5-2407 主频 2.2GHz QueryPerformanceFrequency()得到的频率是 14318180
BurnellLiu 2016-05-10
  • 打赏
  • 举报
回复
好奇问下, 为啥需要这个数值很大?, 大不大对精度影响不是太大吧
BurnellLiu 2016-05-10
  • 打赏
  • 举报
回复
引用 6 楼 HeBanBei 的回复:
[quote=引用 5 楼 TheOne_jie 的回复:] 跟CPU无直接关,可能有间接关系, 这里的硬件,指的是高性能计数器
高性能计数器是个什么东西?是CPU里面的吗?还是主板上的某一个芯片?[/quote] 我觉得这个东西不是具体的主板或CPU上的某个硬体部件, 应该是结合机器CPU频率和时钟以及其他方面, 做出来的软件中间层, 所以在不同的机器上数值大都不相同
dustpg 2016-05-10
  • 打赏
  • 举报
回复
引用 4 楼 HeBanBei 的回复:
[quote=引用 3 楼 dustpg 的回复:] 我的CPU是i5-3210M,主频2.5GHz,获取的数字是2435888,不是差不多么, 毕竟因为睿频技术,任务管理器中能看到CPU频率在2.3~2.7跳动
2.5GHz 是 2,500,000,000 2435888 是 2,435,888 这差了1000倍。为什么说是差不多呢?[/quote] 差不多是指是与主频相关,而不是一个独立于主频的数字,只要与主频成正比,不是一样么。 说到1000倍,我以前用汇编指令RDTSC代替它,会发现结果总是高了1000, 然后x64不支持嵌入式汇编又改回来了,结果又慢了1000
赵4老师 2016-05-10
  • 打赏
  • 举报
回复
CPU里面的。听说。
dustpg 2016-05-09
  • 打赏
  • 举报
回复
我的CPU是i5-3210M,主频2.5GHz,获取的数字是2435888,不是差不多么, 毕竟因为睿频技术,任务管理器中能看到CPU频率在2.3~2.7跳动
HeBanBei 2016-05-09
  • 打赏
  • 举报
回复
引用 1 楼 dustpg 的回复:
一般就是就是CPU的主频,不过现在CPI频率一般是变量(Intel的睿频技术),可以实际调用测试一下
我这前也以为是CPU的主频,但是实际调用测了一下。发现主频高的这个计数器的频率并不高。 所以才发了这个贴子。
dustpg 2016-05-09
  • 打赏
  • 举报
回复
一般就是就是CPU的主频,不过现在CPI频率一般是变量(Intel的睿频技术),可以实际调用测试一下

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧