English 中文(简体)
.Net performance on Virtual Machines
原标题:

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?

最佳回答

.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.

问题回答

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.

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.





相关问题
Manually implementing high performance algorithms in .NET

As a learning experience I recently tried implementing Quicksort with 3 way partitioning in C#. Apart from needing to add an extra range check on the left/right variables before the recursive call, ...

Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How do I compare two decimals to 10 decimal places?

I m using decimal type (.net), and I want to see if two numbers are equal. But I only want to be accurate to 10 decimal places. For example take these three numbers. I want them all to be equal. 0....

Exception practices when creating a SynchronizationContext?

I m creating an STA version of the SynchronizationContext for use in Windows Workflow 4.0. I m wondering what to do about exceptions when Post-ing callbacks. The SynchronizationContext can be used ...

Show running instance in single instance application

I am building an application with C#. I managed to turn this into a single instance application by checking if the same process is already running. Process[] pname = Process.GetProcessesByName("...

How to combine DataTrigger and EventTrigger?

NOTE I have asked the related question (with an accepted answer): How to combine DataTrigger and Trigger? I think I need to combine an EventTrigger and a DataTrigger to achieve what I m after: when ...

热门标签