Prime95 Benchmark: Linux Host versus Windows VM

This is yet another benchmark of my Windows 10 VM. This time I used the free Mersenne Prime Search software Prime95 (mprime under Linux) available at www.mersenne.org. I wanted to see if there is a significant difference between running the benchmark on the Linux host, versus the Windows virtual machine.

Caveat: Some may argue that this is comparing apples with pears. Although mprime and Prime95 are based on the same code, they are compiled on different compilers and run on different OS platforms. In order to compare the performance impact of virtualization, I would have to install Windows 10 on my hardware (e.g. on a separate drive), run the Prime95 benchmark, and compare the results with the results obtained in the Windows 10 VM.

However, the comparison below should give some indication on how much kvm virtualization impacts performance.

First my hardware specs:

  • CPU: Intel i7 3930K (6 cores, 12 threads) overclocked to 4.2 GHz
  • RAM: Kingston 8*4 GByte @1,600 MHz quad channel; Windows VM – 20 GByte; Linux host – 10 GByte
  • M/B: Asus Sabertooth X79, BIOS rel. 4801

Below are the Prime95 benchmark settings:

Prime95 benchmark settings

Here the results from the Prime95/mprime Throughput benchmark (shortened):

FFT lengthCores / WorkersThroughput on Linux hostThroughput on Windows 10 VMDiff.
1792K6 cores, 1 worker577.04 iter/sec466.96 iter/sec-19.08%
1792K6 cores, 6 workers544.83 iter/sec478.06 iter/sec-12.26%
1792K6 cores hyperthreaded, 1 worker517.13 iter/sec484.03 iter/sec-6.40%
1792K6 cores hyperthreaded, 6 workers525.87 iter/sec515.80 iter/sec-1.91%
2048K6 cores, 1 worker474.99 iter/sec430.29 iter/sec-9.41%
2048K6 cores, 6 workers468.39 iter/sec416.00 iter/sec-11.19%
2048K6 cores hyperthreaded, 1 worker413.52 iter/sec386.45 iter/sec-6.55%
2048K6 cores hyperthreaded, 6 workers428.90 iter/sec427.77 iter/sec-0.26%
3072K6 cores, 1 worker322.36 iter/sec290.39 iter/sec-9.92%
3072K6 cores, 6 workers318.98 iter/sec271.51 iter/sec-14.88%
3072K6 cores hyperthreaded, 1 worker278.02 iter/sec231.28 iter/sec-16.81%
3072K6 cores hyperthreaded, 6 workers274.04 iter/sec266.84 iter/sec-2.63%
4096K6 cores, 1 worker206.43 iter/sec193.18 iter/sec-6.42%
4096K6 cores, 6 workers220.38 iter/sec193.67 iter/sec-12.12%
4096K6 cores hyperthreaded, 1 worker191.68 iter/sec186.71 iter/sec-2.59%
4096K6 cores hyperthreaded, 6 workers210.46 iter/sec206.66 iter/sec-1.81%

The table above shows the number of iterations per second as a throughput measurement – the higher the better. Obviously this number decreases with the increasing FFT size (Fast Fourier Transforms). The average Prime95 throughput benchmark difference between the Windows VM and the Linux host is -8.39%.

This is NOT a scientific test of the kvm hypervisor performance (see caveat above), but it does give an indication on how well (or not) the VM performs. It is clear that the VM does trigger the CPU governor to ramp up the CPU clock, else the difference would be much larger. This can be also seen in the screenshot below that was taken on the Linux host while the Windows VM ran the Prime95 benchmark:

CPU clock
CPU clock on Linux host while running Prime95 in a Windows 10 VM

The CPU is maxed out at 4.2 GHz.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.