How To Universally Compare The Performance of Processors
Like me, you want to get the most out of your money when it comes to a new computer, and that usually means the most speed for the lowest price. When looking at a computer’s specs, you are usually given the speed of the computer’s CPU or central processing unit (the computer’s main processor). The speed is usually measured in gigahertz (GHz). Most people assume that the larger that number, the faster the computer is – but that is very wrong. A 1.6GHz processor can run circles around a 3.7 GHz processor. Of course it is also very possible that a 3.7GHz processor is faster than a 1.6GHz one, so you can’t use that number to reliably gauge speed.
In order to understand why (and to gauge speed correctly) you need to know what that number means, and in order to understand that, you need to know a little bit about how a processor works. I’ll try to keep this as simple as possible. A processor is essentially a slab of hundreds of millions of transistors, which are essentially tiny electronic switches. They are arranged and interconnected in such a way that they can turn the electrical on and off pulses (the 1s and 0s people assimilate with computers) into new signals by way of comparing ons and offs using what is known as Boolean logic; this act is known as processing. Of course it is much more complicated than that, but for this explanation, more details aren’t necessary. The CPU processes in cycles, one set of information at a time and it usually takes many cycles to perform a task. The number of cycles that the processor can run through in a certain period of time is known as the processors clock speed. This speed is measured in hertz, meaning cycles per second. For example, if a computer processor is rated for 2.4GHz, then it operates at 2.4 billion processing cycles per second. You would think that a processor with a higher clock speed would be faster, but that isn’t always the case.
A long time ago, clock speed was everything. You could directly compare processors by using their clock speeds. The higher the clock speed, the faster the processor. This is not the case anymore for two reasons. The first is that computers today have what are known as multi-core processors. Believe it or not, but a processor can only process one thing at a time. Event though there are hundreds of programs running on your computer at one time, the processor is only dealing with one at a time, processing a little bit from one program, then going to the next, and back again. At least that was the deal until multi-core processors were invented. They involve having multiple smaller processors, known as cores, in one package. Each core can handle one thing at a time, so a 4 core processor can do 4 things simultaneously, while a 2 core can only do 2. CPU manufacturer Intel also uses a technology known as Hyper-threading. This technology allows one core to do 2 things at once, now enabling a 4 core processor with Hyper-threading to do 8 things at once. So this multi-core business complicates things a little, but if you think about it, you could still use clock speed as a gauge if you did some math on the numbers.
This is where reason two comes in. Processors perform the tasks they do by using what are known as instructions. Instructions are exactly what they sound like, they are jobs that the processor must perform. If you take a computer program and break it down as far as possible, it is made up of billions of small instructions which in the grand scheme of things allow your computer to do useful things. Processors are designed to understand a certain number of predefined instructions which are collectively known as an instruction set. A long time ago, all processors had the same instruction sets, meaning that they understood the same instructions. Most instructions use one or 2 clock cycles of the processor to execute, so the more clock cycles in a second, the faster the task was completed. Now days, different processors have different instruction sets, making some processors more efficient than others. For example, if I asked a toddler to draw a rectangle on a piece of paper, and he didn’t know what a rectangle was but did know what a line was, I would have to tell him to draw a line for the top, left, bottom, and right. Telling him to draw each line was one instruction, so in the end I had to give him 4 instructions to draw a rectangle. If I asked a different kid, and he did know how to draw a rectangle, I could simply tell him to draw a rectangle. That makes one instruction. In the end assuming that they can both execute one instruction in the same amount of time (same clock speed), the second kid would be done 75% faster than the first. This is why newer processors, are much faster than older ones with relatively the same speeds. If 2 processors are in exactly the same family, and are clocked different, then the one with the faster clock speed is truly the faster processor.
So now that instruction sets have made it impossible to use clock speed as a measure for overall performance, how do you do it? The answer is using a unit of measure know as flops. Flops stands for Floating Point Operations Per Second. That is the number of mathematical calculations involving a decimal point that can be performed in once second. Modern computer processors are measured in gigaflops, or Gflops. This number can be applied to any processor of any age, and accurately determine its performance. The flops value of any processor can be compared to that of any other processor, and the larger one is always the more powerful one. There is only one catch – you can’t find this value on any spec sheet. You have to determine this number yourself. The best way is using a program known as Linpack. There are versions available for all platforms (Windows, Linux, OS X), and the test is simple to run. The reason that processors don’t have a flops value on them is that it depends on the rest of the computer for the final number. Processors depend on other computer components in order to function, and a flops value will reflect these other system components as well. This makes flops a great gauge for determining overall system performance (to a degree). A great application for Windows users is LinX, a graphical front-end for Linpack.


Leave a Reply