为了进行基准测试,我使用
rdtsc
来确定在关键循环内执行某些代码块所花费的伪时间。由于我的代码可以在任何时候在进程之间重新调度,因此我希望通过仅在发现在微观测量的开始和停止之间更改了 CPU 时转储数据来最小化噪音。
有没有 x86 指令可以用来识别我正在运行的 CPU/核心?是否有一些可以给我一个唯一标识符或 CPU#和 core#等信息的东西。
显然,cpuid
不再提供该信息,因此我正在寻找替代方案。
GetCurrentProcessorNumber
和sched_getcpu
。 - user781847