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

歡迎光臨散文網(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ó)家法律
广元市| 黔西县| 邯郸市| 元江| 雅安市| 苏尼特左旗| 宜春市| 新和县| 沁水县| 南城县| 厦门市| 寿光市| 治县。| 旺苍县| 长宁县| 赫章县| 和田县| 叙永县| 北海市| 华宁县| 天柱县| 巫山县| 台山市| 汝南县| 惠安县| 牙克石市| 曲阳县| 贡山| 乐至县| 宜阳县| 建平县| 清水河县| 都江堰市| 乐昌市| 开化县| 科技| 大埔县| 饶河县| 陇南市| 民县| 舞钢市|