对于静态分支预测,始终会假设未采用该分支,而对于动态分支预测,如果该分支是在之前进行的,则更有可能再次采用该分支。但是我不能提出一个有用的情况吗?哪些应用程序将从中受益?为什么不只使用静态分支预测?
答案 0 :(得分:1)
boolean b = compute something;
:
for (int j=0; j<1000000; j++)
if (b) one statement;
else another statement;
if
会导致条件分支每次都具有相同的采用/未采用的结果,但是每次运行可能会有所不同。
(我知道可以通过if
控制几个if-free for循环来编写更好的代码,但这不是重点)