Currently there are two main commercial players in the virtualization market on macOS providing type-2 hypervisors, Parallels and VMware. These products allow one to run additional operating system instances on top of their current OS, providing the host system has the necessary resources available. For example, a user with a MacBook may want to run apps that are only available on Windows, alongside their Mac apps. Running an instance of Windows 10 in a virtual machine on top of Parallels Desktop or VMware Fusion allows them to do that.
Type-2 hypervisors, like Parallels and Fusion on Mac, VMware Workstation on Windows, or VirtualBox on both platforms, are those that run on top of a base desktop or server operating system such as Windows or macOS. Type-1 hypervisors run on bare-metal, without a thick operating system in between, and include Microsoft’s Hyper-V and VMware’s ESXi. In general, type-1 hypervisors provide better performance, but have much more specific hardware requirements. Generally, type-2 hypervisors will also provide extra integration features, such as sharing host folders with guest VMs, or displaying an app running in the guest VM right on the host desktop, as if it was running right on the host OS. Rather than a feature comparison though, this test will focus on performance of the guest virtual machines.
For this test, I used an iMac from Late-2013 (see specs below) running macOS Mojave (10.14.2) to test out which of the type-2 hypervisors provided better performance. First, I installed VMWare Fusion 11, created virtual machines running Windows 10 version 1809, and ran a series of benchmarks to test virtual machine performance. After the tests on Fusion were completed, the VMs were destroyed and Fusion completely removed from the system. Next Parallels Desktop version 14 was installed, VMs created to identical specs, and the same benchmarks run in the same order.
|iMac 27″ (Late-2013) Host Specs|
|CPU||Intel Core i7-4771; 4-core/8-thread; 3.5GHz / 3.9GHz turbo; 8MB L3 cache; 84W TDP|
|Storage||500GB SATA SSD|
|GPU||Nvidia GTX 775M 2GB GDDR5 – 1344 CUDA cores; 256-bit memory bus; Kepler architecture|
The specs used for the virtual machine guests in both hypervisors are as follows:
|Virtual Machine (Small)||Virtual Machine (Large)|
|CPU||2 cores||4 cores|
|RAM||4GB RAM||8 GB RAM|
|Storage||60GB pre-allocated||60GB pre-allocated|
Most, if not all, hypervisors support either thinly provisioned disks or thick provisioned (pre-allocated). Thin provisioning means that the virtual disk expands dynamically, and only the portion of the virtual disk that has been used by the virtual machine is taken from the total space on the host. In other words, if 60GB has been allocated to the VM, but only 15GB inside the VM, then only around 15GB of the host’s disk will have been used. In contrast, thick provisioning pre-allocates the entire 60GB of space on the host’s disk to the VM immediately. Since there is a small performance hit to using thinly provisioned disks, the entire space was pre-allocated for the VMs so as not to affect the benchmark scores.
In the Cinebench CPU tests we see that the single score tests are close, but that Parallels seems to scale better when it comes to the multi-core tests. Parallels multi-core score was 10% higher with 2 vCPU and 22% higher when scaled out to 4 vCPU.
In OpenGL rendering it was no contest at all. Parallels was overall about 150% faster than VMware Fusion. The difference in CPU cores and RAM made little difference in this test, though when running an OpenGL game
In GeekBench, once again the single-core scores were fairly close, but Parallels scaled better in the multi-core scores. Fusion’s single-core score seemed to regress ever so slightly when moving from 2vCPU to 4vCPU.
3DMark Ice Storm Extreme
In 3DMark’s Ice Storm Extreme test, Fusion led the Graphics test, while Parallels won the Physics test. Given the Cinebench results, the Graphics test result here was a bit surprising but could be repeated consistently. Fusion scored about 23% higher on average than Parallels in the Graphics test. When it came to the Physics test, Parallels came out ahead by 8% and 16% respectively in the small and large VM configs.
3DMark Cloud Gate
Cloud Gate, a more graphically intensive test, showed a completely different result, with Parallels far outpacing Fusion in the graphics test, and winning by a smaller margin in the physics test. In graphics, Parallels won by 101% in the small VM config, and 89% in the large VM config. Interestingly, Parallels regressed slightly when moving from 2vCPU/4GB to 4vCPU/8GB.
In the set of tests performed on a Late 2013 iMac 27”, Parallels Desktop 14 consistently performed better than VMWare Fusion 11. We would recommend Parallels for a higher performing, feature-rich virtualized Windows 10 environment on Apple Mac systems in most cases. In almost every performance test, especially those that stressed the vGPU, Parallels came out ahead. There may be some cases where users may want to share VMs with others running VMWare Workstation on Windows for testing or other purposes. Additionally, Fusion Pro has the option to upload VMs to VMware’s vSphere in the datacenter. In those cases where VM portability is important, then VMware Fusion may be a better bet.
While it was not tested here, users looking for a free option can get VirtualBox, currently owned by Oracle, for use on macOS. VirtualBox supports many of the same Windows and Linux guest operating systems as Parallels and Fusion, and supports 3D acceleration as well. It has been known to be consistently slower than the paid options. Perhaps in a later test, this option can be looked at.
For users wanting to play Windows games on macOS, Parallels is the better option. There are caveats for both of them, however. Neither product can run DirectX 11 games in a Windows 10 VM due to limitations in the macOS 10.x host operating system. Parallels posted an explanation of the state of DirectX support in VM guests on a Mac host, noting:
Parallels implements DirectX emulation by translating it to the equivalent OpenGL function, since OpenGL is implemented in the macOS®. Unfortunately, the version of OpenGL in the macOS does not have compute shaders. There is nothing for Parallels Desktop to map DirectX shaders to in the OpenGL framework in the macOS.
Users will be limited to DirectX 9 and 10 games. For those wanting to run DirectX 11 games on their Mac, Boot Camp is a better option. Windows 10 running in Boot Camp is running directly on the Mac hardware, allowing for higher performance as well as support for DirectX 11. However, with Boot Camp it’s one or the other. To switch from macOS to Windows, and vice versa, with Boot Camp requires a reboot. So once a user has booted into Windows, they will not have access to their Mac apps.