It has been a few weeks since I purchased my Mac Pro, and here is an update.
To recap, I looked to upgrade my development PC and start heavily using virtual machines for development and testing; I wanted a workstation class machine that would replace several existing computers.
As a result, I purchased a Mac Pro with the following specs: Two 2.8 GHz Quad-Core Intel Xeon processors, 2GB memory (800MHz DDR2 fully-buffered DIMM ECC), ATI Radeon HD 2600 XT graphics with 256 memory, and a 320 GB SATA 3Gb/s 7200-rpm hard drive. I also purchased a copy of VMWare Fusion.
My rationale was that this would be the last PC I would purchase for a very, very long time, and I would be able to run multiple VMs simultaneously, for development and testing. Additionally, I would be able to multi-boot to Gentoo Linux or Windows if OS X turned out to be intolerable.
My initial impressions:
- Compared to Dell and HP, the base configuration of the Mac Pro 8-core system is much cheaper (with better specs) than the competition. While this may change in the future, right now the Mac Pro (for an 8-core system) is simply the best deal around. Yes, it surprised me too.
- General impressions: The workstation is whisper quiet and extremely heavy. The mouse is terrible. The paint on the top scratches easily (placing USB drives on top isn't recommended unless they have rubber feet). Also, the Mac Pro now comes with a Bluetooth transceiver built in (which wasn't obvious or advertised).
Ultimate Developer's Rig?
So how does it rate for mission I chose it for? Here are my opinions:
- I can rip a DVD to mp4, play an iTunes movie, download a bit torrent, while simultaneously compiling the kernel, gcc tool chain, and the system is still responsive -- and hovering around 80% CPU usage.
- VMWare Fusion rocks. Pros: It has a mode (called "unity") which will break out Windows XP application windows and turns them into native OS X windows (scroll down to the youtube video for a demo). You can cut and paste between applications on different operating systems. Cons: doesn't support multiple monitors (i.e.., you can turn on unity and drag Internet Explorer from one monitor to another).
- 2GB of memory is simply not enough. It works well for ripping DVDs and compiling, but when I activated Virtual Machines, the memory would get used up and the memory would be continuously paged out to disk. Performance slowed. Safari would just disappear. Just running a few application natively, I was up to ~1.5 GB used. I'm budgeting 2GB for the system plus 1 GB per VM. I'm now trying to find a source for some inexpensive memory, because...
- The memory for the Mac Pro are PC6400 800MHz ECC FB-DIMMs and they are expensive. They require a heat sink because of thermal issues, and they also have to be installed in matched pairs.
- I added two 500GB SATA 3Gb/s 7200-rpm hard drives in a RAID 1 configuration (they were on sale at for $99 at Circuit City) and moved my home directories to the RAID-1 set.
Still, I have to say the system totally rocks. I have now installed and running:
- Subversion
- Cruise Control
- Windows XP VM (for Quickbooks, Microsoft LiveWriter, Visual Studio 2008, Office 2007)
- Gentoo VM for development and testing
- Vista VM for testing
- Fedora 8 VM for development and testing
Conclusions
I love the machine and am keeping it (after all, it was just too much work to convince my wife to go along with the purchase in the first place). However, would I recommend getting a Mac Pro for Mac/Linux/Windows development?
It depends. To be honest, an 8-core system is really overkill for most developers unless you do hardcore computational, video work, or need to virtualize in a big way.
I chose not to add to my collection of decrepit PC pseudo build cluster and go down the path of virtual machines. The PCs I have are now exclusively for device driver development.
For developers, the bottleneck is generally disk I/O. Given my experience my advice would be:
- First spend your cash on multiple monitors. Most likely this will give you the biggest productivity boost for the least amount of money.
- Secondly, I have to say that it makes more sense to spend the cash on some good, fast disk drives, and a relatively fast CPU.
More Info
Here is a good demo of VMWare Fusion's Unity Feature:
And this should give you an idea of what the system can do: