« Bounties for WebKit fixes | Main | Blood on the Tracks? »

November 17, 2005

Xcode 2.2 = distcc love

Ever since Xcode incorporated distributed builds using distcc (a year ago? two?), I've been having this fantasy. It's the one where I sit downstairs in the comfy chair, working away on my (now aging) TiBook, while other computers on the network, oh, say, the Dual G5 upstairs in the office, grind away on all the code I'm writing downstairs while sipping tea and watching The Newshour.

For whatever reason, and even after extensive firewall futzing and other things, I could just never get the distcc processes to talk across machines. At least not in any scale of time that made farming out the compilation worthwhile.

To my joy, whatever changed with distcc in the latest Xcode 2.2 (not developer preview) fixed all the problems. It just works. (And things did change: the interface in Xcode preferences is quite different.) The machines see each other over Bonjour and the right things happen when compiling.*

Now for the payoff: a full compile of Sandvox, not including WebKit, takes roughly 315 seconds on the TiBook, standalone. That same compile, farming the jobs out to the G5 upstairs, takes about 220 seconds, for a savings of over 30%! Plus, rather than having the CPU pegged at 100% during compilation, with the TiBook's fan going crazy, the load now bounces between 4 and 60%, making the TiBook quite useable for other things while Xcode is building.

Now, how do we get distcc happening down at Peet's?

(Thank you, Apple.)

*Another big issue affecting this is network latency. The other half of the equation, of course, was swapping out the TiBook's Airport card for an 802.11g PCcard and switching my home network to 802.11g exclusively. I had already done this before WWDC for other reasons.

Posted by ttalbot at November 17, 2005 12:13 PM

Comments

Good to hear it's working better. I've yet to try it myself -- maybe when I get some new hardware in 2006.

Posted by: Mike Zornek at November 20, 2005 8:13 AM