Friday, July 27, 2012

How much faster have CPUs gotten in the last 15 years?

If you got into the PC business in the 80s or 90s, you can probably remember how each new CPU from Intel was a pretty big performance boost. In those days, a new CPU could offer two kinds of performance advances: clock speed increases, and instructions that took fewer clock cycles to complete. By the time the 486 came out, most instructions took just 1 cycle to complete (down from 4-6), and we had gone from 8mhz to 100+mhz in just a decade. With the first Pentium, Intel introduced the ability to complete instructions in parallel, which meant that a single clock cycle could sometimes result in 2 instructions executed (or more properly, completed, since at this point we had execution pipelines). Later CPUs had even more pipelines, but the gains were diminishing. Clock speeds were still increasing, however. This did not mean that CPUs were getting faster though. Famously, Intel actually took a big step back in performance per clock cycle from the Pentium 3 to the Pentium 4, in order to push into the 4 Ghz range.  In modern times, performance per clock cycle has taken a bit of a back seat to putting more cores into your CPU - great if your software supports multithreading, but even after almost a decade of this approach, a lot of software does not.

So, how do CPUs of the last 15 years compare on single-threaded computation? Not many people have the CPU collection to answer this question, myself included. Tom's CPU charts is the closest I could find, but in 2006 they switched to using a multi-threaded mp3 benchmark, so the best they can offer is the years 1994-2004. To extend this I replicated their benchmark (single threaded) on my desktop, which is shown at the bottom of the following list.

Tom's cpu charts 2004 (seconds to encode a large MP3 file using LAME, so smaller is better):

1994 Intel Pentium                      100mhz     4361
1997 Intel Pentium MMX           233mhz     1926
1999 Intel Pentium III                 600mhz       360
2000 AMD Athlon thunderbird  1ghz             233
2001 AMD Athlon XP 1500+   1.3ghz)         169
2001 Intel Pentium 4                  1.8 ghz         162   
2004 AMD Athlon 64 2800+    1.8ghz          119
2003 AMD Athlon XP 2800+   2 ghz            105
2004 Intel Pentium 4 570           3.8ghz            84
2004 AMD Athlon 64 FX-55    2.6ghz            82
2010 AMD Phenom II 255 X2  3.1ghz            46 (estimated)

The most impressive gains happened in the 90s - 4300 seconds is a long time to encode an MP3 (even a long one). Since then, single threaded performance has gone up, but not so much. The difference between 82 seconds and 46 is almost half, but that's not such a huge change in how long you have to wait. We can see, however, a general trend that more is getting done per clock tick (excepting the P4, of course). 

The weakness of this list, of course, is that there is no attempt to make sure that each of these CPUs is comparable in terms of cost to the user when they were introduced. But it does show that while raw Ghz hasn't gone up much in the last decade, compared to the 90s, single thread performance has still continued to rise somewhat faster than Ghz. 

No comments:

Email me


Email *

Message *