官术网_书友最值得收藏!

  • 軟件系統(tǒng)優(yōu)化
  • 郭健美 黃波 劉通宇 林曉東 趙鵬
  • 446字
  • 2025-08-07 15:12:56

1.3 編譯器的不同優(yōu)化級(jí)別

常用的編譯器(如GCC、Clang以及ICX)實(shí)現(xiàn)中內(nèi)嵌了許多程序優(yōu)化手段,調(diào)用這些優(yōu)化手段的一個(gè)常用方法是利用“-O”選項(xiàng)接上不同的優(yōu)化級(jí)別來(lái)對(duì)程序進(jìn)行編譯優(yōu)化。編譯命令如下所示:

不同的優(yōu)化級(jí)別往往包含不同的優(yōu)化手段。采取的優(yōu)化選項(xiàng)級(jí)別越高,編譯器就會(huì)采取更多的優(yōu)化手段來(lái)嘗試對(duì)程序進(jìn)行優(yōu)化。這些優(yōu)化手段通常能夠較為顯著地提升程序的執(zhí)行效率,從而獲得更好的運(yùn)行性能。表1.4展示了采用ICX編譯器對(duì)代碼1.4進(jìn)行不同級(jí)別的編譯優(yōu)化后的運(yùn)行時(shí)間的結(jié)果。從結(jié)果可見(jiàn),隨著編譯優(yōu)化級(jí)別從-O0上升到-O2,程序的運(yùn)行性能也得到了顯著提升。但是,在開(kāi)啟-O3選項(xiàng)以后,程序的運(yùn)行性能相比于開(kāi)啟-O2選項(xiàng)后的性能反而有小幅度下降。常用的編譯器在開(kāi)啟-O3選項(xiàng)以后,往往會(huì)采用更為激進(jìn)的優(yōu)化手段來(lái)對(duì)程序進(jìn)行優(yōu)化。然而,采用-O3選項(xiàng)生成代碼的運(yùn)行效率不一定比采用-O2選項(xiàng)生成代碼的運(yùn)行效率高,這取決于被編譯程序本身以及編譯器的具體實(shí)現(xiàn)。接下來(lái),我們選擇性能結(jié)果最好的-O2選項(xiàng)作為后續(xù)實(shí)驗(yàn)的編譯優(yōu)化級(jí)別。

表1.4 不同編譯優(yōu)化級(jí)別對(duì)運(yùn)行時(shí)間的影響

主站蜘蛛池模板: 安国市| 勃利县| 恭城| 出国| 饶河县| 扎囊县| 昌乐县| 嘉义市| 绥宁县| 安龙县| 吴堡县| 大港区| 蒙城县| 怀化市| 新和县| 襄垣县| 繁昌县| 获嘉县| 博野县| 西和县| 玉屏| 双柏县| 松滋市| 当阳市| 平定县| 东乡族自治县| 连城县| 囊谦县| 莱西市| 河北区| 韶关市| 涿州市| 大冶市| 镇坪县| 云和县| 南雄市| 石渠县| 固镇县| 屏南县| 汝州市| 水富县|