首页 > 解决方案 > 动态分支预测什么时候有用?

问题描述

对于静态分支预测,总是假设分支没有被采用,而对于动态分支预测,如果之前已经采用了分支,那么它更有可能再次被采用。但是我想不出一个有用的情况?什么应用程序将从中受益?为什么不只使用静态分支预测?

标签: cpu-architecturebranch-prediction

解决方案


    boolean b = compute something;
         :
    for (int j=0; j<1000000; j++)
        if (b) one statement;
        else another statement;

if将导致每次都有相同的采用/未采用结果的条件分支,但这可能会因一次运行而异。

(我知道通过if控制几个 if-free for 循环可以更好地编写代码,但这不是重点)


推荐阅读