38、不规则代码的价值轮廓引导步长预取及 Java 数组边界检查消除

不规则代码的价值轮廓引导步长预取及 Java 数组边界检查消除

1. 不规则代码的价值轮廓引导步长预取

1.1 性能对比

在对 CPU2000 整数程序在 Itanium 机器上的运行测试中,使用训练输入集(train - ref)获得的性能仅略低于使用参考输入集(ref - ref)获得的性能。通过 VPGSP(Value - Profile Guided Stride Prefetching)方法,我们观察到显著的性能提升,例如“181.mcf”有 1.55 倍的加速,“254.gap”有 1.15 倍的加速,“197.parser”有 1.08 倍的加速。与静态编译器预取和硬件预取方法相比,VPGSP 的性能提升要高得多。

1.2 加载分类

实验将分析的加载分为以下几类:
- SSST(Strong single stride loads):强单步长加载
- PMST(Phased multi - stride loads):分阶段多步长加载
- WSST(Weak single stride loads):弱单步长加载

平均而言,约 59%的分析加载是“强单步长”,约 5%是“分阶段多步长”,另外 2%是“弱单步长”。不过,不同的基准测试显示出显著不同的分布,例如 254.gap 基准测试中,45%的分析加载属于“分阶段多步长”类别,36%属于“弱单步长”类别,只有 17%属于“强单步长”类别。

1.3 性能指标图表

基准测试 SSST(%)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值