小编leo*_*osh的帖子

valgrind 的 cachegrind 仍然是 2021 年的首选工具吗?

我是用于程序分析的cachegrind的长期用户,最近又再次查看了官方文档: https: //valgrind.org/docs/manual/cg-manual.html

其中多次引用了 2000 年代中期的 CPU 模型、实现决策和仿真模型,并且还声明“现代”处理器上的某些行为发生了变化:

LL 高速缓存通常会复制 L1 高速缓存的所有条目[...]这是奔腾芯片上的标准,但 AMD Opterons、Athlons 和 Durons 使用专用的 LL 高速缓存[...]

Cachegrind 模拟了 2004 年左右主流桌面/服务器处理器的典型分支预测器。

较新的处理器具有更好的分支预测器 [...] Cachegrind 的预测器设计故意保守,以便代表大量已安装的处理器,这些处理器早于更复杂的间接分支预测器的广泛部署。特别是,最新型号的 Pentium 4s (Prescott)、Pentium M、Core 和 Core 2 具有比 Cachegrind 建模更复杂的间接分支预测器。

现在我想知道

  • 在最新一代 CPU 上进行开发时,有多少选择在 2021 年仍然适用,
  • cachegrind 的实现是否已更新以反映最新的 CPU,但手册已过时,
  • 由于对遗留行为的模拟,cachegrind 在现代 CPU 上是否会显示出偏差的结果。

任何见解都将不胜感激!

profiling valgrind cpu-architecture branch-prediction cachegrind

6
推荐指数
0
解决办法
404
查看次数