无码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ó)家法律
商丘市| 泰州市| 临海市| 桃江县| 仁布县| 五台县| 衡水市| 东台市| 平舆县| 象州县| 珠海市| 象山县| 临颍县| 鄂州市| 大英县| 买车| 北川| 错那县| 栾川县| 正镶白旗| 林周县| 修水县| 华宁县| 彰武县| 弥渡县| 勐海县| 靖边县| 社旗县| 怀仁县| 德阳市| 班玛县| 登封市| 蓬溪县| 济宁市| 怀化市| 万年县| 宝应县| 天祝| 那坡县| 双城市| 凤翔县|