編譯完整的Windows10 需要花費多久?

面對一個又一個泄漏的build.


突然想到這個問題,求解,微軟團隊編譯完整的Windows10 需要花費多久? 用超級計算機去編譯?


還是? 對於內存以及硬碟有什麼要求?


大的分支都是一天一更,用的是 Azure 的集群,有專人盯著 build,不會給你隨便開分支的……


Windows是由數不清的binary構成的,所以可以分別編譯,硬碟和內存加不上去了就加機器。我覺得Windows能1天編譯出來已經很幸福了,Office裡面push一次代碼,等大家一起過了validation最終available,也就是說可以把自己之前寫的代碼重新pull下來,要過三天。


c++ - Operating System compile time

Farm上需要16個小時。實際上對於Windows,編譯時間必須要控制在20個小時以內,因為有Nightly Build的需求。


WDG ES 每天編譯上百個分支。大部分分支是每天編譯一次,比較小的分支兩天編譯一次。因為編譯過程有若干輪,有多級緩存機制,不需要每次每個分支都從頭開始編譯,所以編譯時間也有好多種度量。如果按照最完整的那種來算,在二十多小時的級別,大約 90% 低於 24 小時。


編譯多久取決於CPU和硬碟,這個無法準確計算。但是修bug,編譯build版本不是全部重編譯。


c++的構建本質上是編譯和鏈接兩步,編譯就是逐個cpp、c文件的編譯,這個是可以並行的(多處理器或多機),因此只要配置高配合併行編譯,編譯時間會大幅降低。


在Windows組搞過半年的build system, 一台64 core,1TB RAM的機器,大概需要花12到18小時。


以前,Windows team 和Office team 有一種專門的工程師,叫做Build Engineer。大約是Windows 每周可以出一次Build,Office 每個月出一次Build。當然,Build Server 是一組變態的伺服器。

後來敏捷了,Windows 敏捷之後就是Windows 10 頻繁更新的這個鳥樣……


跑題

原來在Autodesk做過build and release

如果是單個的AutoCAD,如果是單機build,沒有十幾小時搞不出。如果是集群編譯,也要3、4個小時。


每日構建


emmmm,跑個題,編譯gentoo,從開始到簡單gnome,大概要一天半,最費事的是編譯nvidia驅動


推薦閱讀:

怎樣看待中國黑客通過Edge跳轉到IE從而拿下Win10這一事件?
Windows 10怎麼把「UserOneDrive文檔」改為英文名?
更新win10之後總是無法連接到網路?
Windows 反饋 有什麼用?
win10屢次提示「你要允許此應用對你電腦進行更改嗎」好煩人,到底該如何取消?

TAG:程序員 | 代碼 | 編譯 | Windows10 |