只是在
linux内核中看到这个结构,我无法得到它的含义.
110 return unlikely(sl->sequence != start);
我知道可能/不太可能使用此处描述的__builtin_expect函数:
http://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
You may use __builtin_expect to provide the compiler with branch prediction information.
但是对于无条件分支,哪种分支预测提示是可能的?
解决方法
只是在这里猜测,但想象一下编译器内联函数,你在调用代码中有这个:
if (functionUsingUnlikelyForReturn()) { // Do something } else { // Do something different }
那么分支预测要注意提示是完全合理的.