Page 2: The CPU
Let us consider the computing requirements of our typical user. Few of the above tasks are truly CPU intensive, but a few will wake up the GPU from its slumber. The most notable among these is high definition video playback. Increasingly, videos are made available in HD, and we want to watch in HD. Decoding these videos does make a graphics processor work a bit, especially at the 720p and 1080p levels. Now a days, even YouTube makes many videos available at these qualities and when played back through Flash, there is an increased strain on the GPU and even CPU. A 5 year old computer (e.g. a P4 3 GHz) with a mid-range (discrete) graphics card (early PCI-express) will strain to playback these formats – the CPU will max out and there will be dropped frames. A current mid range laptop (e.g. core i5) on the other hand should manage to playback the same video with under 10% CPU usage, and with no frames dropped.
Of the other tasks performed by the typical user, none are CPU intensive. Perhaps photo editing is, but it is less so than video playback for the extent to which the typical user will use it. Likewise, the complexity of typical spreadsheets should not even register on most current CPUs.
In general, it is therefore, safe to say that typical computer usage should see less than 5% CPU utilization most of the time, with occasional periods around 15% (e.g. playing a video), and spikes to 25-30% (opening a program). (For instance, at the moment (Windows 7), while typing this (MS Word 2k7), with music playing (WinAmp), and having 27 tabs open (Chrome) my laptop (core i5 with integrated graphics) is using about 5% CPU).
Given the above, most modern CPUs should easily handle the demands of a typical user. Most people do not have any justifiable need for the higher end processors.
There are typically two schools of thought when it comes to choosing a CPU:
Some people will suggest buying the most powerful CPU you can afford. The reasoning being that you don’t typically upgrade a CPU, and it is at the heart of a computer. Moreover, as software evolves, it typically places a higher demand on the CPU, so a more powerful CPU will allow a computer to stave off obsolescence for a bit longer.
The other viewpoint suggests going with the best processor for the price. In computers, as with most things, the relationship between price and performance is roughly parabolic. At the low-end, you get terrible performance for the price, and at the high end, things cost far too much to be economical. There is always a middle ground that will give you the most performance per unit of cost. I tend to advocate for this perspective (although, the previous one presents valid points as well).
Given that the names and model numbers of modern processors offer little useful information for the purposes of comparison, we must turn to a source that provides a quantitative, performance based result for each processor. While values such as FLOPS (floating point operations per second) do exist, a synthetic value that takes additional factors into consideration is sometimes advantageous. One such set of numbers is a compilation of Passmark CPU Benchmark scores that can be found at: http://www.cpubenchmark.net/cpu_list.php
On examining this list, it is evident that processors from consecutive generations, with the same clock speed (and same number of cores) show at least a 50% performance improvement. There are other advantages to a current generation CPU:
- They tend to be more energy efficient – this means they run cooler, and on a laptop result in longer battery life
- They tend to include algorithms to improve perceived speed (e.g. HyperThreading, Turbo Boost)
- They tend to have larger and faster caches
- The associated chipset tends to be more recent, which, among other things tends to imply:
- a faster system bus
- support for more recent memory interfaces (e.g. DDR3)
The conclusion should, therefore be, that unless an older generation processor of comparable performance can be found for considerably less than an equivalent current generation processor, one should always choose the current generation processor.
Before moving on, just a quick note on two facets of processors.
Register Size: until a few years ago, computers were largely 32 bit – this means that working with large numbers (over about 4 billion) required an extra step, and it was not possible to address more than 4GB of memory. Most current CPUs are 64-bit, however, not all operating systems are 64 bit. While 64-bit processors/operating systems can run 32 bit programs (which are still dominant), there is no speed advantage, and might actually be an imperceptible speed decrease running a 32-bit program on a 64-bit system. In other words, the only practical upside of the 64-bit processor for the everyday user is the possibility to use more than 4GB of RAM. (It is great for working with large databases and spreadsheets, but that is atypical use).
Multi-core processors: almost all CPUs today are dual or quad cores. This is usually interpreted as a single CPU having multiple complete processor cores in it. Typically each of these cores operate somewhat independently, although, data can be shared between the cores. The advantage is that any task that can be broken down into smaller tasks can be completed in parallel – and will be done much faster. Unfortunately, most current software is unable to take advantage of multiple cores, and much of the software that does, is unable to scale well to the higher number of cores. Regardless, the effect for the user is considerably better multi-tasking. Tasks can be performed at the same time, leveraging the power of different cores, so that a computer is much more responsive.
Suggestion: go with a mid-range, current generation CPU (at the moment, that would be a Core i5 processor).