Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Trvlngnrs

macrumors 6502
Original poster
Jun 8, 2010
361
38
I'm trying to decide if I will buy a 13" or 15" rMBP. I understand the 15" is quad core, and if I use programs that can take advantage of the 4 cores it will be much faster.

Is there a way to tell what apps will utilize the 4 cores?

Most of the stuff I do is routine: web, Word, email, iPhoto, Aperture, 3-4x/year iMovie
 
If I understand it correctly, managing CPU resources is a job for OS, not application.
Application will request a launch (aka fork) of a new thread from OS, which then decides on which available cores to run them.
So I would say it is not possible to define how many cores a multithreaded app will use.
I'd say it will use all of them, provided OS permits.
Even iTunes spins off 30+ threads easily, so it can't be allocated a physical CPU core for each thread.
 
I'm trying to decide if I will buy a 13" or 15" rMBP. I understand the 15" is quad core, and if I use programs that can take advantage of the 4 cores it will be much faster.

Is there a way to tell what apps will utilize the 4 cores?

Most of the stuff I do is routine: web, Word, email, iPhoto, Aperture, 3-4x/year iMovie

A hyper threaded app like FCP X will use all cores when necessary. When you're doing something not so heavy, it'll only use as much cores as is necessary. If you're exporting or rendering, then it'll use all 8 threads in a quad core i7.

Dual core i5s and dual core i7s, along with desktop quad core i5s only have 4 threads.

In Activity Monitor, every 100% of a process is one thread. If an app is using all 8 threads, it'll be using over 730% of CPU power.
 
So, does any modern application have the potential to use all the cores and threads?
 
Absolutely not, and in most cases there is never any need.

The CPU is by far not the only component that sets the speed limit on a computer. More or less only iMovie would have need of more than one core, from the list of applications you mention you use.
 
A lot of very CPU intensive applications are properly parallelised, so they can utilise all cores when necessary. Examples include e.g. Handbrake.

Safari is actually also able to utilise multiple cores, since each page is handled by its own process. In practice however Safari doesn't need all that power, and never should.

Same for Word, eMail, iPhoto and other everyday apps. They should only use as much CPU power as they need, which usually is at most a few % on a quad core.

I don't know whether iMovie and Aperture are optimised for multi-core, and whether they need it.
 
If I understand it correctly, managing CPU resources is a job for OS, not application.
Application will request a launch (aka fork) of a new thread from OS, which then decides on which available cores to run them.
So I would say it is not possible to define how many cores a multithreaded app will use.
I'd say it will use all of them, provided OS permits.
Even iTunes spins off 30+ threads easily, so it can't be allocated a physical CPU core for each thread.
While you're technically correct, your answer doesn't help the OP much. Keep in mind that an application can determine the max amount of cores it uses (invariably) by simply not using separate threads or using less threads than there are cores. 1 thread = guaranteed 1 core (though not necessarily the same core all the time).

A hyper threaded app like FCP X will use all cores when necessary. When you're doing something not so heavy, it'll only use as much cores as is necessary. If you're exporting or rendering, then it'll use all 8 threads in a quad core i7.

Dual core i5s and dual core i7s, along with desktop quad core i5s only have 4 threads.

In Activity Monitor, every 100% of a process is one thread. If an app is using all 8 threads, it'll be using over 730% of CPU power.
This is a good measure to see if an app is using the full potential of your CPU. If you have 4 cores/threads and an app uses between 300 and 400 cpu % in Activity Monitor, it is using all your 4 cores. And so on for more cores. You can't predict, however, if an application will use MORE than those cores if you give it to them (but you can search online for that information, mostly).

So, does any modern application have the potential to use all the cores and threads?
Potential? Yes. Do they actually use it? Sometimes.

Take Word, for instance: it might use all the cores on your computer when you try to crop or adjust an image in its UI. But does it actually benefit from jumping from 4 to 8 cores? No way. It's an app where the computer is waiting for you to type stuff into it.

iPhoto on the other hand? It is waiting for you while you browse, but when you actually try to edit a photo, you will be waiting for it. These are the kind of apps which you want to look if they'd benefit from more cores. From your list: iPhoto, Aperture, and iMovie. They do benefit from more cores.

To your question: the 15" will be faster in iPhoto, Aperture and iMovie, but on the rest of it, you probably won't notice a difference. I have the 2011 13" (2 cores, 4 threads) and it does fine by today's standards.
 
So, does any modern application have the potential to use all the cores and threads?
It's the OS which decides which program thread is allocated to which physical thread, but generally it's done in such a manner that it gives optimum performance. If an application is heavily stressing 4 threads, these 4 threads are allocated to 4 separate physical threads and if possible, each physical thread is on a unique core.

This kind of stuff has been pretty thoroughly researched and developed well before us consumers started being able to buy machines with more than one physical thread. Like many other things modern OS's and hardware can do, we can thank development done in mainframes decades ago.
 
Wow, lots of good info...Thanks!

Currently I'm running a 2010 MBP with the 2.53 i5 which is two cores, four threads. So it seems like either 13" or the 15" will be a large upgrade with the newer processors, SSD, etc. The only difference is how much an upgrade.

Currently when using iPhoto for example, if I click "enhance" it takes about 1 second for it to change the photo. Whichever MBP I choose will be faster than that.

It seems from a speed perspective, in my daily activities, there would only be a few instances where the quad core would greatly benefit me in real world times. Does this sound like a reasonable assumption?
 
I'm trying to decide if I will buy a 13" or 15" rMBP. I understand the 15" is quad core, and if I use programs that can take advantage of the 4 cores it will be much faster.

Is there a way to tell what apps will utilize the 4 cores?

Most of the stuff I do is routine: web, Word, email, iPhoto, Aperture, 3-4x/year iMovie

http://en.wikipedia.org/wiki/Scheduling_(computing)
Is the OS that handles and control the work flow of the threads/processes. So you can't just ask if that app is running which core,etc.
Although, you can still be able to see which core of your CPU is taking the most of the work.
I use cpu led.
Cpu led
 
Last edited:
if I use programs that can take advantage of the 4 cores it will be much faster.
Things you need to understand before do anything.
I can have a CPU that is faster with 2 cores rather than 4 cores. Multiple core is about efficiency.
For example. If you want to print 60 pages of stuff and if you print 1 per minute you need 1 hour. If you have 2 printers you need half of an hour.
The problem is, when you have 4 cores running at 3.2Ghz (ie) is a little bit too much heat that will be produced. And the CPU will start to throttling
The best way to work faster, less energy expensive and efficiently is lower the frequency of all cores, and share the work depending the task is running.
 
Although, you can still be able to see which core of your CPU is taking the most of the work.
I use cpu led.
Cpu led


Also activity monitor's CPU usage windows shows graphically each core's load... 8 bar charts in the case of the 2014 rMBP. The CPU history window shows usage over time, but with less granularity.

Handbrake, FCP, Compressor, most video transcoder apps use as many cores as available. Its rare to see other apps do that.
 
Thanks for the info, I'll read it and ponder it tonight. I downloaded CPU LED and I'll watch that to see what's happening!

Thanks guys!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.