編譯 Windows 10 需要什麼樣配置的電腦?

突然想起輪子哥說過能編譯 Wind 的電腦價值百萬刀。那到底是什麼的機器?


三年前我第一次學習如何編譯windows的時候,那人說,你別sync所有東西,只要sync某個分支的某個目錄下的源代碼就是了,大概45G。我很乃一無地用我的workstation編譯。然後第二個星期啊,老闆問我上周你怎麼啥都沒做。

前不久跟一個windows build的大哥吃飯的時候,他是有說過build farm的配置的。不過我對價格沒概念,不知道那個幾百PB的SSD和幾十PB的ECC內存要不要幾百萬刀。只知道在那樣的機器上,全面編譯一次所有入得法眼的分支要12-24小時。


改了一行代碼,然後需要整一天來build+各種驗證,別說機器價格了,我都覺得對不起那電費。


其實大部分程序員只需要build自己組件相關的一小部分代碼就可以了,public library部分sync下來後是不需要重新build的。

比如我以前做Active directory的時候也就是在很普通的workstation上就可以自己build AD部分的代碼,不需要很久。另外第一次build主要就是把各種library都搞出來,以後基本只需要build自己修改過的那些目錄以及你可能需要用到的更新過的library。熟悉了以後就是需要什麼就build哪個目錄。

當然這只是自己開發過程中的local build。每個branch每天還是有official build的,這個是要build整個source tree的,是在專門的build machine上做的,主要用來跑lab run什麼的。到了再上層的branch每天的build會更重,還要做正式的code signing還有full localization build之類的。


一般public的header files以及static lib, stub lib和dll都有各架構下直接可用的,除非自己對public的代碼做了更改,一般都不用自己build。所以各組只把自己feature branch的代碼sync到本地、改動並只build改動過的代碼及其依賴。但就算如此,依據各feature branch代碼量大小以及本機是否有SSD加持等等,只編譯本branch或改動代碼相關的binary等等,完成編譯時間不一,沒事沒人敢去花時間去build整個branch,不值得。誰手賤在src下來一次"build -c",浪費的時間可能是一上午到一周。

上面只是開發者本地工作情況,至於靠硬體堆出來的build lab,就是有多台機器分成多個leg根據階段同時開始做build,當然也是一晚上要做出來的。這樣才能保證在今晚daily build kick-out之前只要代碼check in了第二天的build就能看到。至於lab是多少台機器在做build呢,沒親眼見過也沒親耳聽到任何build team的確認,傳聞是千台以上。

如果是樓主偷到了Windows源碼,想自己從零build一個出來,只能說祝你好運咯!

這還只是build,跑自動測試更耗時間和資源,要聊到測試就跑題咯就此打住吧...


C++神馬的就是忽悠你們這些凡人的,微軟都是手寫機器碼。


現在都cloud build。


一台肯定是不可能的,微軟裡面的大工程都是用集群分散式編譯的,很多年前就是了,這個出自《人月神話》書里所寫,還有就是根據Speed up Computational Processes and Builds by up to x20頁面裡面所推測的。


天河一、二號閑好久了,MS趕緊來租啊!!


難怪 就算公開了源代碼 想自己搞出來一個也得有實力


一個集群的雲伺服器編譯吧,個人電腦根本不行,

猜的,


推薦閱讀:

Windows10系統文件怎麼這麼多?
如何給網易雲音樂加一個快捷鍵?
windows 10 改變了什麼?
Windows 10 有哪些亮點?
被強制升級Windows 10是什麼體驗?

TAG:微軟Microsoft | 編譯器 | Windows10 |