Skip to content

CPU performance benchmarks

UnixBench is a common tool used to test and compare the performance of VMs provided by different vendors. The purpose of UnixBench is to provide a basic indicator of the performance of a Unix-like system; hence, multiple tests are used to test various aspects of the system's performance. These test results are then compared to the scores from a baseline system to produce an index value, which is generally easier to handle than the raw scores. UnixBench tests consist of two parts: single-process tests and multi-process tests. UnixBench consists of a number of individual tests that are targeted at specific areas. The detailed information for each individual tests are available at this GitHub project.

In order to validate the performance of VMs running on Sunlight platform, UnixBench is selected to measure and compare the operating system running as VM against on bare-metal machine directly. The results will depend not only on your hardware, but on your operating system, libraries, and even compiler. Thus, the same hardware and operating system is used for the tests in the two setups: (1) the operating system is running on the bare-metal machine; (2) the operating system is running on a VM provisioned by the Sunlight platform, which is running on the bare-metal machine.

A number of different individual tests are selected to run on both setups to provide a comprehensive evaluation, with particular focus about the CPU performance.

Benchmarking results

Individual Test Bare Metal Sunlight 39 core VM
Dhrystone 2 using register variables 27934244.1 27773128.3
Double-Precision Whetstone 3729.4 3691.7
Execl Throughput 3699.8 3238.7
File Copy 1024 bufsize 2000 maxblocks 469251.7 545360.3
File Copy 256 bufsize 500 maxblocks 121053.5 143302.4
File Copy 4096 bufsize 8000 maxblocks 1368238 1443125.8
Pipe Throughput 620905 773210
Pipe-based Context Switching 108667 29859.9
Process Creation 7253.1 4771.2
Shell Scripts (1 concurrent) 9232.5 7367.5
Shell Scripts (8 concurrent) 4688.8 3834.5
System Call Overhead 386276.5 579146.1

unixbench_Single_Process