在Win32中,有没有办法获得一个独特的cpu循环计数或类似的东西,对于多个进程/语言/系统/等是统一的。
我正在创建一些日志文件,但是必须生成多个日志文件,因为我们正在托管.NET运行时,并且我想避免从一个调用到另一个来进行日志记录。因此,我认为我只生成两个文件,将它们组合起来,然后对它们进行排序,以获得涉及跨世界调用的连贯时间线。
但是,每次通话都不会增加GetTickCount,因此不可靠。是否有更好的号码,以便在排序时以正确的顺序接听电话?
编辑:感谢@Greg把我带到QueryPerformanceCounter的轨道,这就是诀窍。
发布于 2019-06-24 15:10:52
System.Diagnostics.Stopwatch.GetTimestamp()返回自时间原点以来的CPU周期数(可能在计算机启动时,但我不确定)并且我从未见过它在2次调用之间没有增加。
CPU Cycles将特定于每台计算机,因此您无法使用它来合并两台计算机之间的日志文件。
https://stackoverflow.com/questions/-100001280
复制相似问题