Firefox 虚拟机和宿主的编译时间测试

发布于 2022-06-18  722 次阅读


水群时候想到应该测试一下虚拟机和物理机性能差距能有多少,于是搞了这个测试,顺便水一篇文章。

变量控制的不是很彻底,不过不想因为这个拍脑袋想出来的测试重装系统,将就一下吧。

宿主硬件配置:

  • 型号:Surface Book
  • CPU:Intel Core i7-6600U
  • 内存:16GB
  • 系统版本:Windows 11 22621.105 简体中文(发布预览)

Hyper-V虚拟机配置:

  • 虚拟CPU数量:4
  • 虚拟机划分内存:8192MB
  • 虚拟机镜像:Hyper-V快速创建功能提供的Windows11开发环境
  • 系统版本:Windows 11 22000.739 英文

软件版本:

  • Visual Studio版本:17.2.4
  • Mozilla Build 版本:4.0.1

Visual Studio通过系统自带的Microsoft Store进行安装或升级,并按照Firefox编译指南勾选了Desktop development with C++, Windows 10 SDK (10.0.19041.0), C++ ATL for latest v143 build tools (x86 & x64)。

构建方式完全按照Firefox编译指南来进行,所有选项均为使用默认并跳过自定义向导。时间以编译中最后一条输出前的时间为准。

由于指南中推荐的内存大小即为8GB,而且虚拟机也没法划分宿主全部的内存使用,所以虽然双方内存大小不同,但可以认为这也是虚拟机中必要的性能损耗之一。

编译时间Firefox版本
Hyper-V210:45.09103.0a1 (2022-06-17) (64-bit)
宿主机215:15.63103.0a1 (2022-06-18) (64-bit)
编译时间和Firefox版本

出乎意料的是宿主机用时竟然比虚拟机更长,推测可能是因为测试开始时间不同,导致中途一些需要网络下载的内容时间变长导致的。

和整体时间比起来,5分钟约占据整体时间的2%,可以认为是误差。总的来说,无论是在虚拟机还是宿主机内的编译性能几乎没有差距。

不过得出该结果也并不意外,通过网络上的各种信息也能够看出,虚拟机对CPU性能的损失可以说是微乎其微,而使用虚拟机中的开发环境可以更方便的备份、转移,避免了宿主系统出现问题重装后要重新搭建环境,比起可忽略不计的性能损失,虚拟机可以带来更大的好处。