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中文網其他相關文章!