c++ - 使用 rdtsc 进行基准测试有什么缺点?

标签 c++ performance benchmarking low-latency

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

这种方法有哪些缺点或潜在问题?

最佳答案

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

通常,如果您的 CPU 支持 constant_tscnonstop_tsctsc_known_freq,使用它进行延迟测量应该会非常高效。

关于c++ - 使用 rdtsc 进行基准测试有什么缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53012055/

相关文章:

c++ - 一个概念的lambdification是改进还是不好的做法?

javascript - 使用 img 标签创建文本节点的子字符串时防止下载图像

java - Fast MD5 Library 是不是比 Java 7 MD5 更快?

rust - 为什么我的 Rust 版本 "wc"比 GNU coreutils 的版本慢?

c++ - 在继承模板类中使用下标[]运算符

c++ - 执行 switch 语句?

python - 将报告指标(数据库查询等)的 Django 性能测试套件

Python @property vs 方法性能——使用哪一个?

c++ - 如何测量 FLOPS

c++ - 如何使用 boost::spirit::x3 测试字符串的有效双重内容?