我们需要开发一个将安装在运行 Windows 的虚拟机上的应用程序。
我们都知道.Net 的性能与 native C/C++ 代码大致相同。虚拟机也是如此吗?
最佳答案
在虚拟机上运行的 .net 应用程序与在同一虚拟机上运行的非 .net 应用程序相比,其性能与在真实计算机上运行的 .net 和非 .net 应用程序的性能相当。
我想说的是,通过在虚拟机上运行 .net 应用程序,它们与 native 应用程序相比并没有或多或少的缺点。如果您有 2 个应用程序(一个 .net 和一个 native ),并且它们在真实 PC 上的性能相同,那么它们在虚拟机上的性能也相同。
但是,虚拟机的性能在很大程度上取决于您为其提供的资源。如果您为虚拟机提供足够的内存,并且不在主机操作系统上运行任何其他内容,您会发现虚拟机性能非常好。 (特别是如果您使用的是直接在金属上的虚拟机之一,例如 vmware esx)。但是,如果您正在运行共享同一主机的 6 个虚拟机,和/或在主机上运行大量应用程序,则不要期望每个虚拟机都像 native 计算机一样运行。
关于虚拟机上的 .Net 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1764665/