无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Godot Source Code Note 2

2023-06-26 16:30 作者:中專(zhuān)人  | 我要投稿

宏函數(shù)likely(x)和unlikely(x)

先貼一段Godot中的代碼:

GCC編譯器可以對(duì)__GUNC__宏進(jìn)行條件編譯,啟用unlikely(x)和likely(x)宏函數(shù)。

背景知識(shí):現(xiàn)代CPU流水線(xiàn)中為加快指令運(yùn)行,一般存在分支預(yù)測(cè)機(jī)制。代碼中某些分支是經(jīng)常發(fā)生或很少發(fā)生的,編譯器與CPU對(duì)此并不知曉,因此需要程序員顯示告知以輔助CPU或編譯器更好地分支預(yù)測(cè),減少分支預(yù)測(cè)失敗帶來(lái)的懲罰。


likely與unlikely的使用:

在條件分支的判斷表達(dá)式中使用,likely(x)代表此分支更易被執(zhí)行,unlikely(x)代表此分支不易被執(zhí)行。

此處的unlikely(!disconnected)說(shuō)明!disconnected條件很少成立,即大多數(shù)情況下disconnected都是true。

C++20中正式將likely和unlikely確定為關(guān)鍵字。


如侵刪。
歡迎評(píng)論指正。




Godot Source Code Note 2的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
南陵县| 阳新县| 陆河县| 成武县| 彭泽县| 德保县| 盐山县| 揭西县| 濮阳市| 明水县| 红安县| 新丰县| 荃湾区| 禄劝| 邵武市| 绥滨县| 门源| 霍山县| 通化市| 井陉县| 冷水江市| 墨玉县| 涟水县| 新巴尔虎右旗| 万山特区| 雷州市| 永春县| 韶山市| 拉萨市| 沅陵县| 玉林市| 区。| 南靖县| 定安县| 广州市| 余姚市| 莎车县| 莒南县| 凤城市| 白朗县| 赣榆县|