分支预测分析
背景
业务中在高频调用代码段会出现条件判断语句, 因此联想cpu架构中的分支预测功能, 进行简要分析....分析:
有序数组分支预测成功率提高24.48%, 接近100%. 说明分支预测成功率与逻辑局部性显著性相关, 测试CPU基于动态预测策略.
任务耗时倒数比与IPC比, 分支处理速度比基本一致....IF/ELSE对比
benchmark: 3.2e9无序数组条件遍历求和逻辑分别运行在IF和ELSE分支, 分支执行概率80%.
测试结果:
?...因为分支预测成功率为100%, 所以说明分支预测成功下平均单次分支逻辑语句的性能开销极低.
?...分析:
BitHack与有序数组O3优化, 无序数组O3优化性能开销基本相同.
?
总结
现代分支预测器在通用场景下的分支预测成功率平均值在70%以上, 逻辑局部性越明显, 分支预测成功率越高.