我正在尝试为低延迟工作负载设计基准(每个操作的中位数为数百纳米)。我很好奇使用 rdtsc() 和时间戳计数器测量设计基准的保真度。
这种方法有哪些缺点或潜在问题?
最佳答案
rdtsc
最严重的缺点是它非常特定于硬件。即使在支持此指令的硬件上,它也可能不会稳定增加、不同内核之间不同步并且可能会受到 CPU 状态的影响。
通常,如果您的 CPU 支持 constant_tsc
、nonstop_tsc
和 tsc_known_freq
,使用它进行延迟测量应该会非常高效。
关于c++ - 使用 rdtsc 进行基准测试有什么缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53012055/