views:

73

answers:

3

We need to develop an application which is going to be installed on Virtual Machine running Windows.

We all know the performance of the .Net is about the same as the native C/C++ code. Is it also true for Virtual Machines?

+1  A: 

I run VMs for my Visual Studio development on a regular basis. The performance of the IDE and the programs is very good. I run Win7 x64 on VirtualBox, which is great because I get the performance of the 64-bit OS even though I'm running XP 32-bit as my host OS.

Dave Swersky
I tried that too, unfortunately, only 1 CPU core can be allocated running a 64-bit guest on a 32-bit host. :(
leppie
+1  A: 

.net apps running on a VM compared to non .net apps running on the same VM will perform equivalently to comparing .net and non .net apps running on a real machine.

What I'm trying to say is that .net apps are no more or less disadvantages than native apps by running them on a VM. If you have 2 apps (one .net and one native), and they perform equally on a real PC, then will perform the same as each other on a VM.

Performance of the VM however will heavily depend on the resources you make available to it. If you give your VM plenty of ram, and don't run anything else on the host OS, you'll find VM performance to be very good. (Particularly if you are using one of the direct-on-the-metal VMs like vmware esx). If however you are running 6 VMs sharing the same host, and/or running lots of apps on the host, don't expect each VM to perform as if it was a native machine.

Simon P Stevens
+1  A: 

If you have a strong machine you will not feel the differece Just Make sure: a. enough memory allocated. b. VM Hard drive is not the same as the host Hard drive (if you machine has SAS than you're even Luckier) c. you have enough cpu / cores to spare.

The performance degradation you usually see in VM is due to lack of resources and not the VM software itself.

IF you use code that usage special rendering features that uses special abilities of the video card, things might be different that suggested here.

Dani