Over 600,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
- Compression Test
- Prime Number Test
- Encryption Test
- Floating Point Math Test
- Multimedia Instructions
- String Sorting Test
- Physics Test
- Single Core 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 a large sets 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.
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 instuction 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. 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.
The Multimedia Instructions measures the SSE capabilities of a CPU. SSE is a set of CPU instructions that have been introduced into CPUs to enable blocks of data to be processed at higher speeds. SSE allows 128bit floating point mathematical and logical operations. This particular test measures the number of times a 4x4 matrix can be multiplied by a 4 dimensional vector per second, with the vector being represented by a 128-bit floating point number (4 32-bit floats) and the matrix being represented by 4 128-bit floating point numbers ( 4 * 4 32-bit floats). The matrix multiplication makes use of SSE 128-bit addition and multiplication to work out the result. This tests uses memory buffers totaling less than a kilobyte per core.
SSE stands for Streaming SIMD extensions.
The String Sorting Test uses the qSort algorithm to see how fast the CPU can sort strings. A very common task in many applications. This tests uses memory buffers totaling about 25MB per core.
The Physics Test uses the Tokamak Physics Engine to perform a benchmark of how fast the CPU can calculate the physics interactions of several hundred objects colliding. This tests uses memory buffers totaling about 30MB per core.
The single core test only uses one 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 overclock themselves when only a single core is in use to boost performance in these scenarios. The single core test is an aggregate of the floating point, string sorting and data compression tests.