Looking for some advise on whether I should expect better or worse performance out of VMWare Fusion when hosting Windows XP vs Windows 7. Does 32bit vs 64bit make a huge difference? I'm a developer and I plan on using the Windows install to run heavy tools like Visual Studio 2010 and large .NET apps.
As with any Virtual Machine, this would depend on the specification of the host machine and how much resources you are willing to give to the Guest Operating System.
The Visual Studio website asks for 1GB or 2GB of RAM for x86 and x64 Architecture respectively, plus an additional 512MB of RAM if running in a Virtual Machine.
Win7 x64 needs 2GB minimum to run smoothly as it is, so you'd need a minimum of 4.5GB RAM on your machine just to run VS 2010 with Win7 x64. So realistically, to develop large .NET applications, I'd add another 2GB of RAM to be safe and so I wouldn't run an x64 Guest OS unless I had a minimum of 6GB or RAM, preferably 8GB for the Virtual Machine. Add more for your host OS to run satisfactorily.
If I was using an x86 Guest OS, you'd need 1.5GB minimum, plus the 1GB VS 2010 asks for, so 2.5GB minimum. As above, I'd add another 2GB to allow for large .NET application development and therefore would be satisfied with [as @Sid mentions in the comments] the maximum allowance for 32-bit Windows: 4GB. I would allow a minimum of 2GB more on the host to allow it to run the host OS satisfactorily, for a total of ≥6GB.
On top of that, you need to be able to dedicate a minimum of 1.6Ghz processor to VS2010, so realistically, we're talking a minimum of Dual-core, preferably Quad-core processor here to run this sufficiently.
I'd probably suggest using both x86 and x64 anyway, for end-user testing, so 8GB and Quad-core would be the minimum I'd suggest you need to have to accomplish this.
I’ve been running them both for testing purposes without issue. But i’m on a quad core Mac Pro with 12GB of RAM. YMMV if you’re on an iMac or Macbook Pro. I will say to keep your VMs on a separate hard drive, preferably Firewire to avoid the CPU overhead of USB, or a second internal if you’re using a Mac Pro. It makes things run much faster in my experience.
If you’re running Aero in Win7 and you can’t afford to give it a lot of RAM, you may notice on occasion, but most of it gets accelerated by the GPU now, so it could be fine. XP obviously isn’t going to have a lot of the crap that Win7 included, so it will undoubtedly benchmark faster, but from a usage standpoint, if you’re doing development in VS2010, you should probably be in Win7.
In a VM, 32 vs 64 hasn’t made a difference for me thus far, I actually have to keep both around for testing, but I haven’t noticed a performance bump from x64. Unless you’re going to push enough RAM into it where you’d need x64 to take advantage of it, x32 should work fine and you likely wouldn’t notice the difference between the two. Once again, YMMV.