How many cores do I need in my Mac Pro? Is it better to have more cores of a faster processing speed?
In this latest article, all will be explained. So, from cores, processors, GHz, multi-threading & hyper-threading, we’ve got you covered!
12 core 2.66GHz system or 3.46GHz 6 core, which is best? Is a 12 core 3.46GHz system worth it, or should I just get the 6 core? These are the questions we will help you answer today.
Processors (or CPUs, which stands for central processing unit) have come a long way since their humble beginnings. We have more cores and faster clock speeds than ever. If we cast our eyes back to the year 2000, and the release of the first Intel Pentium 4 chipsets, processor speeds topped out at 1.5GHz and you would have to wait until 2005 to see the first Intel dual-core processor hit the market.
But what does this all mean? Clock speed, multi-core, hyper-threading, dual processor systems. There is a lot to take in, thankfully we’re going to break it down in a way that everyone can understand. Hopefully, this will help you decide which processor is right for your system.
Many people describe the CPU as the brains of your system. To make things easier to understand think of the CPU not as the brains but as the brawn. If computing is a car then the CPU is the engine. The higher the clock speed, the faster the car (system) will go. Clock speed is measured in GHz (gigahertz), a higher number means a faster clock speed.
To run your apps, your CPU must continually complete calculations, if you have a higher clock speed, you can compute these calculations quicker and applications will run faster and smoother as a result of this.
Multi-Cores & Multi-Processors
Up until 2005, virtually all processors on the market were single core. Clock speed ruled the roost and the fastest processor was always the best choice. Nowadays processors have multiple cores and systems such as the Mac Pro 5,1 can be built with multiple processors (each with multiple cores).
Multi-core processors became popular as it became increasingly difficult to increase clock speed on single core processors due to technological limitations. Rather than working tirelessly for an extra 0.1GHz of clock speed, manufacturers instead added more identical processing units to single processors.
A core is a single processing unit, multi-core processors have multiple processing units. So a dual-core 3.0GHz processor has two processing units each with a clock speed of 3.0GHz. A six-core 3.0GHz processor has six processing units each with a clock speed of 3.0GHz. The six core processor we just described has a total clock speed of 18.0GHz. That means your programs will run six times faster than with a single core 3.0GHz processor then? Well, not exactly…
So we’ve talked about multi-cores and multi-processors and how they may help your apps run faster, this is where multi-threading and hyper-threading come in. Multi-threading is the ability of an application or operating system to utilise multiple cores for processing. When apps are written with multi-threading in mind they can benefit from the plethora of cores available in modern CPUs and see huge performance increases over using a single core processor.
So what if your app doesn’t support multi-threading? First off, this is a rarity; multi-core support is fantastic nowadays and will only continue to improve. However, if your applications by some chance don’t support multi-threading, you will still be better off with as many cores as possible. When your apps only support a single thread (and you are using a multi-core system), they will get a whole core to themselves (unless you are running more single-threaded apps than you have cores), rather than sharing cores as they would on a single core system.
So more cores is a good thing, multi-threading support is even better. What’s hyper-threading? Hyper-threading is a proprietary Intel technology that allows a single core to split into a virtual and a logical core and share workload between the two. Hyper-threading is especially useful when apps are well optimised for multi-threading.
Higher Clock Speed vs. More Cores?
Ok, so you now understand the benefits of a higher clock speed and the performance boosts more cores can offer. Do you go for a processor with a lower clock speed but more cores? Or one with fewer cores but a higher clock speed? First off, if possible, you want to go for the one with the highest clock speed and the highest amount of cores. Due to budgets, however, this isn’t always possible and there is usually a trade-off between cores and clock speed.
More cores, slower clock speed
- Applications that support multi-threading will greatly benefit from having a higher number of cores at their disposal
- Increasing the number of cores in your CPU is a cost-effective way of increasing performance
- Multi-threading support for applications will continue to improve over time
- You will be able to run more apps at once without seeing performance drops
- Great for running multiple virtual machines
- Lower single-threaded performance than a higher clock speed processor
Fewer cores, higher clock speed
- Better single threaded performance
- Lower cost option
- Fewer cores to split between applications
- Not as strong multi-threading performance
The best thing to do in most cases is to look into the support your applications of choice provide for multi-threading. Following this you can decide whether you’d be better off with, for example, a 3.46GHz 6 core system or a 2.66GHz 12 core system.
Also worth considering is GPGPU, OpenCL & CUDA. Basically, whether or not your GPU assist with processing tasks, again this is mainly a case of application-specific support, read more on GPGPU here.