MacBook Pro: Updated build timings
In a previous post, I provided some build timings that showed the MacBook Pro wiping the floor with my PowerBook G4 and holding its own against beefier hardware, including a loaded Power Mac G5. My RAM upgrade arrived (a 1GB SODIMM, bringing the total installed memory to 1.5GB), and it makes a big difference in the overall usability of the MacBook Pro — at least for my needs.
I have added times for the MacBook Pro with its upgraded RAM configuration, as well as timings for an Intel iMac (also a 1.83GHz Core Duo with 1.5GB of memory), and the use of the office build farm(*) for the Power Mac G5, and a "build farm" consisting of the Intel iMac for testing distributed builds with the MacBook Pro.
Here are the results of a "time xcodebuild clean build -target BBEdit -configuration Release
":
PowerBook G4 1.67, 2GB, local build | 46:28 |
MacBook Pro 1.83, 512M, local build | 23:35 |
Power Mac G5 dual 2.0, 2GB, local build | 21:29 |
Power Mac G5 dual 2.0, 2GB, distributed build | 17:36 |
MacBook Pro 1.83, 1.5GB, local build | 15:26 |
Intel iMac 1.83, 1.5GB, local build | 14:36 |
MacBook Pro 1.83, 1.5GB, distributed build | 12:21 |
(*) In this case, "build farm" refers not to a rack of machines purpose-built for compiling, which I know some shops use; rather, these are desktop machines put to various uses in the office, and Xcode makes use of them if they're available: engineering workstations, office computers, etc. Clearly, distributed builds are a win if you've got the horsepower otherwise sitting idle, but on a cost-to-benefit basis I wouldn't recommend that you run out and buy machines to make a build farm.
Regardless, the Intel machines remain impressively fast in comparison, and as I said the other day, this has me looking forward to the Intel "pro" desktop iron.
Comments
How many other Intel Macs do you have to distribute to?
AFAIK, XCode on Intel will only distribute builds to other Intel machines, and XCode on PPC will only distribute to PPC machines.
Posted by: Jon H | March 16, 2006 08:52 PM
Nevermind, i skimmed past that passage.
Posted by: Jon H | March 16, 2006 08:53 PM
Does the same issue apply to the MacBook Pro as it does to the Mini? Namely that matched DIMM's provide a better memory fetch cycle, hence better performance.
If so, there may be even more to come ...
Posted by: Craig M | March 17, 2006 01:31 PM
Out of random curiosity, Rich, can you give the world a hint how many lines of code are in BBEdit?
Posted by: Mark | March 17, 2006 04:12 PM
We did a few build timing on our (smaller) project with a few MacBook Pros this week. What we learned was that hard drive speed matters and performance seems to scale pretty well with processor speed.
A 5400 RPM drive on a 2.0 GHz MBP took 2:50, whereas the 7200 RPM drive took about 2:30. My 2.16 GHz 'Book with its 7200 RPM drive took 2:18. (All computers had 2 GB of memory, FWIW.)
For comparison, a Quad 2.5 G5 actually took 2:20 to build (though that was compiling PowerPC code, not Intel).
Anyway, I'm thinking that if your MacBook had a 7200 RPM drive (I'm assuming it doesn't), it probably would have been pretty close to your iMac's time.
Posted by: Troy G | March 18, 2006 12:44 AM
That's interesting, but wouldn't true(r) comparison require compiling universal binaries on both platforms, rather than whichever is native to each?
Posted by: randomguy | March 18, 2006 01:21 PM
Where would you recommend buying the RAM? None of my local computer stores sell DDR2-667 SO-DIMMs...
Posted by: Matt Perreault | March 18, 2006 03:13 PM
Matt: I buy nearly all of my RAM from Crucial Technologies. A friend recommended them many years ago, and I've had uniformly good luck buying RAM from them. It's a little more expensive than the bargain basement, but I'm willing to pay the premium for the reliability and the quality of service I've gotten from them.
Another good source is Data Memory Systems (DMS). They have excellent prices on RAM, and aside from parts for the latest machines, they also have RAM for harder-to-find systems (like printers and older Mac models) at very reasonable prices. Plus, they're in New Hampshire, so I get a warm fuzzy feeling from helping to support the regional economy in my own small way. :-)
Posted by: Rich Siegel | March 18, 2006 05:26 PM
The best memory for the price I have found is Ramjet (www.ramjet.com). I have been buying my upgrades from them for 4 years now. Always the best price (they offer the 1GB SODIMM for the MacBook at $139 versus $199 from Crucial) and they offer a complete guarrantee (though I've yet to need it).
Posted by: Surfing Marmot | March 19, 2006 01:58 AM
Yes, a universal build would be a more fair comparison (and I was going to mention that, but my post was already getting fairly long). Unfortunately, I'm currently not in a position to run that test. Still, when I'm programming, the time of the debug/native-architecture build is actually the one that matters.
Posted by: Troy G | March 19, 2006 05:49 PM
I recommend Dane-Elec memory, it's the same as a macbook's original Samsung memory but cheaper than Kingston or Crucial.
Works perfectly, be sure to order MacBook memory, though!
Posted by: MahRain | March 21, 2006 05:40 AM
Rich:
Interesting results.
Once question not answered (by anyone I've found on the net yet) is how does the Core Solo compare to the Core Duo in Xcode build times. This is an important question for those of us (with no money!) who use a Mini as a development machine.
One way to simulate this would, ignoring hard drive differences, of course, be to turn off one CPU with CHUD tool and re-run the benchmark.
Any chance of providding those numbers for one of your platforms running with a single CPU?
Thanks,
Kevin
Posted by: Kevin Purcell | April 10, 2006 10:12 PM