Installing and initially configuring Windows XP in a VMware Fusion Virtual Machine (VM) takes a little while. I decided that rather than play around with my existing VM I would build a new one that I could snapshot at key points. Fusion allows you to create a snapshot of your VM at any point in time that you can revert back to if something becomes hosed up - a distinct possibility when installing and configuring a development environment with after-market controls.
I forgot how long it takes to install Windows fresh, even with Fusion giving you a jump start. Not only do you have the 30 or so minutes to do the initial installation, you have to run Windows Update multiple times to get each layer of security patch in place. In my case that was over 100 patches and three full restarts.
Once I had Windows XP up and running I took a snapshot and then installed Visual Studio 2005 Professional. That took another 20 minutes or so for the initial install, then another 30 minutes for several layers of security patches on it. It took a while to get through all of this.
Finally, I went about installing my controls. I use Telerik right now, an outstanding set of controls that make for some really nice looking web applications.
From start to finish it took me over 2 1/2 hours to get everything set up properly. Once it was all up and running clean I took another snapshot in case I needed to roll it all back.
I was able to load my current project up, which included a local SQL Express database and tens of thousands of lines of code. It loaded fine the first time in, compiled clean and allowed me to see my application in IE (all within my VM). I could trace through code in the debugger, set breakpoints, modify data in the tables dynamically, etc.
From a performance standpoint everything ran very smoothly - I didn't see any big gaps in performance, even though this is a little MacBook. Comparing it side by side to my dedicated Windows machine yielded some interesting results:
|Load Visual Studio 2005||3s||3s|
|Load web project into VS 2005||8s||4s|
|Rebuild entire project||8s||9s|
|Click run, load IE, app running||3s||3s|
|View Class Diagram||6s||9s|
|Save Class Diagram||18s||25s|
My Windows machine has the following specs:
EVGA 680i Motherboard, Intel Extreme QX6700 2.66GHz processor (quad core), dual WD 150GB 10K RPM Sata drives, 2GB Corsair Dominator matched memory, EVGA 8800GTX video card. Running Windows XP SP2, fully patched.
My MacBook is a 2.2GHz machine with 4GB of RAM and a WD 320 HD. I am running VMware Fusion 1.1.1 and the same version of Windows XP in a VM.
I think the places where the MacBook finished up a little faster is where I have a number of external drives mapped to my Windows machine that in some cases it would run out and look through during some activities.
These numbers are me timing them with my digital watch. They could be off by as much as a second and since the machines are dramatically different this is not a head to head comparison in any way.
What it really represents though is that running VMware Fusion and Windows on a Mac can get very comparable performance to a PC running Windows exclusively. I really like the fact that right now I have an 18GB file that represents my entire Windows XP development setup.
If for example I want to set up a new Mac Pro as my development platform all I have to do is install VMware Fusion, copy the 18GB file over and I'm in business. No going through nearly 3 hours of installation and hassle.
Right now that sounds really, really appealing.