歡迎您光臨本站 註冊首頁

LLVM Clang 11 預編譯頭新選項將帶來大幅構建效能提升

←手機掃碼閱讀     admin @ 2020-08-10 , reply:0

科技外媒 phoronix 跟蹤了 LLVM/Clang 11 原始碼更新中的一個構建新特性,如果將 clang-cl 驅動用於 MSVC 或通過其它方式使用預編譯頭(Pre-Compiled Headers,PCH)特性,則可以使用新選項來顯著加快構建時間

這一特性最早提交於去年 10 月,今年 4 月又被調整後 commit,並進入 LLVM 11 RC。主要原理是新增選項以例項化 PCH 中已經存在的模板。新增 -fpch-instantiate-templates,在生成預編譯頭時已經例項化模板,而不是在每次使用預編譯頭時都例項化。

預設情況下僅為 clang-cl 啟用此功能。MSVC 通過使用空的 .cpp 檔案進行編譯來建立 PCH ,這意味著在構建 PCH 時會例項化模板,因此 .h 需要自包含,否則可能導致問題:test/PCH/pch-instantiate-templates-forward-decl.cpp 無法編譯。

提出這一改進的開發者測試了多次,表示這可以節省 20-30% 的構建時間。

具體可以檢視:https://reviews.llvm.org/rGa45f713c673001abb4fe0612b909c698073eb356。另外,LLVM 11.0/Clang 11.0 預計下個月釋出。


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/117812/llvm-fpch-instantiate-templates
LLVM Clang 11 預編譯頭新選項將帶來大幅構建效能提升已經有175次圍觀

http://coctec.com/news/soft/show-post-248120.html