The Megahertz Myth: A concept that a computer containing a higher clocked
processor is always faster than a slower clocked one. This concept is without merit, as
total system performance is not entirely related to its processor's
clock speed alone.
Differently designed processors can take different amounts of time to process the same instructions.
Picture three
children. You tell all of them the same command, "Please bring me a package of
sugar." The first goes
outside, runs around the house, walks back inside, ventures into every room, finally arrives in the
kitchen, obtains a package of sugar and returns to you with it. The second
assumes there is no sugar in the house, walks to the
store, buys a package of sugar, walks home and gives it to you. The third walks directly into the kitchen, picks up a package of sugar, walks back over to you and hands you the sugar. While all of the children followed the same instruction, they each did it differently and took different amounts of time.
Performance between different types of processors can vary for the same reason. A processor that takes two
clock cycles (
Hz) to execute instruction X is going to take twice as long as a processor that can execute the same instruction in a single
clock cycle. In such a situation, the slower executing processor would have to run at TWICE the clock rate as the faster one to match its performance. Differently designed processors may also have varying amounts of
cache memory. If
data requested by the processor does not reside in cache, the processor must make a request to the slower
memory subsystem. In the prior child analogy, this would be tantamount the child who has to walk to the store because he cannot remember if there is any sugar available in the kitchen.
Application specific performance.
Just like the child who ran around aimlessly before completing the commanded instruction, some processors are designed to do more than one task (
thread) at a time. If the child had been told to retrieve an item from outside and every room he had ventured in, he would have accomplished more in the time he had spent than the other single-task oriented children. When an application has been written to take advantage of features of the processor that expedite
code execution, the application is said to be
optimized for that particular processor. How efficiently an application makes use of the available processing power can have a great impact on how well it performs.
Applications optimized for one type of processor may even run more slowly on others. For example, if the command "Please bring me object X from each room." were given to the hypothetical single-task oriented child, he would go to a room, return with an object, then go to the next room, return with the next object, etc. This instruction would take longer for this child to complete and would be more efficiently stated as separate instructions to explicitly tell the child every step involved, "Go in to room A, gather object X, go in to room B, gather object X, go outside, gather object X, bring all objects to me." While this method would appear to work for the multi-task oriented child as well, keep in mind that EVERY instruction given to him causes him to run around the entire house and into every room, making the process very
inefficient. This is why certain applications can have such
massive performance variations between
similarly clocked processors.
The speed of the processor is only one factor in total system performance.
You could purchase a car with an
enormous engine; however, expecting the engine alone to be the
single determining factor to the car's performance would be
foolish. While the car will have ample
horsepower, without the proper
transmission, quality
tires and a proportionately weighted frame - the car's performance will be less than
optimal. Computers are no different.
Graphics and
disk subsystems, as well as
RAM can play a significant part in a system's total performance. Ideally, these components should be properly matched. An
underachieving processor paired up with
exuberant amounts of RAM and high-performance
disk and
graphics hardware may appear to outperform its faster-processor-bearing
siblings; however, the vast differences will be brought to light when running
processor-intensive software. Conversely, a
powerful processor with poor-performing subsystems will result in delays while the processor is waiting for the rest of the system to "catch up". A system's overall performance is really determined by how well the system's individual parts work together as a whole, not the
MHz rating of the processor.