【发布时间】:2012-07-06 19:57:26
【问题描述】:
我问了一个关于减少未命中预测的问题。
Jerry Coffin 给了我一个令人印象深刻的答案。
About reducing the branch miss prediciton
二分查找是无分支的,但是当我在我的集合交集算法中使用它时,我发现它比原来的二分查找慢得多。是什么原因?
更新:
我使用以下事件来测试 i7 处理器的分支未命中预测数:BR_MISS_PRED_RETIRED。我发现无分支版本的分支缺失大约是原始版本的一半。
对于缓存未命中:我使用 LLC_MISSES 来测试最后一级缓存未命中的数量,也是一半。
但是时间是原来的2.5倍左右。
【问题讨论】:
-
在不执行乱序执行的 CPU 上,你可能会得到完全不同的结果,比如 atom..