首页 > 解决方案 > 使用 rdtsc 做基准测试有什么缺点?

问题描述

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

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

标签: c++performancebenchmarkinglow-latency

解决方案


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

通常,如果您的 CPU 支持constant_tsc,nonstop_tsctsc_known_freq,使用它进行延迟测量应该是非常有效率的。


推荐阅读