加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

winapi – 如何在Win32中获取CPU周期数?

发布时间:2020-12-13 20:35:37 所属栏目:Windows 来源:网络整理
导读:在Win32中,有没有办法获得一个独特的cpu循环计数或类似的东西,对于多个进程/语言/系统/等是统一的. 我正在创建一些日志文件,但是必须生成多个日志文件,因为我们正在托管.NET运行时,并且我想避免从一个调用到另一个来进行日志记录.因此,我在想我只生成两个文
在Win32中,有没有办法获得一个独特的cpu循环计数或类似的东西,对于多个进程/语言/系统/等是统一的.

我正在创建一些日志文件,但是必须生成多个日志文件,因为我们正在托管.NET运行时,并且我想避免从一个调用到另一个来进行日志记录.因此,我在想我只生成两个文件,将它们组合起来,然后对它们进行排序,以获得涉及跨世界调用的连贯时间线.

但是,每次通话都不会增加GetTickCount,因此不可靠.是否有更好的号码,以便在排序时以正确的顺序接听电话?

编辑:感谢@Greg让我走上QueryPerformanceCounter的轨道,这就是诀窍.

您可以使用 RDTSC CPU指令(假设为x86).该指令给出了CPU周期计数器,但请注意它会非常快地增加到其最大值,然后重置为0.正如维基百科文章所提到的,最好使用 QueryPerformanceCounter功能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读