How many CPU cores do you need?
IS A DUAL-CORE CPU SUFFICIENT THESE DAYS? OR IS QUAD-CORE OVERKILL FOR EVERYDAY COMPUTING? DARIEN GRAHAMSMITH TACKLES A THORNY QUESTION
We put it to the test through a variety of scenarios ...........................................................
How many CPU cores do you need? It’s a question with no easy answer. Even the cheapest Celeron CPUs offer at least two cores, and for a lightweight laptop that may be absolutely fine. At the other end of the scale, if you’re working on a high-pressure data-analysis project where time is money, more cores are always better.
For most of us, though, it’s not always clear whether the benefit of having extra cores will be worth the cost. A desktop Core i3 processor with two physical cores (plus two virtual cores, courtesy of Intel’s HyperThreading technology) costs around $160 (i3 7100), while you’ll pay at least twice that for a quad-core Core i7, or an eight-core AMD Ryzen 7 chip. And if you move up into “Extreme” territory, you can pay well over a grand for a monster such as Intel’s 18-core Core i9-7980XE. It’s hard to know where to draw the line.
Don’t give up hope, though. We may not be able to tell you how many cores you personally need, but we can dig into the benefits of extra cores, and of HyperThreading technology, to help you figure out whether it’s worth investing in an eightcore beast, or whether a nimble little dualcore processor is all you need.
WHAT WE’RE TESTING FOR
For the purposes of this exercise, I ran a series of benchmark tests on a known system, varying the number of CPU cores available while leaving everything else exactly the same. This isn’t directly representative of the range of CPUs in the market: dual-core models typically come with slower clock speeds and smaller on-board caches than quad-core models. However, this approach does isolate the benefit of more cores, which is normally obscured by those other variables.
Happily, the test is very straightforward to set up on a modern PC: most BIOS interfaces let you selectively disable individual cores, and turn Hyper-Threading on and offat will. So a Core i7 desktop processor can be tested in single-core, dual-core, quad-core and virtual eight-core configurations.
The specific platform I chose for the experiment was, conveniently enough, my own desktop PC – a Windows 10 system based on a Core i7-3770K. That CPU is a few years old – it’s a 22nm Ivy Bridge model, which lacks some of the sophistications of the current 14nm Kaby Lake series – but
this isn’t a problem. The basic principle of multi-core, multi-threaded computing hasn’t changed across the generations. Simply put, all cores are electronically identical, and Windows and the CPU work together to assign threads to processing cores as needed. If moving from two cores tofour makes a program run twice as fast on Ivy Bridge, you can expect to see the same benefit on Kaby Lake, and all the generations in-between.
Barring any major surprises, it should also hold true for future generations. Conceivably, AMD or Intel might at some point switch to a heterogeneous architecture, similar toARM’s “big.LITTLE” design for smartphone processors. This features several lightweight energyefficient cores to keep things ticking over, partnered with heavy-duty, power-hungry silicon that only wakes up when there’s hard work to be done. The switch would be a big upheaval, though: we can be pretty confident that Windows platforms will be sticking with a homogeneous design for the foreseeable future.
With the hardware in place, I chose three tests to explore how core availability impacts performance. The first was simple: I configured the Windows Performance Monitor to track total CPU usage for the first five minutes after system startup. During this time I didn’t interact with the computer at all; the idea was to gain abaseline picture of how much processing power is eaten up by startup tasks and background activity.
After that, I ran the standard imageediting, video-editing and multitasking benchmarks that we use in reviewing all PCs and laptops. And finally, for some extra insights, I turned to PCMark 10, the latest edition of the venerable benchmark suite.
TEST 1 STARTUP AND CPU UTILISATION
For better or worse, Windows keeps alarge number of processes and services ticking over in the background. When you have lots of cores to play with, though, this doesn’t noticeably interfere with youruser experience.
Even so, these processes all consume resources. That was brought home to me very quickly when, for myfirst test, I switched my regular desktop PC down to a single-core, single-threaded configuration. After rebooting, the Windows desktop appeared fairly quickly – but the system itself was completely unresponsive. I was able to move the mouse around, but clicking and pressing keys did nothing.
When finally I managed to open theTask Manager, the explanation was clear: all of Windows’ processes were trying to start at once, and the CPU was jammed at 100%. As the Performance Monitor traces right
indicate, with no interaction from me at all it still took more than two minutes for things to calm down. Even then the CPU still hovered above the 50% mark: if you tried to get any work done on a single-core system your applications would always be fighting for resources.
Enabling Hyper-Threading helped. With a second virtual CPU on hand, the logjam cleared in around half the time – although that still meant a minute of thumbtwiddling before the computer became usable. After that, Windows reported much lower ongoing CPU usage, although this must be taken with a pinch of salt: Windows treats virtual cores the same as real ones, meaning if you were to completely hammer the core with a heavy single-threaded workload it would show as only 50% utilisation, even though there would be little or no capacity for Hyper-Threading.
The difference between real and virtual and cores is neatly illustrated by our dualcore, non-Hyper-Threaded CPU trace. If Hyper-Threading were as good as a second physical core then you’d expect to see identical performance here; in fact, CPU usage drops more quickly, and settles at a lower level.
That’s not to say that Hyper-Threading is of no value. In dual-core, Hyper-Threaded mode, the CPU was finally able to keep up with all of Windows’ startup tasks: processor utilisation only momentarily hit 100%, indicating that the system was almost fully responsive as soon as the desktop appeared. We would call this a minimum usable spec, and it’s probably no coincidence that a two-core, four-thread configuration is the standard for Core i3 processors.
Is there much to be gained from moving up to a quad-core chip? My test system didn’t complete its startup tasks any more quickly with four physical cores than with two – as the graphs show, in both cases CPU activity fell to background levels at around the 90-second mark. The difference now was more consistent headroom: aside from an early peak, just after the desktop appears, there’s always at least an entire core’s worth of processing power sitting idle, which means that you can open applications and start work without even really noticing that other stuff is going on in the background. This is the configuration that desktop Core i5 processors use, while Core i7 models add Hyper-Threading for a total of eight logical cores. While the usual caveat about HyperThreading applies, in its full eight-thread mode the CPU never comes close to 100% load.
TEST 2 DESKTOP BENCHMARKS
The standard set of PC & Tech Authority desktop benchmarks comprises three tests. First, the image-editing test uses the free ImageMagick tool to apply various colour and contrast corrections to a set of huge (35-megapixel) TIFF images, before exporting them as JPEGs. Then the video test uses Handbrake to apply various transformations to a 1080p movie file, exporting the results as an H.264 video. Finally, the multitasking test does both at once, while additionally playing a 1080p video. The overall score is a weighted average of the three.
As before, I ran these tests with one, two and four cores, with Hyper-Threading both enabled and disabled. The benchmark results are shown in the graphs opposite – and the clear indication is that more cores mean higher performance, not just in the multitasking test but across the board.
A little thought reveals what’s happening. It’s obvious that the multitasking test will benefit from having at least three cores available, since it’s running three demanding processes at once. And thanks to our reviews of heavyweight processors like AMD’s eight-core Ryzen 7 series, we know that the benefits don’t stop there. Performance in this test keeps on getting better and better as you add more cores. Since the HD video playback process is bound to a single core, the logical deduction is that one of the other two processes – the image test or the video test – must be taking advantage of the extra cores.
It’s no secret that this is the case. Stepping up from a dual-core to a quad-core system yielded a massive 91% performance benchmark improvement in Handbrake. What’s perhaps less well known is the fact that ImageMagick uses the OpenMP framework, allowing it to divide up its workloads across available cores. Here the benefit is more modest: upping the
core count from two to four yielded a 25% improvement in this test.
Performance-wise, therefore, it’s very much a case of the more cores the better, albeit the margin of victory depends on the nature of the application you’re running. For single- or lightly-threaded tasks, the switch from a dual-core to quad-core processor may deliver a benefit that’s too small to really notice. If you want to pummel your silicon with multiple heavy workloads, the benefits are more clear-cut: in the multitasking test, my PC rocketed from a score of 20 on a basic dual-core system to 74 with all four cores enabled – and upward to 89 with Hyper-Threading activated. That’s a 445% performance improvement, which is certainly not to be sniffed at.
One last note: while you can’t realistically run Windows on a single-core processor these days, it was fascinating to see how these modern benchmarks fared on such a system. The raw scores don’t actually look too bad; we’ve seen similar performance from compact little Atom-powered laptops. The catch is that the multitasking test wasn’t exactly running as intended. Though the HD video player was running, it was almost completely frozen, merely switching from one broken frame to another every few minutes.
What’s more, turning on Hyper-Threading actually made things worse. While the image and video tests individually gained asmall benefit from the extra virtual core,trying to run everything at once brought the system to its knees, as our script tried to cram three demanding processes into two processor queues being serviced by a single core. It ended up taking around twice as long to run the test as with a single core. If you’re interested, that’s five hours and 20 minutes, compared to a runtime of 27 minutes on the exact same hardware with all four cores enabled.
TEST 3 PCMARK 10
Our desktop benchmarks provide a handy overview of a system’s computing
“The clear indication is that more cores mean higher performance, not just in the multitasking test but across the board”
capabilities; for a more detailed look I switched to the popular PCMark benchmark, which simulates more than 40 typical CPU-bound tasks – as well as a bunch ofgraphical tests.
In a few of these tests, extra cores made no difference whatsoever to performance. Even in its minimal configuration, my CPU was able to keep up a smooth 30fps in the various 1080p video playback tests, and there’s nothing to be gained by throwing additional resources at the task.
Very simple tests such as “cut and paste” also saw no improvement; it’s hard to imagine how such a straightforward operation could benefit from extra cores.
Unexpectedly, some of PCMark’s taxing “digital content creation” tests were also unaffected by the number of cores available. Further investigation revealed that this module uses OpenCL, and hence these tests were running on the GPU rather than the CPU. The real surprise should havebeen that other OpenCL-based tests did show a modest performance improvement as more cores were made available. Even if you’re targeting the GPU, the CPU clearly still has an important supporting role to play, ensuring that GPU-oriented tasks are loaded and executed smoothly.
Those issues aside, I selected five PCMark tests to focus on: the graphs above show results, normalised so that 100 represents performance on my quad-core CPU with HyperThreading enabled.
A few things stand out from these graphs immediately. For example, you will notice that there are no figures for single-core, single-threaded operation: with the CPU in this configuration the benchmark wouldn’t even open.
It’s also notable that every one of these tests shows a benefit in stepping up from a dual-core Hyper-Threaded arrangement (as used by a desktop Core i3) to one with four physical cores. Of course, this is partly due to the fact that I’ve cherry-picked the most interesting tests, but it was a tendency across the whole range of productivity tests: on average, the Core i3 configuration lagged 5% behind a quad-core configuration and 7% behind a quad-core with HyperThreading. The test that benefited least from additional cores is “Copy data and
Compute 2”– a basic Excel operation that you wouldn’t expect to scale significantly. It was interesting to see that, with two cores, the operation was actually slower with Hyper-Threading enabled than with it disabled. As with our multitasking benchmark, Intel’s virtual core technology seemed merely to clog everything up. The difference was small, though – in real terms, the test took just a fifth of a second longer to execute.
The task that benefited most was the “Unsharp Mask 1” test – which shouldn’t be a surprise. Graphical operations are comparatively easy to distribute across arbitrary numbers of threads, which is why powerful graphics cards use massively parallel architectures.
Even so, the “Video 2160p VP9” test generated surprising results. This test plays a 4K video encoded in Google’s royalty-free VP9 format, and while my CPU breezed through PCMark’s various 1080p video tests, it choked here, only managing to achieve a full 30fps with all four cores enabled. There’s a reason for this, though: the third-generation Ivy Bridge CPU includes specialised hardware for decoding H.264 video, but VP9 has to be processed manually by the CPU. Sixth- and seventh-generation processors – familiarly known as Skylake and Kaby Lake – include hardware support for VP9, so if your processor’s fairly up to date then you should be able to play 4K VP9 video without overtaxing the cores.
On that topic, it’s also worth noting that AMD Ryzen processors don’t have any sort of on-chip graphics processing hardware. However, that means you will necessarily be using a standalone graphics card, which will probably include its own decoding engine.
Failing that, since all Ryzen models have at least four cores, they should be perfectly capable of decoding 4K video “manually”.
With all of these test results to draw on, the issue of how many cores you need is probably now as clear as mud. As we said at the outset, it’s a question with no simple, single answer.
Even so, we’ve highlighted a few general principles that can help you choose your next system. It’s true that the benefits vary considerably from task to task – so, if you spend most of your time word-processing and watching videos, the standard Core i3 configuration hits a sweet spot of price and responsiveness.
In general, though, having more cores does benefit performance – even if you’re not running software that specifically targets a multi-threaded environment. These days, Windows itself has so much going on in the background that processing headroom is often at a premium. And, as with our image-editing benchmark, you may find that even programs that don’t obviously call for multiple cores have been coded to gain some advantage.
What’s more, looking forward, it seems certain that developers are only going to rely more and more on multi-core resources. History tells us that, as the specifications of the average computer creep upwards, applications get more demanding. With Ryzen bringing eight-core processing into the mainstream, it’s only a matter of time before dual-core processors are as obsolete as single-core chips are today.
We’re not saying that you must buy as many cores as you can afford. But if you’re scouting out a new computer for a general desktop role – even if you don’t need extreme multitasking capabilities – investing in four or more physical cores could extend its longevity considerably. Think of it that way and the extra silicon looks like a smart buy.
“Looking forward, it seems certain that developers are only going to rely more and more on multi-core resources”
To put the cores through their paces, we applied colour corrections to a collection of huge TIFF images
Stepping up from dual-core to quad-core yielded sharp returns in our video-editing tests