views:

924

answers:

7

This is just a general question - I was sitting and waiting for a bit of software to compile (we use Incredibuild here but can still take 10/15 mins) and it got me wondering, does anyone know how long it took to compile Windows XP or Vista?

I did some googling but didn't really find any useful information

+5  A: 

Third-hand information I have is that it takes about a day to complete a Windows build. Which is more or less in line with attempting to build your favorite OSS Operating System from scratch.

Building a modern operating system is a complex and difficult task. The only reason why it doesn't take longer is because companies like Microsoft have build environments setup to help automate integration testings. Thus they can build a system with less manual effort than is involved in most OSS builds.

If you've like to get a feel for what it takes to build an operating system, might I recommend the free eBook: Linux from Scratch

For a more automated build, try Gentoo. Both options should give you a better idea of the Operating System build process.

64BitBob
I recall seeing a video where XP took about 12 hours on their build farm, so a day for Vista doesn't shock me in the least. Of course, when they talk about building the OS, they're talking about building EVERY binary on the disc, then creating a disc image for the QA group, etc. Big job! :)
John Rudy
+2  A: 

Well, try it out yourself: Grab a Gentoo (or other Linux) distro or try out the Singularity project from Microsoft Research. Another interesting alternative is the ReactOS project. Compiling the kernel alone takes (depending on the machine) about the 15 minutes you've waited for your program. Compiling the whole system takes considerably longer!

Konrad Rudolph
+1  A: 

I remember hearing that Vista took somewhere along the lines of more than a day to build (can't find a reference now though, argh). It has somewhere in the neighborhood of 50 million lines of code to it.

swilliams
+1  A: 

How long it takes will really depend on the build set up, I really doubt that the Vista engineers need a day to build the code even if it would take a day on a single machine.

I work on a project of a similar scale and until recently builds could take up to 12 hours on a shared multiprocessor sun server. Since we have switched to a Linux based build farm a clean build can happen in less than an hour and rebuilds in a few minutes.

It would be interesting to know what set up the Vista guys are using, Linux based build farms seem unlikely... maybe Windows based build farms then :)

Andrew Johnson
+16  A: 

OP is asking about Windows:

"There are no other software projects like this," Lucovsky said, "but the one thing that's remained constant [over the years] is how long it takes to build [Windows]. No matter which generation of the product, it takes 12 hours to compile and link the system." Even with the increase in processing horsepower over the years, Windows has grown to match, and the development process has become far more sophisticated, so that Microsoft does more code analysis as part of the daily build. "The CPUs in the build lab are pegged constantly for 12 hours," he said. "We've adapted the process since Windows 2000. Now, we decompose the source [code] tree into independent source trees, and use a new build environment. It's a multi-machine environment that lets us turn the crank faster. But because of all the new code analysis, it still takes 12 hours."

SOURCE

Also see Mark Lucovsky classic presentation on developing Windows NT/2000.

I don't work at Microsoft, so I don't know for sure...

Aardvark
Fantastic links, thank you for posting :)
Konrad
A: 

I don't know how long is taking to compile XP, but 10/15 minutes is not so big at all. Our project that include Linux kernel as one of the components (not the biggest) was taking about a hour to compile. We improved this by using ccache and now it's taking only few minutes.

Not exactly the answer to your question but i though it's might be relevant/useful.

Ilya
+1  A: 

Why would you want to worry about build times? Longer build times are way more fun.

Branan