オペレーティングシステムのコンパイル時間
-
03-07-2019 - |
質問
これは単なる一般的な質問です-私は座って、少しソフトウェアをコンパイルするのを待っていました(ここではIncredibuildを使用していますが、10/15分かかることがあります) Windows XPまたはVistaをコンパイルしますか?
グーグルで調べましたが、有用な情報が見つかりませんでした
解決
OPは Windows について尋ねています:
"他のソフトウェアプロジェクトはありません このように、" ルコフスキーは言ったが、 変わらないこと [長年にわたって]要する時間 [Windows]をビルドします。 どの 製品の生成には12 システムのコンパイルとリンクに数時間かかります。 " 処理が増えても 長年にわたる馬力、Windowsは 一致するように成長し、開発 プロセスははるかになっています 洗練されているため、Microsoftは の一部としてより多くのコード分析 デイリービルド。 "ビルド内のCPU ラボは12 時間、"彼は言った。 "私たちは Windows 2000以降のプロセス。今、私たちは ソース[コード]ツリーを分解します 独立したソースツリー、および 新しいビルド環境。それは できるマルチマシン環境 クランクを速く回します。しかし、 すべての新しいコード分析、それでも 12時間かかります。"
開発については、Mark Lucovskyクラシック presentation も参照してください。 Windows NT / 2000。
Microsoftで働いていないので、確かにわかりません...
他のヒント
私が持っている第三者の情報は、Windowsビルドを完了するのに約1日かかるということです。これは多かれ少なかれ、お気に入りのOSSオペレーティングシステムをゼロから構築しようとする試みと一致しています。
最新のオペレーティングシステムの構築は、複雑で困難な作業です。時間がかからない唯一の理由は、Microsoftのような企業が統合テストの自動化に役立つビルド環境をセットアップしているためです。したがって、ほとんどのOSSビルドに含まれるよりも少ない手間でシステムを構築できます。
オペレーティングシステムを構築するのに何が必要かを知りたい場合は、無料の電子書籍をお勧めします。 Linux from Scratch
より自動化されたビルドについては、 Gentoo を試してください。両方のオプションを使用すると、オペレーティングシステムのビルドプロセスをよりよく理解できます。
まあ、自分で試してください:Gentoo(または他のLinux)ディストリビューションを入手するか、Microsoft ResearchのSingularityプロジェクトを試してください。もう1つの興味深い代替手段はReactOSプロジェクトです。カーネルだけをコンパイルするには、プログラムを待っている約15分かかります(マシンによって異なります)。システム全体をコンパイルするには、かなり時間がかかります!
Ales Holecek 、Windowsチーム開発担当副社長 は、Windows 10のビルドには約16時間かかると言っています。昼間の夜。
もちろん、単一のマシンを使用してビルドされるのではなく、ビルドファームを使用します。
Vistaがビルドするのに1日以上かかったと聞いたことを覚えています(ただし、参照は見つかりませんが、argh)。 5,000万行の近くにあるそれに。
かかる時間はビルドのセットアップに本当に依存します。Vistaのエンジニアは、1台のマシンで1日かかる場合でも、コードをビルドするのに1日かかるとは本当に疑っています。
私は同様の規模のプロジェクトに取り組んでいますが、最近まで、共有マルチプロセッサSunサーバーでのビルドには最大12時間かかりました。 Linuxベースのビルドファームに切り替えたため、クリーンビルドは1時間以内に完了し、数分で再構築できます。
Vistaの人たちが使用している設定を知るのは興味深いでしょう。Linuxベースのビルドファームはそうではないようです...多分Windowsベースのビルドファーム:)
XPのコンパイルにかかる時間はわかりませんが、10/15分はそれほど大きくありません。 Linuxカーネルをコンポーネント(最大ではない)の1つとして含むプロジェクトは、コンパイルに約1時間かかりました。 ccache を使用してこれを改善し、数分で完了しました。
あなたの質問に対する正確な答えではありませんが、私はそれが関連性がある/役に立つかもしれません。
12時間から一晩という答えはほぼ間違いなく正しいです。
私がMicrosoftにいたずっと前から、それを聞いているたびに、彼らは「毎晩」ビルドします。 (私はかつてNTの毎日のビルドをかなり定期的にロードしていました。IIRCは毎週「チェックビルド」などを行いました。)
バージョンの最後にあるこれらの数字は、これらの毎日のビルド増分です:
マイウィンドウ8.1:
C:\ WINDOWS \ system32> ver
Microsoft Windows [バージョン6.3。 9600 ]
9600を365で分割すると、約26年間の毎日のビルドが得られます。または、8.1 / 2012-R2がリリースされた2013年からさかのぼると、1993年にリリースされたWindows NT 3.1でNTの開発が開始される1987年頃になります。