Mac: VMWare Fusion and Visual Studio 2008 Express Edition
I'm traveling right now and don't have access to all of my normal development tools but since I do have my handy MacBook I figured I would try a little experiment. Here's what I have set up right now:
Windows XP SP2, fully patched
I allocated 1GB of RAM to the VM for Windows XP and it worked great - plenty of headroom to run applications. I've said it before but it bears repeating since I know based on the comments that a few people that are Windows folks are considering trying out a Mac:
Windows runs really well, even on my lowly little MacBook. I did bump my memory up to 4GB, which I think is really important, but standard Windows applications (not games mind you - not even attempting that on a MacBook) work great.
To maximize screen real estate - really important on a MacBook - I run Windows XP in full screen mode. This still allows me to access spaces easily.
I was able to get Visual Studio 2008 Express installed without any problems. Early in the setup VS08 rebuilds much of it's library, so it's a chance to see the impact it has while running full bore. On my machine during peak compile times the CPU ran a steady 50% utilization. I jumped into other Mac applications, including Safari while it was working and experienced no noticeable degradation in performance.
Once I had VS08 up and running it ran really smoothly. I didn't stress it too much - just a couple of browser based applications - but it was able to load them up in IE and I could run through the debugger just fine. During these minimal tests the CPU barely broke a sweat.
To give you a sense of what's possible to run on a little MacBook, here I am using Spaces to run NetNewsWire, iTunes, iChat, Safari and finally a full screen Windows XP (lower right) with Visual Studio 2008 Express Edition loaded and running.
What's great about this is that I can rapidly switch between environments. Windows performance - even in a VM - is snappy. I notice a little window "tearing" when dragging windows quickly. I think that's probably a function of the way graphics are handled on a MacBook - no dedicated video card. The MacBook Pro does have a dedicated video card so it may not have this issue.
One thing I have noticed with the MacBook is that I do take a pretty decent CPU hit when viewing flash based sites. It's not nearly as bad with QuickTime video (interesting, huh?). When I speak to friends that have iMacs or Mac Pros they don't see any CPU hit when watching Flash based stuff.
Based on the results I've had I think I'm going to try loading up VS05 with my current product build into a VM and see what the performance is like. My project has gotten pretty large and uses some aftermarket controls for UI, so it will be a good test. I also am debugging my application using SQL Server Compact Edition so it's a pretty tall order.
On my Windows XP development box - a beast of a machine with an EVGA 680i mobo, Intel QX6700 processor, EVGA 8800GTX video and matched Corsair memory I take a significant CPU hit when VS05 decides to refactor my code while using certain design surfaces.
I have no doubt the MacBook will also strain under that burden but it will be interesting to see if it is still useable when that happens.
Comments
My Macbook only has 1 Gb of memory still, so it would be lacking in that department. I will try this out and let you know how it goes.
@robert: If you can pull it off a MacBook Pro will run a little cooler since the CPU is not hit nearly as hard, though with 4GB of memory a MacBook is very capable.
In regards to virtualisation you seem hesitant that everything should work well..... Don't forget that there is no emulation going on here, the software is calling the hardware near directly, so you should only see a small loss of power at worst case (3% or so). I've done alot of testing using 3D software through parralels/VMWare and the sped is just incredible.. no noticeable hits in speed at all. As you are suggesting you are going to do... Try and break it !!! by throwing everything you've got at it.....
Enjoy the macbook !!! Cheers, Charlie.
My biggest concern with running Visual Studio in a VM is the way VS creates an internal web server for debugging. I'm a little concerned with how port management will work; my knowledge of TCP/IP ports and usage is rudimentary - hence my need to prove it to myself that it will be OK.
Thanks for the comments on the blog - glad you are enjoying it!
I also switched to VMware (tried parallels but it was unreliable) mid last year. I have VM sets for each client often I run 5 or more VM's at any one time. I also started off with MACBook as my first steps after 25 years of PC's.. now progressed onto a MAC Pro!
One downside I found was that switching between OS X and XP all day meant that I was always getting the keyboard short cuts wrong, I now use autohotkey on the VM's to remap the cntrl key and doublecommand on the MAC so I can do cntrl-C/V/Z etc where ever I am :-)
I also find it great that I can copy a VM over to a another machine to take home or to hand the whole project to another developer is really easy.
For me the move to MAC and VMWare gave me portability, reliable hardware, loads of ram and touch of style ... at last!
Interesting post. I am trying to do the same thing you are and was wondering how much RAM you allocated for your virtual WinXP instance in VMWare Fusion? 1GB, 2GB? And did you mess around at all with the virtual memory/page file settings inside the guest WinXP instance?
Most likely it's a corrupted install of VS that's the issue. You may want to try an uninstall / reinstall of VS 2008.
Great blog, anyway!
i have a question about mac
can we install windows server on a mac computer?
Have you tried running VMWare off of a Boot Camp partition?
I'm about to get a new MBP and am wondering whether to go VMWare+Boot Camp or just VMWare. Which do you use? If you use the combination, how often to you find yourself booting directly in to Windows instead of via VMWare? I want to spend as much time as possible on the Mac side, but the ability to boot directly into Windows is alluring...
Congrats on the new MBP! Now all you need to do is convince Dan to get one ;-)
I'm having horrific problems with Visual Studio 2008 running on Fusion 3.0. I have Visual Studio 2008 installed on a Windows Vista Enterprise virtual machine running on Fusion 3.0 on my unibody MacBook Pro which is running Snow Leopard. Anyway, whenever I try to add a reference (such as a dll) to a Visual Studio 2008 project, I get the following error: "A reference to 'C:\Users\username\Documents\Visual Studio 2008\Projects\MyProjectName\MyProjectName\bin\my.dll' could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component."
Now, this has got to do with the file system and "shared folder" settings but it happens whether I have shared folders enabled or not. It also happens when I place the dlls to be added to my project on the actual virtual machine instead of on the Mac's drive. The name of the shared folder is (\\vmware-host) (Z:) but it also happens if the share is called (\\.host)(Z:)
Has anyone encountered this issue as well? This bug actually prevents me from using Visual Studio 2008 for any coding projects which involve adding a reference to the project, and that will probably happen 90% of the time which, of course, blocks almost all developers from being able to use Visual Studio on Fusion 3.0.
Any feedback would be most appreciated.
Thanks,
Larry
Hope that helps...
If you try to open an HTML file locally in your Win 7 VM does it open IE 8 from within the VM? You'll want to confirm that Windows 7 has IE 8 listed as your default browser.
I have a MacBookPro running XP on VMware Fusion and VS 2008 Express.
My job can provide me with VS 2010 Pro... should I uninstall 2008 Express?