Over 1,000,000 CPUs Benchmarked
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.
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 Crypto++ Gzip (based on the DEFLATE compression algorithm). This tests uses memory buffers totaling about 4MB per core.
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 thread. The specific formula used for this test is the Sieve of Atkin with a limit of 32 million. This test is also dependent on memory speeds, CPUs with better memory bandwidth will perform better in this test.
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 AES, SHA256 and ECDSA. 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.
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 and uses an instruction mix of 30% addition, 30% subtraction, 30% multiplication and 10% division.
The Extended Instructions test will perform testing using sub-tests for FMA, SSE, AVX and AVX512 (or only those that are supported) and take the average of the 4 (or of those that are supported) for the benchmark result. AVX512, 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.
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 (version 2.88 for x86, 3.07 for ARM) 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.
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.
This is a composite average of the Integer, Floating point, prime and sorting test scores and functions as a CPU mark that can be compared to the cross-platform mark in the mobile verison of PerformanceTest. These tests were chosen as the code used to perform the tasks is almost identical between the PC and mobile versions of PerformanceTest.This test is not included as part of the CPU mark calculation (as it is a subset of tests that have already been run).
Due to the changes to the existing tests results have changed between version 9 and version 10.