Over 1,000,000 CPUs Benchmarked
CPU Test Information
CPU Benchmark results (“Baselines”) were gathered from users’ submissions to the PassMark web site as well as from internal testing. PerformanceTest conducts eight different tests and then averages the results together to determine the CPU Mark for a system.
To ensure that the full CPU power of a PC system is realized, PerformanceTest runs each CPU test on all available CPUs. Specifically, PerformanceTest runs one simultaneous CPU test for every logical CPU (Hyper-threaded); physical CPU core (dual core) or physical CPU package (multiple CPU chips). So hypothetically if you have a PC that has two CPUs, each with dual cores that use hyper-threading then PerformanceTest will run eight simultaneous tests.
The following list describes each of the tests performed. In all cases a higher score is better.
Integer Maths Test
The Integer Math Test aims to measure how fast the CPU can perform mathematical integer operations. An integer is a whole number with no fractional part. This is a basic operation in all computer software and provides a good indication of 'raw' CPU throughput. The test uses large sets of an equal number of random 32-bit and 64-bit integers and adds, subtracts, multiplies and divides these numbers. This tests uses integer buffers totaling about 240kb per core.
The Compression Test measures the speed that the CPU can compress blocks of data into smaller blocks of data without losing any of the original data. The result is reported in Kilobytes per Second. This test uses complex data structures and complex data manipulation techniques to perform a function that is very common in software applications, ranging from backup software to Email software. The compression test uses an Adaptive encoding algorithm based on a method described by from Ian H. Witten, Radford M. Neal, and John G. Cleary in an article called “Arithmetic Coding for Data Compression”. The system uses a model which maintains the probability of each symbol being the next encoded. It reports a compression rate of 363% for English text, which is slightly better than the classic Huffman method. This tests uses memory buffers totaling about 16kb per core.
Prime Number Test
The Prime Number Test aims to test how fast the CPU can search for Prime numbers, reported as operations per second. A prime number is a number that can only be divided by itself and 1. For example, 1, 2, 3, 5, 7, 11 etc. This algorithm uses loops and CPU operations that are common in computer software, the most intensive being multiplication and modulo operations. All operations are performed using 64-bit integers. This test uses about 4MB of memory per core. The specific formula used for this test is the Sieve of Atkin with a limit of 32 million.
The Encryption Test encrypts blocks of random data using several different encryption techniques, such that the resulting data can only be accessed by someone with the encryption key. It also tests the computers ability to create a hash of the data, which is also a common cryptographic technique that can be used to ensure the contents of data are not tampered with. The methods used are TwoFish, AES, Salsa20 and SHA256. This test uses many of the techniques in the maths test, but also uses a large amount of binary data manipulation and CPU mathematical functions like 'to the power of'. Encryption is a very useful benchmark, as it is now very widely used in software applications, ranging from Internet browsers, communications software and many different business applications. This tests uses memory buffers totaling about 1MB per core. Where available, the test will make use of specialized CPU instruction sets to accelerate performance, such as AES-NI for the AES test.
Floating Point Math Test
The Floating Point Math Test performs the same operations as the Integer Maths Test however with floating point numbers, using an equal amount of single precision (32-bit) and double precision (64-bit) values. A floating point number is a number with a fractional part (ie. 12.568). These kinds of numbers are handled quite differently in the CPU compared to Integer numbers as well as being quite commonly used, therefore they are tested separately. This tests uses memory buffers totaling about 240kb per core.
Extended Instructions Test
The Extended Instructions test will perform testing using sub-tests for FMA, AVX and SSE (or only those that are supported) and take the average of the 3 (or of those that are supported) for the benchmark result. FMA and AVX are new CPU instruction sets that have become available over the last few years in Intel and AMD CPUs. They were designed to make certain mathematical operations faster. Individual sub-test duration has also be adjusted to account the new sub-tests.
String Sorting Test
The String Sorting Test uses the qSort algorithm to see how fast the CPU can sort strings (single byte characters). A very common task in many applications. This tests uses memory buffers totaling about 25MB per core.
The Physics Test uses the Bullet Physics Engine to perform a benchmark of how fast the CPU can simulate the physics interactions. The test repeats the first several seconds of the simulation as many times as possible within the test duration.
Single Threaded Test
The single Threaded test only uses one logical CPU core and rates the computers performance under these conditions. Many applications still only use one core so this is an important metric, additionally many modern CPUs will automatically over-clock themselves when only a single core is in use to boost performance in these scenarios. The single threaded test is an aggregate of the floating point, string sorting and data compression tests.
Comparing Version 8 Results with Version 9
Due to the addition of new tests and technologies in some cases the test results have changed between version 8 and version 9. In these cases the version 8 baseline will be noted with a (PT 8) tag after the baseline name. These tests and the reason for their change are:
- CPU mark - Due to differences in the physics, floating point math and extended instructions (SSE) test the CPU mark was higher in PT9.
- Floating point math - On newer CPUs this test returns a higher result, most likely due to the use of a newer compiler that is able to increase performance
- Extended instructions (SSE) - A new AVX code branch has been added allowing new instructions to be used when available, this increased the result in version 9.
- Physics - a difference physics engine was used but the score should be close to the version 8 result.