最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
包头市| 太仓市| 松原市| 曲阜市| 宜兰市| 定兴县| 彭泽县| 古丈县| 荃湾区| 鄢陵县| 都昌县| 汤阴县| 登封市| 南汇区| 保靖县| 离岛区| 永顺县| 增城市| 平武县| 肇州县| 吉安县| 抚宁县| 广平县| 文安县| 巴东县| 黄石市| 平原县| 桐城市| 海宁市| 平遥县| 洪泽县| 宁阳县| 西城区| 宝丰县| 丽水市| 大同市| 通道| 大港区| 成武县| 高密市| 仪陇县|