社区
英特尔边缘计算技术
帖子详情
请教:怎么才能测出程序运行时cache的命中率呢?
yutia3n
2007-01-17 08:30:17
请教诸位一个问题,用什么方法或者软件能够的到intel平台上程序运行时的cache命中率?
请大家不吝赐教。
...全文
1447
5
打赏
收藏
请教:怎么才能测出程序运行时cache的命中率呢?
请教诸位一个问题,用什么方法或者软件能够的到intel平台上程序运行时的cache命中率? 请大家不吝赐教。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
i_am_xiaoga
2007-02-06
打赏
举报
回复
cache miss一般有两种表示方法,miss rate和每千条指令的miss次数。以L1为例:
L1 cache miss rate
= 1st-Level cache load miss retired / loads retired
即L1 miss次数比上总的load次数。
每千条指令的L1 miss次数
= 1000 * 1st-Level cache load miss retired / Instructions retired 。
1st-Level cache load miss retired ,loads retired,Instructions retired 都可以做为event测出来。
Simbao
2007-01-31
打赏
举报
回复
那个程序是如何实现的?
没有这方面的汇编指令吧?
songbd
2007-01-29
打赏
举报
回复
在Linux环境中 可以用Oprofile工具。免费的哈。^_^
icansaymyabc
2007-01-19
打赏
举报
回复
Re:亲爱的icansaymyabc
非常感谢你给我的cache命中率测试问题的留言。今天才拿到intel vtune,第一次使用,希望你能把设置的步骤给我介绍详细一点。如蒙赐教,不胜感激。....
---------------------------------------
安装好的VTune菜单里有一个教程 Getting Started Tutorial
你必须把它看完看懂。
之后用 Analyzer projects 中的 Sampling Wizard 创建一个项目。
记住要勾选 Modify default configuration when done wizard。
然后在配置对话框的左边选中 Sampling,再点中间的 Configure 按钮,
又弹出一个配置框,它的 Event Ratios 和 Events 页里有非常多种类的计数器可供选择。
Event Ratios 返回的是比率。Events 返回原始计数值。
要看Cache,在Event Ratios 中选 Memory Event Ratios 类别的
1st level Cache Load Hit Rate
1st level Cache Load Miss Performance Impact
同时选中 General 类的
2nd-Level Cache Load Hit Rate
2nd-Level Cache Load Misses per Instructions Retired
在 Events 里选择 All events 类, 关于 Cache 的计数器都是排在前面的。
icansaymyabc
2007-01-18
打赏
举报
回复
手动配置 VTune 的 Sampling 项目的参数,可以选出 Cache 失败率的计数器来。
java创建对象的五种方式
java创建对象的五种方式
Java中五种创建对象的方式
本文介绍了Java中五种创建对象的方式及其特点:1)new关键字直接调用构造函数;2)反射机制实现动态创建;3)clone()方法实现对象复制;4)反序列化恢复对象;5)Unsafe类绕过构造函数创建。这些方式在构造函数调用、适用场景等方面各有不同,其中new关键字最常用,反射适用于框架,克隆用于副本创建,反序列化适合持久化,Unsafe则属于底层操作。开发者应根据具体需求选择合适方式,注意处理深浅拷贝、异常捕获及安全风险等问题。
Java创建对象的五种方式
Java创建对象的五种方式 new 关键字 反射() Constructor.newInstance 克隆(Clone方法) 反序列化 动态代理 1、new关键字 通过new关键字来实例化对象是最简单的创建对象的方式,该方式可以调用任意的构造器来创建实例。 public class Main { public static void main(String[] args) { City city= new City(); } } 2、Class.newInstanc
JAVA创建对象的五种方式
Java创建对象的五种方式
Java 创建对象的五种方式
我们日常生活中会创建很多对象,但是这个对象和你理解的那么对象不一样,因为作者不是女娲,不能造人。作者只是
程序
员,他只能在 Java 中创建对象。那么我问你一个问题,你知道 Java 中如何创建对象吗?这个问题仿佛是给 Java 新手来写的,好像有点瞧不起在座各位的样子,嗯。。。那么我换种问法好了,毕竟看我公众号的人都是将来月入 10w 的大佬。你知道 Java 中有哪几种创建对象的方式吗?诶?这个问题有点意思,平常我们用的最多的就是使用new来创建对象了,这是第一种方式;
英特尔边缘计算技术
568
社区成员
7,024
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章