对于静态分支预测,总是假设没有执行分支,而对于动态分支预测,如果之前执行了分支,则更有可能再次执行。但我不能提出这样一种情况,即这是有用的?哪些应用程序将从中受益?为什么不直接使用静态分支预测呢?
boolean b = compute something;
:
for (int j=0; j<1000000; j++)
if (b) one statement;
else another statement;
if
每次都会导致条件分支具有相同的执行/未执行结果,但每次运行的结果可能会有所不同。
(我知道用if
控制几个空闲循环可以更好地编写代码,但这不是重点(