自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

BOLT 合并到 LLVM,優(yōu)化二進(jìn)制文件以提高性能

開(kāi)發(fā) 開(kāi)發(fā)工具
Facebook 開(kāi)發(fā)的工具 BOLT 現(xiàn)已被合并到 LLVM 的 mono 倉(cāng)庫(kù),共包含 89.5 萬(wàn)行新代碼;作為 LLVM 的上游,以促進(jìn)其未來(lái)發(fā)展。

Facebook 開(kāi)發(fā)的工具 BOLT 現(xiàn)已被合并到 LLVM 的 mono 倉(cāng)庫(kù),共包含 89.5 萬(wàn)行新代碼;作為 LLVM 的上游,以促進(jìn)其未來(lái)發(fā)展。

作為積極貢獻(xiàn) Linux 內(nèi)核的廠商,F(xiàn)acebook 的工程師近年來(lái)一直在研究 BOLT(可以追溯到 2018 年),致力于通過(guò)優(yōu)化 GCC 和 Clang 生成的二進(jìn)制文件的代碼布局來(lái)加快 Linux 二進(jìn)制文件的速度,以提高 CPU 緩存使用率和其他考慮因素。BOLT 使用了幾個(gè) LLVM 庫(kù),但在過(guò)去的幾年里一直在樹(shù)外開(kāi)發(fā)。

BOLT 即"Binary Optimization and Layout Tool"(二進(jìn)制優(yōu)化和布局工具)的縮寫,能夠在配置文件后重新排列可執(zhí)行文件,產(chǎn)生比編譯器的 LTO 和 PGO 優(yōu)化所能達(dá)到的更快性能。

而據(jù)了解,自 2020 年以來(lái),F(xiàn)acebook 方面就開(kāi)始致力于將 BOLT 作為一個(gè)新的子項(xiàng)目納入 LLVM 的上游。與此同時(shí),其甚至圍繞 BOLT 優(yōu)化 Linux 內(nèi)核等領(lǐng)域,取得了一些不錯(cuò)的進(jìn)展。在此前的 Linux Plumbers Conference 大會(huì)上,有來(lái)自 Facebook 的工程師討論了對(duì)內(nèi)核的 BOLT 處理,帶來(lái)的性能提升如下圖所示:

從數(shù)據(jù)可以看出,這是一項(xiàng)值得持續(xù)投入研究的工作,因?yàn)?Facebook 在 PGO+LTO 編譯器優(yōu)化之上通過(guò) BOLT 優(yōu)化獲得了"兩位數(shù)的速度提升"。此處的速度提升是通過(guò)優(yōu)化可執(zhí)行文件的代碼布局來(lái)實(shí)現(xiàn)的,可更有效地使用硬件頁(yè)面和指令緩存。在進(jìn)入 LLVM 的上游之后,BOLT 的前景也變得更令人期待。

關(guān)于其設(shè)計(jì)的更多背景信息和技術(shù)細(xì)節(jié),可參見(jiàn) Facebook 的這份研究論文。Facebook 在其數(shù)據(jù)中心使用 BOLT 的報(bào)告中說(shuō):"對(duì)于數(shù)據(jù)中心的應(yīng)用,BOLT 在配置文件引導(dǎo)的函數(shù)重新排序和 LTO 的基礎(chǔ)上實(shí)現(xiàn)了高達(dá) 7.0% 的性能加速。對(duì)于 GCC 和 Clang 編譯器,我們的評(píng)估顯示 BOLT 在 FDO 和 LTO 的基礎(chǔ)上將其二進(jìn)制文件的速度提高了 20.4%,如果二進(jìn)制文件是在沒(méi)有 FDO 和 LTO 的情況下構(gòu)建的,則提高了 52.1%。"

本文轉(zhuǎn)自O(shè)SCHINA

本文標(biāo)題:BOLT 合并到 LLVM,優(yōu)化二進(jìn)制文件以提高性能

本文地址:https://www.oschina.net/news/178443/bolt-llvm

責(zé)任編輯:未麗燕 來(lái)源: 開(kāi)源中國(guó)
相關(guān)推薦

2023-09-18 23:50:25

二進(jìn)制文件裁剪Layout

2009-12-16 10:49:42

Ruby操作二進(jìn)制文件

2009-08-12 18:06:53

C#讀取二進(jìn)制文件

2020-09-14 08:59:11

SAN存儲(chǔ)存儲(chǔ)區(qū)域網(wǎng)絡(luò)

2013-04-28 15:37:35

JBoss

2024-02-01 09:04:12

2009-12-10 09:24:50

PHP函數(shù)fwrite

2020-05-22 18:00:26

Go二進(jìn)制文件編程語(yǔ)言

2023-12-26 15:10:00

處理二進(jìn)制文件

2009-11-02 11:27:42

VB.NET二進(jìn)制文件

2018-10-22 14:37:16

二進(jìn)制數(shù)據(jù)存儲(chǔ)

2009-02-27 09:37:33

Google二進(jìn)制代碼

2022-10-31 08:02:42

二進(jìn)制計(jì)算乘法

2022-07-26 13:00:01

安全符號(hào)源代碼

2017-04-11 10:48:53

JS二進(jìn)制

2011-08-29 11:51:12

DBOperate將圖片以二進(jìn)制存入數(shù)據(jù)

2010-10-13 15:45:23

MySQL二進(jìn)制日志

2010-06-09 13:02:29

MySQL啟用二進(jìn)制日

2019-03-14 15:38:19

ReactJavascript前端

2017-12-21 10:52:52

nginx日志還原
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)