可能重复:
是否可以告诉分支预测器跟随分支的可能性有多大?
因此,如果分支预测发挥了如此重要的作用(“分支预测器在许多现代流水线微处理器架构(如 x86)中实现高效性能方面发挥着关键作用。” wiki),那么必须有一种优化和帮助的方法是有道理的对的?
我会直截了当地问我的问题:
你能告诉分支预测器你最有可能采取的路线吗?
我举个例子:
如果这是用户第一次运行它,我的程序会在每次加载时检查。很可能应该缓存的分支是标记为“这不是第一次”的分支。
在这个例子中,这没什么大不了的,也许算法可以找出要走的路线,但是在有很多分支的复杂应用程序中,我不太确定算法会在 10 分中获得 10 分。
我们能以某种方式优化它吗?也许标记一个分支进行缓存?
顺便说一句,我要求的是教育目的,也许有一天会要求时间紧迫的程序。