我正在尝试为低延迟工作负载设计一个基准(每个操作的中位数为数百纳米(。我很好奇使用rdtsc((和时间戳计数器测量设计基准的保真度。
这种方法的缺点或潜在问题是什么?
rdtsc
最严重的缺点是它非常特定于硬件。即使在支持该指令的硬件上,它也可能不会稳定增加,在不同的内核之间不同步,并且可能受到CPU状态的影响。
一般来说,如果您的CPU支持constant_tsc
、nonstop_tsc
和tsc_known_freq
,那么使用它进行延迟测量应该非常有效。