第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么循環(huán)總是被編譯成“做…?而“風(fēng)格”(尾跳)?

為什么循環(huán)總是被編譯成“做…?而“風(fēng)格”(尾跳)?

為什么循環(huán)總是被編譯成“做…?而“風(fēng)格”(尾跳)?當(dāng)試圖理解程序集(在編譯器優(yōu)化中)時(shí),我看到了以下行為:像這樣一個(gè)非?;镜难h(huán)outside_loop;while (condition) {      statements;}常被編譯成(偽碼)    ; outside_loop     jmp loop_condition    ; unconditional loop_start:     loop_statements loop_condition:     condition_check     jmp_if_true loop_start     ; outside_loop但是,如果沒(méi)有打開(kāi)優(yōu)化,它將編譯成通常可以理解的代碼:loop_condition:     condition_check     jmp_if_false loop_end     loop_statements     jmp loop_condition  ; unconditional loop_end:根據(jù)我的理解,編譯后的代碼更像這樣:goto condition;do {     statements;     condition:}while (condition_check);我看不到巨大的性能提升或代碼可讀性提升,那么為什么經(jīng)常會(huì)出現(xiàn)這種情況呢?是否有此循環(huán)樣式的名稱(chēng),例如“跟蹤條件檢查”?
查看完整描述

3 回答

?
慕姐8265434

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊

或者失敗,至少進(jìn)入和超越循環(huán),而不是完全展開(kāi)的東西,往往運(yùn)行到1000多個(gè)指令。誠(chéng)然,這是一種時(shí)空權(quán)衡-但GCC已經(jīng)通過(guò)不展開(kāi)環(huán)路來(lái)有效地在這個(gè)頻譜上定位,因此它與同時(shí)生成巨大的intos和/或outros是非常不一致的。

查看完整回答
反對(duì) 回復(fù) 2019-06-24
?
吃雞游戲

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

直到GCC沒(méi)有在默認(rèn)情況下展開(kāi)循環(huán)。不過(guò),我似乎確實(shí)在某些場(chǎng)景中展開(kāi),例如嵌套循環(huán)和矢量化。這太糟糕了,因?yàn)樘貏e是矢量化,你最終會(huì)得到一些東西,比如一個(gè)巨大的序幕和一個(gè)巨大的尾聲,然后是一個(gè)小的沒(méi)有展開(kāi)的循環(huán)體。因此,代碼的大小是巨大的,但都是為了只執(zhí)行一次的部分的利益。

查看完整回答
反對(duì) 回復(fù) 2019-06-24
  • 3 回答
  • 0 關(guān)注
  • 586 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)