歡迎您光臨本站 註冊首頁

GCC 並行編譯大型原始碼檔案功能的改進

←手機掃碼閱讀     admin @ 2020-07-31 , reply:0

雖然 GNU Make 和其他構建系統可以很好地進行擴充套件以併發編譯大量檔案,不過 GCC 自身也一直在讓 GCC 的更多工作在編譯大型原始碼檔案時能夠並行執行。

早在2019年夏天,其團隊就已開始嘗試解決並行化遇到的瓶頸,讓更多的編譯器工作在更大的原始碼檔案中能夠並行執行,並取得了不錯的進展。曾參與開發的學生開發者 Giuliano Belinassi 現在又回到了 GSoC 並繼續此項工作。

Giuliano 近日提供了關於“自動並行編譯可行性”的第二份報告,該報告旨在加快大檔案的編譯以及為 GNU Jobserver 進行整合。

該程式碼目前可正常執行,其他開發者也可以通過 GCC 的分支版本進行嘗試。資料顯示,在四核 Intel Core i7 移動處理器上的提速範圍從輕微減速提升到原始 GCC 程式碼的 1.9 倍速度左右。目前,GCC 的 C、C++ 和 Fortran 前端都支援這項工作,而其他前端可能會在一段時間內出現。

Giuliano 在最新的狀態報告中總結道:“目前專案進展順利,儘管諸如禁用 static promotion 之類的保守方法可能會對並行性潛力產生負面影響。未來解決此問題的方法之一是將最終的彙編檔案傳送回主 GCC 程序,然後再串聯成一個彙編檔案,而不是對多個彙編檔案進行部分連結。這當然會增加程序間通訊的成本,但最終的結果應該是值得的。”

最後,希望這項工作能夠繼續順利進行,並且 GCC 的並行化改進在不久的將來最終成為上游專案。

[admin ]

來源:OsChina
連結:https://www.oschina.net/news/117588/gcc-2020-more-parallel-large-source-files
GCC 並行編譯大型原始碼檔案功能的改進已經有84次圍觀

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