gpt4 book ai didi

java - 如何用Java收集AMD CPU Cache Hit Ratio?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:31:59 26 4
gpt4 key购买 nike

我正在用 Java 编写程序

在这个程序中,我正在读取和更改一组数据。这是代码示例:

public double computation() {
char c = 0;
char target = 'a';
int x = 0, y = 1;

for (int i = 0; i < data.length; i++) {
// Read Data
c = data[index[i]];

if (c == target)
x++;
else
y++;

//Change Value
if (Character.isUpperCase(c))
Character.toLowerCase(c);
else
Character.toUpperCase(c);

//Write Data
data[index[i]] = c;
}
return (double) x / (double) y;
}

顺便说一句,INDEX 数组以随机顺序包含 DATA 数组的索引以防止预取。我通过在 INDEX 数组中使用随机索引来强制错过我所有的缓存访问。

现在我想通过收集有关其命中率的信息来检查 CPU 缓存的行为。

是否有为此目的开发的工具?如果没有,有什么技巧吗?

最佳答案

在 Linux 上,可以通过 OProfile 收集此类信息.每个 CPU 都有性能事件计数器。在这里查看 AMD K15 系列 Activity 列表:http://oprofile.sourceforge.net/docs/amd-family15h-events.php

OProfile 定期对事件计数器和程序计数器进行采样。程序运行后,您可以分析发生了多少事件以及(统计)发生在什么程序位置。

OProfile 内置了 Java 支持。它与 Java JIT 交互并创建一个合成符号表来查找 Java 方法名称以获得生成的 JIT 代码的和平。

初始设置并不容易。如果有兴趣,我可以指导您完成或写更多关于它的内容。

关于java - 如何用Java收集AMD CPU Cache Hit Ratio?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12788717/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com