You can run Windows on a Mac. That's a big selling point for Apple, which gives this feature a marquee position on its "Why You'll Love a Mac" page. Apple pitches it as the way to run "specialty software." You know, "that one Windows application ... that's not available for the Mac."
That's actually a pretty compelling pitch for me. I have a handful of Windows programs that don't have Mac alternatives, and I have both a Mac and a Windows PC on my desktop. So if a virtual machine can handle both Windows and OS X apps gracefully, I would have a much easier time moving back and forth.
On the Mac, I originally installed Windows 7 on a Boot Camp partition. But after a recent memory and disk upgrade I've been looking at virtualization software for OS X, which allows me to run Windows without having to first shut down OS X. It's not exactly seamless, but it works. Before you try it, though, you should learn about the costs--some of them not so obvious at first glance.
There's the monetary cost of software, of course, but there are also some hidden performance costs. In this post I discuss both.
The cost of software
You can pay for virtualization software or find a free alternative, but Windows itself isn't free. And if your can't-live-without it Windows app is Microsoft Office or an accounting program or a point-of-sale system, well, you have to pay for that too.
Let's run the tape:
That's a bare minimum of $250 on top of the premium cost you pay for Apple's hardware. It's at least $300 if you use commercial virtualization software, and possibly much more if you need to pay for additional licenses for Windows apps.
The hidden performance costs
What I found even more interesting was the decrease in performance that you get when you run Windows on Apple hardware. To measure performance, I looked at the raw data that Windows captures when you run the Windows System Assessment tool (WinSAT.exe). You can look at the five numbers that make up the Windows Experience Index (WEI), but the detailed numbers are much more illuminating.
I looked at these numbers on my late-2009 Mac Mini, with a decent Core 2 Duo CPU, 8 GB of RAM, and a 7200RPM Seagate Momentus XT hybrid disk. The latter two pieces of the puzzle are recent upgrades, with the disk being a substantial improvement over the original sluggish 5400 RPM drive. I have Windows running in Boot Camp and in multiple virtual machines.
In addition, I collected performance information from my colleagues Zach Whittaker and Christopher Dawson, both of whom have new MacBook Airs running Windows on the side.
I was shocked at the differences in performance. Click through to the next page for details.
Page 2: Performance hits, misses -->
Here are the side-by-side WEI scores for all systems. The top group shows scores for my Mac Mini; the bottom chart shows the two MacBook Airs.
All of these scores are on a scale of 1-7.9. The color coding is simple, bright green is the best, dark red is the worst, with yellow in the middle. The two MacBook Airs have different CPUs, but both have the same 128 GB SSD and Intel onboard graphics. The default VM configuration sets aside a mere 1 GB of RAM for the VM. For the optimized setup, I increased RAM to 3 or 4 GB.
You can see at a glance that virtualization takes a significant chunk of CPU capability away. On my system, the Boot Camp installation scored 308 MB/s for the CPUCompression2Metric and 470.9 MB/s for the Encryption2Metric, versus 152.5 and 223.0 for the same metric under Parallels. For those two tasks, you're essentially losing half of the CPU by running in a VM. The difference is even more striking in the two MacBook Airs, where the different CPU models account for part of the gap but the VM adds a further penalty.
Likewise, graphics performance in a VM suffers because Windows is unable to use the native Nvidia or Intel drivers and instead has to pass everything through virtualized graphics adapters. Both VMware and Parallels have decent drivers capable of delivering Aero support with transparency and other effects. All of those effects are smooth when running under Boot Camp, but I can see tearing and jerky movements in a virtual machine. The lower scores reflect the differences accurately
Surprisingly, one area of Windows performance actually improves dramatically in a virtual machine. Look at the difference in performance on the Mac Mini, where the WEI score goes from 5.9 to 6.9. The Random Read score is 1.2 MB/s under Boot Camp but increases to 2.7 MB/s when using Parallels. That's a huge improvement.
On the two MacBook Airs, you can really see the hit that the Intel graphics take when they're forced to run using virtual graphics drivers. The penalty is even worse because the VM only has 1 GB of RAM available, whereas the Boot Camp installation has 4 GB to work with. And once again you can see the effects of storage drivers. Under Boot Camp, the 128 GB SSD delivers Random Read throughput of 49.5 MB/s. In a VM, the same score is 182.9 MB/s, a fourfold increase.
In Boot Camp, the SSD in that MacBook Air performs far worse than an SSD should. By way of contrast, a Samsung SSD in a 2009-vintage Dell notebook earned 130.2 MB/s on that score. The SATA III SSD in the Dell desktop I'm using to write this post scores 209.2 MB/s.
The moral? No matter which way you run Windows on a Mac, you're going to give something up If you use Boot Camp, Windows will probably get as much as it can from the CPU and graphics adapter, but you'll pay a performance penalty in terms of hard disk speed. By contrast, virtualizing Windows unlocks the full disk speed, especially with SSDs, but you pay a penalty in CPU and graphics muscle.