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 length Cores / Workers Throughput on Linux host Throughput on Windows 10 VM Diff.
1792K 6 cores, 1 worker 577.04 iter/sec 466.96 iter/sec -19.08%
1792K 6 cores, 6 workers 544.83 iter/sec 478.06 iter/sec -12.26%
1792K 6 cores hyperthreaded, 1 worker 517.13 iter/sec 484.03 iter/sec -6.40%
1792K 6 cores hyperthreaded, 6 workers 525.87 iter/sec 515.80 iter/sec -1.91%
2048K 6 cores, 1 worker 474.99 iter/sec 430.29 iter/sec -9.41%
2048K 6 cores, 6 workers 468.39 iter/sec 416.00 iter/sec -11.19%
2048K 6 cores hyperthreaded, 1 worker 413.52 iter/sec 386.45 iter/sec -6.55%
2048K 6 cores hyperthreaded, 6 workers 428.90 iter/sec 427.77 iter/sec -0.26%
3072K 6 cores, 1 worker 322.36 iter/sec 290.39 iter/sec -9.92%
3072K 6 cores, 6 workers 318.98 iter/sec 271.51 iter/sec -14.88%
3072K 6 cores hyperthreaded, 1 worker 278.02 iter/sec 231.28 iter/sec -16.81%
3072K 6 cores hyperthreaded, 6 workers 274.04 iter/sec 266.84 iter/sec -2.63%
4096K 6 cores, 1 worker 206.43 iter/sec 193.18 iter/sec -6.42%
4096K 6 cores, 6 workers 220.38 iter/sec 193.67 iter/sec -12.12%
4096K 6 cores hyperthreaded, 1 worker 191.68 iter/sec 186.71 iter/sec -2.59%
4096K 6 cores hyperthreaded, 6 workers 210.46 iter/sec 206.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