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

问题描述

我长期使用 cachegrind 进行程序分析,最近又回去查看官方文档:https://valgrind.org/docs/manual/cg-manual.html

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

LL 缓存通常复制 L1 缓存的所有条目 [...] 这是 Pentium 芯片的标准配置,但 AMD Opterons、Athlons 和 Durons 使用独占的 LL 缓存 [...]

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

最近的处理器具有更好的分支预测器 [...] Cachegrind 的预测器设计是故意保守的,以便代表在更复杂的间接分支预测器广泛部署之前的大型处理器安装基础。特别是后期模型 Pentium 4s (Prescott)、Pentium M、Core 和 Core 2 比 Cachegrind 模型具有更复杂的间接分支预测器。

现在我想知道

  • 在最新一代 cpu 上进行开发时,这些选择中有多少仍然适用于 2021 年,
  • cachegrind 的实现是否已更新以反映最新的 cpu,但手册已过时,
  • cachegrind 在现代 cpu 上是否由于其对旧行为的模拟而显示偏斜的结果。

非常感谢任何见解!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...