並行編譯加快 VS C++ 項目的編譯速度

最近編譯的項目都比較大,話說自己的電腦配置還行,但編譯所花的時間還是很長,遇到需要重新編譯整個項目的時候真的有回宿舍睡一覺的衝動。昨天一不小心被我發現了一款軟件Xoreax IncrediBuild 今天用了一下,實在是太爽了,我把我們辦公室的機器都連了起來,其中還有一臺工作站,總共加起來22個CUP核,我試了一下實在是太拉風了。

其實這款軟件已經推出很久了,只是之前接觸的項目都比較小,沒有在編譯時間上太在意。下面就記錄一下Xoreax IncrediBuild的使用方式,我下載的是Xoreax IncrediBuild v4.0,其實它是VS的一款插件,支持VS2010、VS2008、VS2005,之前的Xoreax IncrediBuild版本支不支持這些本人沒做考究。

以下引用自http://zhouruijun163.blog.163.com/blog/static/107715620119219580479/,文字表達稍有修改

加速編譯原理:

Xoreax IncrediBuild是分佈式編譯(多線程處理)工具,也稱之爲聯合編譯.如果局域網內存在多臺電腦安裝了這個軟件(不要求安裝VS),在編譯C/C++時,它會查找局域網中空閒的CPU,並將源文件發到空閒CPU一起編譯,從而大大縮短了大工程的編譯時間.
IncrediBuild 分爲服務端(Coordinator)和客戶端(Agent).服務端是協調任務的分配,客戶端把分到手的任務編譯後再返還回任務請求者,不是服務器, 服務端只負責分配工作,之後客戶端之間進行P2P的操作,如果二個客戶端建立好鏈接後,此時再與服務端斷開也不會影響他們之間的編譯。(參考:)

安裝方法:

1) 服務端(Coordinator)的安裝:
運 行IncrediBuild安裝程序,選擇Install IncrediBuild,並點Next下一步.同意那什麼License Agreement繼續下一步.來到安裝組件選擇(Component Selection).這裏做爲服務端我們要鉤先上IncrediBuild Coordinator.這裏是一個複選框,一般來說服務端也可以參與編譯工作,如果不想讓服務端參與編譯工作的話,就把上面的IncrediBuild Agent前的鉤點掉就可以


繼續下一步,選擇安裝路徑,和使用的一些端口號.參與編譯的CPU數(這個只有鉤選了Agent後纔會有)等,這些使用默認的就可以了.之後安裝完成.IncrediBuild的服務端就安裝好了.

2) 客戶端(Agent)的安裝:
在其它的電腦上,運行IncrediBuild的安裝程序,運行到安裝組件選擇(Component Selection),只鉤選IncrediBuild Agnet並下一步



選擇安裝路徑,並下一步.在這要填入服務端的IP地址和端口號.



填好之後下一步,它會與服務器進行驗證一下.然後設置一下編譯通訊的端口之類的.這與網內安裝的其它的一至就行了,一般情況都使用默認.然後選擇參與編譯的CPU數.最後安裝就行了.

到這步,基本上服務器與客戶端都安裝完成.在CoordinatorMonitor中可以看到各成員的狀態.(注:我的看不到下面的界面,不影響功能)



打開VS你將會發現菜單欄上多出了一項IncrediBuild的選項.這就是在“IncrediBuild”菜單下進行聯合編譯了.



提示:編譯的時候關閉360衛士。

以下是編譯界面:(是不是很酷 O(∩_∩)O~)

轉載自:http://software.intel.com/zh-cn/blogs/2012/06/18/vs-c/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章