只是在linux内核中看到这个结构,我无法理解它是什么意思。
110 return unlikely(sl->sequence != start);
我知道
likely
/
unlikely
由
__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
}
那么分支预测注意到提示是完全合理的。