As I've been working on Windows XP x64, I am always interested to know how much difference of performance will VMWare and VirtualBox have on a 64-bit host system. VirtualBox has a native x64 version, but I haven't yet found a native x64 version of VMWare. I guess this factor is likely to help VirtualBox to catch up with VMWare on x64 platform. Today I performed a benchmark for the two virtual machine applications by running MediaCoder in the guest system to transcode an DVD MPEG-2 PS clip of email@example.com to an H.264 MP4 file of firstname.lastname@example.org with MP3 audio. As there is no multi-processor support for VirtualBox and there is no sense to compare the video transcoding speed of a dual-core guest machine with a single-core one, I just chose Windows 2000 as the OS for guest machine.
As the following screenshots
show, I tried to keep things exactly the same in the two guest systems. Of course the encoding settings of MediaCoder are exactly the same too. MediaCoder's "display encoding frames" option is turned on so the graphics performance of the virtual machine can also be taken into account. MediaCoder uses SDL to render encoding frames.
MediaCoder in VMWare
MediaCoder in VirtualBox x64
- Intel Core2 DUO E6300 (@2.1Ghz)
- 4GB DDR2 667 memory
- WD 250GB SATA2 HDD
- Windows XP x64 SP2
- 512M memory
- 4GB IDE HDD
- Windows 2000 SP4
- MediaCoder 0.6.1.4045
VMWare Server 1.0.4 build 56528:
VirtualBox version 1.5.4 x64 build:
- Time elapsed: 51.5 seconds
- Encoding speed: 38.33fps
- Time elapsed: 53.4 seconds
- Encoding speed: 36.99fps
The following is the performance of the same transcoding on the host machine. Please note that it is not possible to completely disable the utilization of one core of the processor, even if x264 is not working in multi-threading mode, because the audio encoding will still be done in a separate thread in MediaCoder. Fortunately, I am not doing a benchmark to compare the performance of virtual machine and real machine. So the results on the host system are just for reference.
Host system (1 thread for x264)
Host system (2 threads for x264)
- Time elapsed: 34.7 seconds
- Encoding speed: 57.02fps
- Time elapsed: 24.0 seconds
- Encoding speed: 82.49fps
VMWare is always believed to be far ahead of other virtual machine softwares, including its near-native performance and its guest system dual-processor support which most open-source virtual machine softwares don't have. However, today's benchmark shows that the performance of VirtualBox is quite close to (only 3.4% slower) that of VMWare on x64, at least for CPU-intensive computational tasks in a single-processor guest machine.