GCC 中的分支预测优化
Intel 架构提供了一种影响生成代码中的分支预测的机制。通过 __builtin_expect() 函数,GCC 可以强制分支预测按某种方式进行。
__builtin_expect() 的语法为:
long __builtin_expect (long exp, long c)
其中:
例如,强制分支预测始终采用以下 C 代码中的“true”分支:
if (normal) { doSomethingNormal(); } else { exceptionalCase(); }
您将使用以下语句:
if (__builtin_expect(normal, 1))
为了简化用法,通常定义宏:
#define likely(x) __builtin_expect (!!(x), 1) #define unlikely(x) __builtin_expect (!!(x), 0)
但是,需要注意的是:
以上是如何增强GCC中的分支预测优化?的详细内容。更多信息请关注PHP中文网其他相关文章!