Today our world, literally, runs digitally. Just as keystrokes iterate algorithmically putting characters on a laptop screen as this sentence is typed; the same happens as traction control is enabled on a modern All-Wheel-Drive vehicle.
The same CPU concept is the heart of all actions when consumers click “Buy” at their favorite online retailer from a handheld phone. There is a CPU computing 1’s and 0’s making all the magic happen.
The CPU, or Central Processing Unit, has become more efficient as predicted by Moore’s law; consuming less power in terms of wattage, shrinking in physical size, being able to handle multiple actions simultaneously (as seen with Hyper-Threading and multi-core technologies), and run at speeds performing billions of calculation per second.
As consumers, to gain insight into benchmarking a CPU we must first understand what separates one CPU from another. A Central Processing Unit can be designed to specialize in multiple areas.
Every CPU can be rated in terms of:
How much wattage is being used compared to how much data is being processed (lower wattage consumption equates to lower temperatures)
Raw processing power
How fast data is being processed in a given time period
How much data is being processed simultaneously.
How long a CPU can process data at peak load without failure
These four categories are the cornerstones in design of any transistor based CPU. From a now standard smartphone to a word-class server entrusted to mission critical business operations. Each key area is taken into consideration when supplying the “brain” to a power an electronic computing device.
- Computer History Website Outlining uses of Microprocessors in Today’s World
- Intel Page Highlighting Moore’s Law
Understanding CPU Benchmarks
CPU Benchmarks will typically perform a series of tests measuring CPU calculations. Usually evaluating how much time each operation takes.
|CPU performance measurements|
|Floating point math||Mathematics calculations performed on whole numbers.|
|Encryption||Mathematics calculations performed on whole numbers.|
|Integer math||Will test various standard encryption algorithms used such as DES, Triple DES and AES.|
|File compression/decompression||How well the CPU can compress and extract archives in common compression schemes such as .zip, .rar, .tbz, .7z|
|Prime number testing||How fast the CPU can search for prime numbers.|
|Extended instruction set tests||Instructions that are native to a specific CPU architecture. These can speed up applications when they are used by the developer.|
|String Sorting||Mimics how user-level applications parse and handle string or textual.|
|Image Rendering||Mathematics calculations performed on whole numbers.|
|Integer math||how quick the CPU can render images for common formats: .jpg, .png, gif and even .pdf.|
|Physics test||how well vector graphics are calculated in both 2d and 3d by the CPU. Useful for games, graphic effects like Filters in Photoshop, and ray tracing shadows and lighting in 3d graphics.|
|Single thread test||Some applications only run a single thread, lots actually. This will test how the CPU handles these applications separate from multi-core processing. This is where a lot of Intel iSeries (the i5 and i7) and Xeon will shine. Turbo boost and efficient single thread processing allow these CPU architectures to run at speeds that would burn up if all cores ran in Intel Turbo Boost Mode simultaneously.|
Some Benchmarking applications will even perform application level tests such as: parsing HTML5 Document Object modeling and SQL database access (most larger applications actually use a compact SQL database on the local machine called SQLite to store data.).
As a CPU is rated in each category a software-application-specific algorithm is performed to rate the CPU as a whole by combining all sub-scores. This will give the CPU a final score. Benchmark users can then submit their scores to see how their system compares against other end-users.
Real World Example of Evaluating a CPU Architecture via Benchmarking
Lets compare two CPUs architectures and see how they perform.
|Intel i5 4278U||AMD FX-8350|
|As a CPU is rated in each category.||A software-application-specific algorithm is performed to rate the CPU as a whole by combining all sub-scores.|
|A software-application-specific algorithm is performed to rate the CPU as a whole by combining all sub-scores.||As a CPU is rated in each category.|
|How their system compares against other end-users.||This will give the CPU a final score. Benchmark users can then submit their scores to see how their system compares against other end-users.|
CPU Cache prevents CPU Stalling
CPU stalling is latency in moving data from disk, to memory, through the cache pipeline, then finally to CPU’s core for execution operations.
Preventing CPU stalling is accomplished by more and faster cache on the CPU’s L1, L2 and L3 cache that can be distributed amongst each core.
CPU Stalling in terms of end-user class computing is not a big deal. As we mentioned, end-user class computing is designed for smaller burstable tasks calling a few worker threads for a limited amount of time.
- Detailed Discussion on AMD vs. Intel Architecture
What are CPU Benchmarks for?
As they relate to a consumer, CPU benchmarks can serve a few primary purposes
- Allow non-tech-savvy consumers a comparison of archived CPU scores assisting in making a somewhat educated choice of purchase
- Allow avid and technically inclined computer hardware enthusiasts to get an accurate baseline of computer customization, hardware upgrades and advance the performance of computer systems through a process called overclocking the CPU.
- Allow system builders to simulate real world computer usage, letting them know a system will perform demands of required tasks for clients.
- Let consumers as a whole know the latest advertised technologies actually improves performance as claimed by a hardware manufacturer.
CPU benchmarking utilities define a myriad of uses, above are the four main uses for consumers. As technology advances, CPU benchmarking utilities let us know the latest architectures by AMD, Intel, IBM are actually worth our hard-earned dollars paid out in upgrades.
A new automobile, we can see how it is nicer than an older one. Not always so with a new computer unless we have four years of specialized CS training to decipher all the acronyms bombarding us on showroom floors and manufacturer advertising.
For more specialized uses, these utilities can be used by software developers or even hardware Architecture Engineers to assist in designing and refining both software and hardware.
How Accurate are CPU Benchmarks?
Most CPU Benchmarking applications are accurate in what they do. However, time should be taken to understand what is being evaluated in a benchmark.
It is also important to use a widely known CPU benchmarking utility. This way benchmarks can be compared to past contributors. Only then is it possible to accurately gauge the performance of a CPU with benchmarking utilities.
The first thing we want to avoid are benchmarks that rate a complete system for gaming. Video gaming, when rated in frames per second (FPS) is highly dependent on a high-performance video card. These will really measure how well the CPU keeps up with offloaded processing of a high-end GPU. Not really how well the CPU is performing as an individual component.
The second thing we must note is most benchmarking applications (all covered in this guide) will evaluate a CPU based on consumer computing and not server demands. Instead of measuring how well a CPU will process data in a 4-month period, tests are done in short bursts to simulate use of an end-user (versus a server).
With a little education of business versus consumer-computing and what each benchmark specializes in, we as consumers can accurately tell if a certain CPU will satisfy our needs.
End-User Versus Business Class Computing
End-user CPU performance is usually burstable into smaller, single action based tasks. Each task can then call a few worker threads. Most benchmarking covered, unfortunately, scores a CPU based on how an office worker would make use of a it.
Let’s look at our work day
- Get into the office and check email.
- See an attachment of our proofs for the latest ad in a trade magazine.
- Download, then unzip these files.
- Finally loading them into our favorite graphics program to see how they look.
- Then open a faulty application and get a kernel panic (or blue screen) and simply reboot the computer.
- Finally, load each image back into the graphics app from disk one at a time.
A server-class CPU architecture represents many people doing the same actions simultaneously. It is widely known in Computer Science multi-core or multi-CPU parallel processing will exceed single core performance with a higher clock-speed.
Unless the distributed workers are magnitudes slower, like a 4GHZ clock rate versus four 80486 CPU’s.. This is true for any operation from calculating multiple floating point numbers to encrypting multiple files.
Also worth a note that business class CPU’s such as an Xeon make use of ECC memory. Error Correcting Code in memory will not only assist in preventing crashes, but also protect against hardware failure (as noted by a Microsoft paper entitled: Cycles, Cells and Platters: An Empirical Analysis of Hardware Failures on a Million Consumer PCs). Due to the error correction checking, a hit will be taken on overall CPU execution time.