likely(x)

#define likely(x) __builtin_expect(!!(x), 1)也就是說明x==1是“經常發生的”或是“很可能發生的”。
使用likely ,執行if後面語句的可能性大些,編譯器將if{}是的內容編譯到前面, 使用unlikely ,執行else後面語句的可能性大些,編譯器將else{}裏的內容編譯到前面。這樣有利於cpu預取,提高預取指令的正確率,因而可提高效率。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章