五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

淺談Linux環(huán)境下gcc優(yōu)化級(jí)別

發(fā)布日期:2022-05-15 12:01 | 文章來(lái)源:站長(zhǎng)之家

代碼優(yōu)化可以說(shuō)是一個(gè)非常復(fù)雜而又非常重要的問(wèn)題,以筆者多年的linux c開(kāi)發(fā)經(jīng)驗(yàn)來(lái)說(shuō)優(yōu)化通常分為兩個(gè)方面,一是人為優(yōu)化,也就是基于編程經(jīng)驗(yàn)采用更簡(jiǎn)易的數(shù)據(jù)結(jié)構(gòu)函數(shù)等來(lái)降低編譯器負(fù)擔(dān),二是采用系統(tǒng)自帶的優(yōu)化模式,也就是gcc - o系列,下面我將簡(jiǎn)述一下各級(jí)優(yōu)化的過(guò)程以及實(shí)現(xiàn)。

gcc - o1 首先o1上面還有一個(gè)o0,那個(gè)是不提供任何優(yōu)化,項(xiàng)目中幾乎不會(huì)使用,而o1使用就非常廣泛了,o1是最基本的優(yōu)化,主要對(duì)代碼的分支,表達(dá)式,常量來(lái)進(jìn)行優(yōu)化,編譯器會(huì)在較短的時(shí)間下將代碼變得更加短小,這樣體積就會(huì)變得更小,會(huì)減少內(nèi)存的占用率,在操作系統(tǒng)進(jìn)行內(nèi)存調(diào)度時(shí)就會(huì)更快。但是事情沒(méi)有絕對(duì)的優(yōu)點(diǎn),當(dāng)一個(gè)龐大的程序被拆碎細(xì)分的話(huà),內(nèi)存占用會(huì)大大增加,由于當(dāng)今系統(tǒng)大多數(shù)都是多線程,就會(huì)出現(xiàn)卡頓和反應(yīng)延遲。

gcc - o2 這個(gè)優(yōu)化級(jí)別是o1的進(jìn)階,在上一級(jí)的基礎(chǔ)上會(huì)進(jìn)行更嚴(yán)格的細(xì)分,最重要的是加入了寄存器的使用。寄存器是cpu中重要的組成部分,此外還有運(yùn)算器和控制器,計(jì)算機(jī)顧名思義,要進(jìn)行各種龐雜的計(jì)算,由于cpu速度較快,所以計(jì)算的中間結(jié)果都會(huì)保存在寄存器中,這樣可以大大提高系統(tǒng)的效率,但是寄存器造價(jià)高昂,數(shù)量有限,所以一般來(lái)說(shuō)程序不會(huì)放在寄存器中,另一種將代碼放在寄存器的方式是使用register修飾變量,適用于頻繁調(diào)用的變量。

gcc - o3 這個(gè)優(yōu)化屬于非常強(qiáng)大的優(yōu)化,因?yàn)榫幾g器會(huì)進(jìn)行預(yù)測(cè),對(duì)循環(huán)每一層的預(yù)測(cè),以便于將循環(huán)拆分,可以提高執(zhí)行效率。編譯器還會(huì)試圖用已有的值來(lái)代替未知的值,并且還會(huì)用加代替乘,因?yàn)檫\(yùn)算器的特性,乘法十分復(fù)雜耗時(shí)。當(dāng)然o3的缺點(diǎn)最明顯,那就是o3因?yàn)樵噲D預(yù)測(cè)程序的走向,可能會(huì)出現(xiàn)誤差,導(dǎo)致錯(cuò)誤和程序不可逆轉(zhuǎn)的走向。所以一般o3不建議使用。
以上就是關(guān)于優(yōu)化的三個(gè)等級(jí),對(duì)于優(yōu)化,系統(tǒng)的優(yōu)化還是機(jī)械的,程序員對(duì)于語(yǔ)言深刻的理解,巧妙地算法可能會(huì)更有意義。

總結(jié)

以上就是本文關(guān)于淺談Linux環(huán)境下gcc優(yōu)化級(jí)別的全部?jī)?nèi)容,希望對(duì)大家有所幫助。歡迎大家繼續(xù)參閱本站其他相關(guān)專(zhuān)題,感謝朋友們對(duì)本站網(wǎng)站的支持。

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開(kāi)通

自選配置、實(shí)時(shí)開(kāi)通

免備案

全球線路精選!

全天候客戶(hù)服務(wù)

7x24全年不間斷在線

專(zhuān)屬顧問(wèn)服務(wù)

1對(duì)1客戶(hù)咨詢(xún)顧問(wèn)

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部