31

这只是一个一般性问题 - 我正坐着等待编译一些软件(我们在这里使用 Incredibuild,但仍然需要 10/15 分钟),这让我想知道,有谁知道编译 Windows XP 需要多长时间还是远景?

我做了一些谷歌搜索,但并没有真正找到任何有用的信息

4

8 回答 8

46

OP 正在询问Windows

“没有像这样的其他软件项目,” Lucovsky说,“但 [多年来] 保持不变的一件事是构建 [Windows] 需要多长时间。无论是哪一代产品,都需要 12 个小时编译和链接系统。“即使这些年来处理能力的提高,Windows 也已与之匹敌,开发过程也变得更加复杂,因此微软在日常构建中进行了更多的代码分析。”构建实验室中的 CPU 是12 个小时,”他说。“我们从 Windows 2000 开始调整了这个过程。现在,我们将源代码树分解为独立的源代码树,并使用新的构建环境。这是一个多机环境,可以让我们更快地转动曲柄。但由于所有新的代码分析,仍然需要 12 个小时。”

来源

另请参阅 Mark Lucovsky关于开发 Windows NT/2000 的经典演讲。

我不在微软工作,所以我不确定...

于 2008-10-22T16:27:26.847 回答
6

我掌握的第三手信息是,完成一个 Windows 构建大约需要一天时间。这或多或少符合尝试从头开始构建您最喜欢的 OSS 操作系统。

构建现代操作系统是一项复杂而艰巨的任务。不需要更长时间的唯一原因是因为像微软这样的公司已经设置了构建环境来帮助自动化集成测试。因此,与大多数 OSS 构建相比,他们可以用更少的人工来构建系统。

如果您想了解构建操作系统需要什么,我可以推荐免费的电子书:Linux from Scratch

如需更自动化的构建,请尝试使用Gentoo。这两个选项都应该让您更好地了解操作系统构建过程。

于 2008-10-22T15:48:18.080 回答
5

Windows 团队开发副总裁Ales Holecek表示,构建 Windows 10大约需要 16 个小时。而且它是每天晚上自动构建的。

当然,它不是使用单台机器构建的,而是使用一些构建农场。

于 2014-12-11T23:05:14.443 回答
3

好吧,自己尝试一下:获取 Gentoo(或其他 Linux)发行版或尝试 Microsoft Research 的 Singularity 项目。另一个有趣的替代方案是 ReactOS 项目。单独编译内核大约需要(取决于机器)等待程序的 15 分钟。编译整个系统需要更长时间!

于 2008-10-22T15:50:28.387 回答
3

说 12-24 小时或过夜的答案几乎肯定是正确的。

很久以前,当我在微软时,每次我听到它,他们都会“每晚”构建。(我曾经相当定期地加载 NT 的每日构建。如果我记得正确的话,他们每周都会进行“检查构建”或类似的。)

版本末尾的那些数字是(或至少是)这些每日构建增量:

我的 Windows 8.1:
C:\WINDOWS\system32 > ver Microsoft Windows [版本 6.3. 9600 ]

将 9600 除以 365 得出大约 26 年的每日构建时间,或者从 2013 年发布 8.1/2012-R2 开始,到 1987 年左右开始在 NT 上进行开发,Windows NT 3.1 于 1993 年发布。

于 2017-03-27T02:51:46.870 回答
2

我记得听说 Vista 花了一天多的时间来构建(虽然现在找不到参考,唉)。它有大约5000 万行代码

于 2008-10-22T15:59:26.263 回答
2

需要多长时间实际上取决于构建设置,我真的怀疑 Vista 工程师是否需要一天来构建代码,即使在一台机器上需要一天。

我从事类似规模的项目,直到最近,在共享的多处理器 sun 服务器上构建可能需要长达 12 个小时。由于我们已经切换到基于 Linux 的构建农场,因此可以在不到一小时的时间内完成干净的构建,并在几分钟内完成重建。

知道 Vista 的人正在使用什么设置会很有趣,基于 Linux 的构建农场似乎不太可能......那么也许是基于 Windows 的构建农场 :)

于 2008-10-22T16:06:18.683 回答
1

我不知道编译 XP 需要多长时间,但 10/15 分钟一点也不大。我们的项目将 Linux 内核作为组件之一(不是最大的)编译大约需要一个小时。我们通过使用ccache改进了这一点,现在只需几分钟。

不完全是您问题的答案,但我虽然它可能是相关/有用的。

于 2008-10-22T17:11:43.607 回答