Please Explain How "Cores" work...

Discussion in 'Mac Basics and Help' started by godzillinois, Apr 3, 2017.

  1. godzillinois macrumors newbie

    Joined:
    Jun 18, 2008
    #1
    I wasn't having luck posting this in the buying section, so I was wondering if I maybe posted in the wrong forum?

    I had some questions about Quad-Core VS Dual-Core and Geekbench Scores:

    So I currently own a 2012 13" Macbook Pro and am looking to add a desktop as well, but one that is 'faster' than my laptop. If I understand correctly, having double the amount of cores should theoretically make a computer twice as fast as one with a similar chip/processor? Yet when I compare the iMac I want to my Macbook the Geekbench scores are faster, but not anywhere near twice as fast. Am I missing something? Does having a previous generation Intel i5 chip make that much of a difference even with double the cores?

    I want to have a desktop that's much faster than my Macbook Pro, does that mean I at least have to get one with the same year/processor for the quad-core to show that much difference than the dual-core? How do cores work?
     
  2. KALLT macrumors 601

    Joined:
    Sep 23, 2008
    #2
    It doesn’t work that way. Having more cores does not make individual cores faster. Multi-core means that work can be spread out over multiple cores, allowing for faster completion of certain tasks.
     
  3. godzillinois thread starter macrumors newbie

    Joined:
    Jun 18, 2008
    #3
    So a previous gen i5 with 4 cores would not be significantly faster than the next gen i5 with only 2 cores?
     
  4. theluggage macrumors 68030

    Joined:
    Jul 29, 2011
    #4
    No. The effectiveness of having more cores depends very much on what software you are using and how effectively it uses multiple cores.

    If you write a program that- say - sorts a huge table of data - using the sort of routine you learn in programming 101, then it will work through the job 1 step at a time and only use one core. On a 4 core machine, the other 3 cores will just sit there doing nothing.

    If you have 4 huge tables to sort, you can fire off 4 copies of the sort program at the same time. On a 4 core machine, each copy of the program can get a core to itself, so all 4 can run in parallel and it will be close to 4 times faster than sorting each table in turn.

    Now, if you're really clever you re-write the sort program so that it splits the job of sorting the table into several independent parts that it can fire off as separate process "threads" that can run side-by-side if multiple processor cores are available. That is hard (compared to just sorting the table using your computing 101 algorithm) so lots of programmers just won't bother. Nor will it necessarily be a full 4 times faster.

    So, multi cores are great if you can either (a) split the job into multiple parts yourself or (b) use sophisticated software designed to take advantage of multiple cores.

    Video compression/processing works well, because it often involves a sort of "production line" in which a stream of data goes through a series of steps, that can each run as separate processors. Pro graphics/3D software tends to be written (expensively) with multi-threading in mind. Compiling large software projects works well, because they contain lots of files that can be processed in parallel. However, your work-a-day wordprocessor, spreadsheet, file copier, video games might not take full advantage of 4 cores.

    2 cores is usually enough to help the sort of day-to-day multi-tasking (like checking mail while editing a spreadsheet) - 4 or more cores are usually wasted unless you're running multi-threaded software.
    --- Post Merged, Apr 3, 2017 ---
    It would be significantly faster for tasks like video processing and pro graphics that could make good use of all 4 cores.
     
  5. Toutou macrumors 6502a

    Toutou

    Joined:
    Jan 6, 2015
    Location:
    Prague, Czech Republic
    #5
    ELI5 version:
    Four bartenders (CPU cores) with four taps can pour 100 beers four times faster than one bartender and two times faster than two bartenders. This is called multi core performance, i.e. there is always a task available for every bartender.

    Four bartenders can't pour one beer four times faster than one. Pouring a beer takes time and can't be done by multiple bartenders at once (can't be parallelized). This is called single core performance.

    This means that a quad core CPU will be definitely faster than a similar dual core model, but only when there is heavy lifting to be done on all cores (video rendering, compression, parallel calculations, or even multiple single-core-only workloads at once).

    And last, four bartenders won't help you if you only have to pour a beer once every ten minutes, i.e. there won't be any difference if you aren't doing anything intensive.
     
  6. jtara macrumors 65816

    Joined:
    Mar 23, 2009
    #6
    I like the analogy!

    However, in the interest of accuracy, I note that 4 bartenders are not 4 times as efficient as 1 bartender. (Both IRL and in the analogy.)

    For example bartenders will sometimes be delayed due to contention for common resources. Although each bartender might have his own set of bottles, they are still dependent on a barback for ice, to go fetch replacements for depleted bottles, etc. And they might have to wait for access to the one bottle of Creme De Violette. They might share a cash register, and be delayed while waiting for access to the cash register.
     
  7. Alrescha macrumors 68020

    Joined:
    Jan 1, 2008
    #7
    And the same is true of cores. The analogy is a good one, but four cores are no more four times faster than one core than four bartenders are four times faster than one bartender. :)

    A.
     
  8. godzillinois thread starter macrumors newbie

    Joined:
    Jun 18, 2008
    #8
    These are very good explanations, thank you all! So for large Photoshop files or music production/recording through something like Logic Pro wouldn't be that much faster on a 4 core than a 2 core?
     
  9. Chundles macrumors G4

    Chundles

    Joined:
    Jul 4, 2005
    #9
    So good.

    OP, don't forget to look at IO speed. Those beers can't get poured quickly if the bouncers at the door are only letting people in one at a time. A speedy SSD is going to make a huge difference as well.
     
  10. godzillinois thread starter macrumors newbie

    Joined:
    Jun 18, 2008
    #10
    I do know firsthand how much faster a SSD can make a computer, I've installed one on my Macbook Pro as well as two other Macbook Pros. It even made a 2009 MBP speedy (for normal day tasks at least.)

    So in general, can Geekbench scores be trusted then? If the doubling the cores doesn't double the speed then the Geekbench scores I'm reading on Everymac should be accurate? (Not that I'm pretending to even know what it means.)
     
  11. Toutou macrumors 6502a

    Toutou

    Joined:
    Jan 6, 2015
    Location:
    Prague, Czech Republic
    #11
    Processing a huge array of pixels is exactly the kind of workload that can be (and usually is) heavily parallelized — this is the four bartenders/many customers situation.

    The same goes for Logic Pro.
     
  12. theluggage macrumors 68030

    Joined:
    Jul 29, 2011
    #12
    No, those are exactly the sort of pro applications and readily parallelised workflows that are likely to take advantage of 4 cores (and, also, they're likely to benefit from a more powerful GPU).

    If your desktop is feeling sluggish, or your large spreadsheet is taking too long to calculate, or Word/Pages is feeling clunky then adding cores won't help. If your obscure graphics application is too slow then who knows? You can get an idea by looking at Activity Monitor while running the thing you want to speed up - if your dual core is pegging at ~100% CPU or a bit over then more cores ain't gonna help. If its hitting close to 200%, or even more*, then you could probably use more cores.

    (Oh, and then there's 'Hyperthreading' on many Mac CPUs which means your dual core pretends to have 4 cores or your quad core reports 8 cores - its great for making your machine more responsive with everyday desktop multi-tasking, not so effective for true multi-core applications).

    Also, if you're talking about desktops, the processors are not "the same" as the ones in MacBooks - they tend to have faster cores at the expense of consuming more power. Intel's "i3/i5/i7" labelling is really misleading here (e.g. the ultra-low-power i7 in a MacBook Air doesn't really bear comparison with the desktop "i7" in a 27" iMac).
     

Share This Page