1. 程式人生 > >likely()與unlikely()函式的作用

likely()與unlikely()函式的作用

#define likely(x)  __builtin_expect(!!(x), 1)

也就是說明x==1是“經常發生的”或是“很可能發生的”。

所以使用likely ,執行if後面語句的可能性大些,編譯器將if{}是的內容編譯到前面

使用unlikely ,執行else後面語句的可能性大些,編譯器將else{}裡的內容編譯到前面。

 

以上操作是有利於cpu預取,提高預取指令的正確率,因而可提高效率。