How to Tell How Many Cores An App Uses

Discussion in 'MacBook Pro' started by Trvlngnrs, May 22, 2014.

  1. Trvlngnrs macrumors 6502

    Trvlngnrs

    Joined:
    Jun 8, 2010
    #1
    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
     
  2. priitv8 macrumors 68020

    Joined:
    Jan 13, 2011
    Location:
    Estonia
    #2
    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.
     
  3. yjchua95 macrumors 604

    Joined:
    Apr 23, 2011
    Location:
    GVA, KUL, MEL (current), ZQN
    #3
    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.
     
  4. Trvlngnrs thread starter macrumors 6502

    Trvlngnrs

    Joined:
    Jun 8, 2010
    #4
    So, does any modern application have the potential to use all the cores and threads?
     
  5. T'hain Esh Kelch macrumors 601

    T'hain Esh Kelch

    Joined:
    Aug 5, 2001
    Location:
    Denmark
    #5
    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.
     
  6. thundersteele macrumors 68030

    Joined:
    Oct 19, 2011
    Location:
    Switzerland
    #6
    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.
     
  7. Menge macrumors 6502a

    Menge

    Joined:
    Dec 22, 2008
    Location:
    Amsterdam
    #7
    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).

    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).

    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.
     
  8. SarcasticJoe macrumors 6502a

    SarcasticJoe

    Joined:
    Nov 5, 2013
    Location:
    Finland
    #8
    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.
     
  9. Trvlngnrs thread starter macrumors 6502

    Trvlngnrs

    Joined:
    Jun 8, 2010
    #9
    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?
     
  10. int3, May 23, 2014
    Last edited: May 23, 2014

    int3 macrumors member

    int3

    Joined:
    May 19, 2014
    Location:
    Portugal
    #10
    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
     
  11. int3 macrumors member

    int3

    Joined:
    May 19, 2014
    Location:
    Portugal
    #11
    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.
     
  12. ColdCase macrumors 68030

    Joined:
    Feb 10, 2008
    Location:
    NH
    #12

    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.
     
  13. Trvlngnrs thread starter macrumors 6502

    Trvlngnrs

    Joined:
    Jun 8, 2010
    #13
    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!
     

Share This Page