#define likely(x) __builtin_expect(!!(x), 1)也就是說明x==1是“經常發生的”或是“很可能發生的”。
使用likely ,執行if後面語句的可能性大些,編譯器將if{}是的內容編譯到前面, 使用unlikely ,執行else後面語句的可能性大些,編譯器將else{}裏的內容編譯到前面。這樣有利於cpu預取,提高預取指令的正確率,因而可提高效率。
likely(x)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
關於c語言的free函數
wangxiaokunNO1
2020-07-04 00:23:32
實用開放源代碼庫分享
泡在妞里的Feel
2020-06-21 21:24:57
c語言中include與“”的區別
wangxiao5018
2020-05-30 18:47:38
談談基類與子類的this指針(C++)
王的璋
2020-02-23 19:46:51
c++編譯 extra qualification '類名' on member '變量名' error
王的璋
2020-02-23 19:46:51
typedef的用法
漫步者2011
2020-02-22 10:58:51
十六進制和十進制有符號數轉換
Z.WADE
2019-09-26 19:56:59
運行C程序生成的exe文件閃退解決方案
WOLO_CSDN
2019-01-13 00:21:21
const關鍵字用法作用總結
WOLO_CSDN
2018-11-04 10:05:55
使用getopt_long()從命令行獲取參數,struct option
漫步者2011
2018-09-04 16:52:57
結構體定義,初始化和賦值
llisq
2018-09-03 18:01:23
include 包含
llisq
2018-09-03 18:01:23