# How does CPU frequency affect performance?

How does CPU frequency affect performance? If we have two CPUs with the same architecture, but at different speeds, how will they perform?

1) 8 Core Ivy Bridge CPU @ 2.4
2) 8 Core Ivy Bridge CPU @ 2.7

How can I mathematically calculate the difference in performance?

One can say: 2.7 > 2.4 by 12%. So, will CPU 2.4 GHz be slower by 12% than the 2.7 one?

-
frequency is only one factor of CPU performance. Yes the 2.7 GHz processor is "faster," but that doesnt mean every program run on it will be faster. – Keltari Dec 9 '13 at 9:02
A 2.7Ghz CPU is 11.111111111111111111111111111111% faster then a 2.4Ghz CPU. All this means is that a clock signal will be triggered 11.111111111111111111111111111111% as often. I am not going to attempt to calculate how many clock signals happen in a single minute but that would really give an indication. This does NOT mean the 2.7Ghz can perform 11.111111111111111111111111111111% additional x86 instructions. The only thing it means is that the clock signal happens 11.1% as often. – Ramhound Dec 9 '13 at 11:59

You can't determine performance based on frequency in the general case. If the CPU's are of the same family (not only same architecture) - by this I mean identical in every respect except for clock speed - then the maximum performance of the faster system will be faster, so yes, in your example the MAXIMUM speed of the CPU will be 12% faster.

But, of-course, this is nothing like the full story. Most systems will be bottlenecked by things other then CPU, in which case a faster CPU won't give you increased performance (for example if you are waiting on disk, networking or user input).

If the CPU's are not of the same line, the best you can do is get a rough estimation of performance by looking for the "Passmark" at CPU benchmark and computing based on that. This is very rough, but a better-then-nothing way of comparing CPU's once you understand how your application will handle threading. Also, comparing the CPU's in the Intel Ark will help you ascertain if they are the same in all respects other then clock speed. (For example by showing different instruction set support, cache etc)

-

Each CPU instruction takes a number of cycles to finish. The time each cycle takes is 1 divided by the CPU's speed.

However, it's difficult to linearly correlate this with performance because:

• CPU instructions consume different amounts of cycles under different conditions and how they are used.

• Modern CPUs for a long time have been "pipelined" and are "superscalar" - essentially meaning per cycle, the CPU may actually be working on several parts of several instructions, or even multiple instructions at once.

• Acceleration features which "preload" the instruction stream ahead of where the CPU is actually executing can affect performance of imminent instructions - things like branch prediction and register renaming.

• Modern CPUs have an instruction cache. What is in the cache greatly affects performance. Waiting for instructions to be loaded from RAM consumes many, many cycles compared to CPU speed.

• Modern CPUs have a data cache. Instructions that read/write memory, which is something a CPU does often, are greatly affected by the state of this cache in a similar manner.

One can say: 2.7 > 2.4 by 12%. So, will CPU 2.4 GHz be slower by 12% than the 2.7 one?

You can say that, it's technically true - CPU A is running 12% faster than CPU B. But a 12% increase in CPU speed (even given the same exact microarchitecture) does not translate to a 12% increase in code executing performance.

-