Boot Camp is the easy way to run Windows on a Mac, but it has one major drawback: it requires you to reboot. And that can be a rather big disruption of your work, depending on how much time you spend in either Mac OS X or Windows.
Virtualization software like Parallels Desktop 7 avoids this glaring issue altogether, as it lets you run a full copy of Windows from within Mac OS X. But is it actually the best of both worlds or just a bag of compromises?
Virtualization for serious work?
In part 1 of my Running Windows on a Mac series, I made it very clear that virtualization solutions such as Parallels or VMware Fusion are merely a compromise for anyone who needs to get serious work done or has to spend several hours in full-screen Windows.
And I didn't just base that on my past experience with virtualization, but also one some benchmarks Ed Bott performed this summer.
It was only a couple of days after that article went live that Parallels came out with version 7 of their "Parallels Desktop". And they didn't exactly play small: Parallels promised not just the full-blown Lion support (Launchpad, full screen mode, Mission Control) and the ability to run Mac OS X Lion as a guest machine. They also made a big promise of running Windows "without compromising performance". The company also claims that Parallels Desktop 7 runs 45% faster using Windows 7 and 60% faster on 3D-accelerated applications (games, rendering, etc.) than before. These claims, coupled with enhanced support for USB, networking and sound cards (7.1 surround sound in a virtual machine), made me curious.
Can I run my Windows applications under Lion on Parallels Desktop 7 with no compromise? Can I run it all day?
For this shootout, I took the plunge and used Parallels Desktop 7 for over four weeks. After having some severe performance issues with running Windows 8 Developer Preview under Parallels, I decided to use Windows 7 Ultimate SP1 under Mac OS X Lion for my test. Here's what I found:
Pricing and installation
Boot Camp is free and pre-installed on every Mac (post 2006). Parallels, on the other hand, charges you $79.99 ($49.99 for upgrade) for its Mac virtualization product. In both cases, that also excludes the price of a Windows 7 license, which you'll need! So, if you're adding Windows 7 Home Premium to the mix, think at least $99 (for the system builder DVD) of additional charges for the privilege of running Windows on your Mac.
Boot Camp doesn't support Windows XP or Vista, so if you're going the Boot Camp route on OS X Lion, you're basically stuck with Windows 7. I can imagine this being a deal breaker for some companies.
Parallels Desktop 7, however, fully supports Windows XP, Vista and Windows 7. And it doesn't stop there. Parallels supports Chrome OS, Linux and even the Windows 8 Developer Preview, which makes it a full-blown virtual PC solution and not just a way of running Windows on your Mac. In fact, a built-in downloader allows you to grab the respective ISOs and install them automatically. I think that's quite a killer feature for IT pros: Getting all of these OSes to run on a Mac is torture, so in terms of OS support and pure simplicity, Parallels just blows Boot Camp away. Period.
The Windows 7 installation procedure is fairly straightforward in both Boot Camp and Parallels Desktop 7. You insert the DVD or the ISO, perform some initial configuration and run the Windows installer. However, I went a slightly different route. I actually used Parallels to virtualize my Boot Camp partition. Yes, Parallels Desktop 7 allows you to select your pre-existing Windows 7 partition on your Mac and just run it as it if were an actual virtual machine. This is actually the only way to compare performance of Boot Camp versus Parallels, since I'm testing both solutions on the exact same configuration with the exact same number of programs installed and identical settings. Neat.
All these nice comforts aside, performance is the #1 factor for many users when it comes to virtualization. If you're running a video editing suite, playing games, converting audio, or doing some heavy multitasking on Windows, you need it to perform as fast as possible without bogging down the rest of your system.
To see how much of an impact you can expect, I put Boot Camp and Parallels through a series of benchmark tests. My test bed is a Core i7 1.8GHz, 4GB of RAM, Intel HD 3000 and a 256GB SSD -- the maxed out MacBook Air 2011 model. To make sure that these tests are not impaired, I turned off features that might negatively benchmark performance such as Windows Update, unnecessary network connections, scheduled Windows tasks, some resource-intense services and SuperFetch, which intelligently populates memory with frequently used data. In order to get accurate results, I repeated each test three times. Here are the results:
Booting Windows natively under Boot Camp is a bag of hurt: The Mac just sits at the blank screen for several seconds and moves over to a DOS-like white cursor on a black screen before it finally launches Windows 7. This procedure takes a total of 45 seconds on my MacBook Air -- that's the time it takes from powering until the second I see the desktop. Even the cheapest Windows 7 laptop beats that. Starting the virtual machine using Parallels takes exactly 11 seconds. Win!
However, the fact that the desktop is visible doesn't mean that Windows is fully booted -- this is where the last phase of the boot actually begins, which includes launching services, initializing network connectivity and running startup applications. To measure the full boot time, there is no better tool than Microsoft's own XbootMgr -- a little boot tracer included in the Windows Performance Toolkit. It logs every single boot activity and gives you various stats to not just troubleshoot PCs but also to determine exactly how long the boot procedure takes. To test this, I ran XbootMgr using the following parameters:
"C:\Program Files\Microsoft Windows Performance Toolkit\xbootmgr.exe" -trace boot -traceFlags BASE+CSWITCH+POWER -resultPath C:\TEMP
Windows 7 needed more than 2 minutes, 35 seconds to finish up the entire boot process under Boot Camp. Parallels finished the task in 2 minutes, 17 seconds. Clear winner: Parallels Desktop 7!
Application launch performance
Next, I wanted to see how fast applications launched under either system. AppTimer helped with this task, as it determines the exact time (down to the millisecond) it takes from clicking on a shortcut until the application starts responding to user input. It measures both the first "cold" launch (where the data comes from the hard disk) and the subsequent "warm" launches (run from memory).
Internet Explorer 9: According to AppTimer, the cold launch took .9 seconds and all subsequent launches needed 0.75 seconds under Boot Camp. Parallels slowed things down a bit: IE9 took 1.2 seconds for the cold launch and exactly 1 second for all subsequent starts.
Outlook 2010: Under Boot Camp, starting Outlook 2010 took 1.4 seconds (0.4 seconds when launched again). Under Parallels it took 1.9 seconds to cold launch and .7 seconds for subsequent launches.
To be sure, these are small differences, but they add up! All your programs, their features and your data will not respond as fast using Parallels.
Synthetic benchmark: PCMark 7 and CrystalMark
I have come to love PCMark 7 as a reliable way to determine overall PC performance. While it is a synthetic benchmark, it does a great job of simulating real-world loads such as DX9 games, video transcoding, web browsing and virus scanning.
And if you thought that Parallels Desktop 7 had some issues in my application launch test, you're in for a very bad surprise:
Performance dropped by 40% when using Parallels Desktop 7. First I thought that this massive drop was due to hardware constraints of the virtual machine (2 cores, 2GB RAM), but some of the results simply can't be explained by the limited hardware. I looked at the detailed graphs and found some interesting facts:
Transcoding the video clocked in at about 1/10th of the original performance (14765KBps vs. 1061KBps). Even with half the cores and half the RAM, this doesn't make sense.
Also, graphics performance dropped quite a bit from 13.24 frames per second (fps) down to 8.32 fps. It's enough for older games or 2D games, but if you decide to run Call of Duty MW3, there's no way you will be happy with Parallels. While you may get smooth gameplay on a higher-end Mac, you will likely be able to move up the graphics and resolution slider and still get a higher framerate under Boot Camp. To give Parallels some credit, though, I think it's quite an achievement to get even a bit of graphics performance out of a virtual machine.
The other PCMark stats show a loss in performance ranging from 10% to 25%, which is not all that bad given that the machine needs to have both Mac OS X and Windows running in the background.
Moving on to another synthetic benchmark: CrystalDiskMark 3 focuses purely on hard disk performance. It should show how much of the MacBook Air's SSD performance I lost under the virtualized environment. CrystalDiskMark tests both sequential reads/writes as well as the far more common smaller reads/writes (4k and 512k) that occur basically every second your system is powered.
Surprised? I am! Thanks to the Advanced Host Controller Interface (AHCI) issue (explained here), I expected far better performance with Parallels since AHCI works fine under Mac OS X. Overall, performance is more or less the same (with one glaring 50% in 4k writes under Parallels).
A story of responsiveness
Performance is not just about MBps, FPS and milliseconds. To the typical user, performance equals responsiveness. Does everything feel snappy? How quickly can you switch from one application to another? Is there a visual lag when bringing up a browser window or playing video? How quickly do menus and sub-windows of your applications pop up (and close)? Over the past few weeks I've gotten a pretty good impression of how Parallels Desktop 7 runs Windows 7. And I didn't just use it on my MacBook Air, but also on my 17" MacBook Pro and even played around with it on a Core i7 3GHz iMac with 8 GB RAM for a couple of days.
My conclusion: while Parallels is an incredible technical achievement, the Windows power user will notice a drop in performance. This drop ranges from quite significant (gaming, video encoding, heavy multitasking) to just a bit of an annoying lag. For example, Parallels 7 produced noticeable delays when running IE9 with more than 10 tabs. Switching between these tabs on Boot Camp, however, is instant. Even keyboard input lags behind ever so slightly. Also, when running under high usage, audio stuttered every once in a while, which is annoying when listening to music but an absolute "no go" when running professional audio applications on Windows.
Looking at all the benchmarks, you'd think that running Parallels Desktop 7 would be quite frustrating. But for most people, it's actually not. If you're just doing some basic office applications on your Mac, you will likely not feel a difference. Folks who are doing some advanced multitasking and perform CPU/GPU intense tasks should stop and think twice. Is the convenience of running both Lion and Windows side-by-side worth the performance loss?
Performance winner: Bootcamp.
Boot Camp makes your Mac feel like a Windows machine. You hold down the "ALT/OPTION" key during boot up, select your Windows partition and you're up and running in Windows 7. While it gives you the full-on Windows experience, it has its quirks.
Parallels is pure awesomeness when it comes to convenience, usability and integration. Seriously, I was blown away by it. Not just by the smooth installer and the built-in OS download feature, but by the level of perfection the folks at Parallels worked at the integration. First, there's "Coherence" mode which brings all your Windows applications and windows to your Mac desktop:
The apps even show up in OS X's dock. Even more impressive: Quick launch icons and the Start menu are easily accessible:
While this coherence mode is stunning and has been perfected over the past few versions of Parallels, it's still a CPU sucker. Both my MacBook Air and the MacBook Pro's fans were running at their absolute peak while I was switching between Mac OS X and Windows apps in coherence mode. It's a great feature, but in dire need of some speed optimization.
If you want, you can also go full screen and work with Windows 7 as you normally would. The only way to get back to OS X then is by moving the cursor to the top of the screen and -- boom -- the Mac's toolbar appears. This full screen mode even works across multiple displays.
A shared folder makes exchanging files between the host and guest OS fairly easy. Also, the level of hardware integration deserves much credit: Parallels literally forwards all hardware devices to the OS, such as a Wi-Fi dongle or a USB sound card. Yes, I managed to get 5.1 surround sound via Parallels to my home theatre. Impressive.
Thanks to its built-in snapshot feature, Parallels also saves you the trouble of creating images. Just select a snapshot, in case you wrecked your machine, and you're good to go, again. The level of integration is exciting and the primary selling point of Parallels Desktop 7 in my opinion. Due to its nature, Boot Camp obviously has no such features and doesn't even try to integrate well with your Mac OS X (don't even get me started on the lack of full-blown HFS+ drivers).
Clear convenience winner: Parallels Desktop 7
Parallels vs. Boot Camp: Two Compromises
After 4 weeks of living inside Parallels, I have to admit that I came away quite impressed by the technical achievement and the level of detail. I remember using either version 4 or 5 of Parallels and can honestly say that they've ironed out the quirks that made the earlier versions unusable (for me). Version 7 just works and it's easy to use.
Personally, I was very happy to reboot my machine after wrapping up this article and finally get back into Boot Camp. I live on the Windows side for most of the time anyway, so the better performance in Boot Camp outweighs the convenience of Parallels by far. But even if I were a Mac user and relied on some resource-intense Windows applications, I'd think twice before running Parallels Desktop 7 and might go the native Boot Camp route. Now, what about gamers? Just forget it. DirectX 10 isn't even supported and DX9 games run at approximately half the speed. Do you really want to waste half of your $2000 iMac's performance? I know I wouldn't.
However, I don't think that's going to be an issue for too many Mac users. Most of them live on the Mac side and just need to use one Windows application. And this is where Parallels shines and deserves my honest recommendation.
All in all, both Boot Camp and Parallels are compromises. One compromises performance, the other compromises convenience. In the end, it's just a matter of which of these compromises sounds less frustrating to you.