使用rdtsc进行基准测试有哪些弊端?

时间:2018-10-26 15:35:44

标签: c++ performance benchmarking low-latency

我正在尝试为低延迟工作负载设计一个基准(每个操作的中位数为数百纳秒)。我对使用rdtsc()和时间戳计数器测量设计基准的保真度感到好奇。

这种方法的缺点或潜在的问题是什么?

1 个答案:

答案 0 :(得分:1)

rdtsc的最严重缺点是它非常依赖于硬件。即使在支持该指令的硬件上,它也可能不会稳定增加,在不同内核之间不同步,并且可能会受到CPU状态的影响。

通常,如果您的CPU支持constant_tscnonstop_tsctsc_known_freq,则将其用于延迟测量应该会非常有效。