這是一個理論問題。不同機器之間的拆分編譯
比方說,我有1000臺Raspberry Pi Zero計算機,我希望他們都能編譯一個巨大的C++項目。我可以向每臺機器發送一個源文件,以便編譯所需的每個依賴項(頭文件),並使本機僅編譯一個單元以生成obj
文件。在生成所有obj
文件後,我需要將它們鏈接起來。我不確定我可以分割一個連接步驟,對我來說,它看起來像一個單一的過程,但我們可以說我有一個專用的強大的單機來做到這一點。
所以這個問題 - 它會在理論上起作用嗎?我的項目編譯速度會快1000倍嗎?鏈接過程是否很重?與預處理器/編譯步驟相比,需要多少時間?
我們這樣做(雖然與Raspberry Pi不同,但是具有全功能的計算機),並且每當需要重建巨大的代碼庫時,都可以加快編譯速度。雖然不是1000x,但我們不使用那麼多節點。此外,雖然我們使用一些家庭建立系統,但我不相信沒有這種支持的標準構建系統存在。 – Petr
是的,它們存在。我們使用IncrediBuild,但許可證實際上是昂貴的,正如我之前提到的,我的問題比理論更具理論性。 – nikitablack