__builtin__expect()
作用:分支预判
if(__builtin_expect(a>0,0)){
func1();
}
func2()
- 绝大部分情况下,a>0为假,函数func1在绝大部分情况下不执行,完成了对代码的技能预判。
- cpu提前装载func2的指令,以达到优化和效率的目的。
本文介绍GCC内置函数__builtin_expect()的作用及使用方法。通过设置预期分支走向来指导编译器进行代码优化,提高程序运行效率。特别适用于大部分情况下已知分支走向的情况。
__builtin__expect()
作用:分支预判
if(__builtin_expect(a>0,0)){
func1();
}
func2()
2401
1068
414

被折叠的 条评论
为什么被折叠?