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

GadgetComa

macrumors member
Original poster
Jul 20, 2011
38
47
Howard Oakley has been exploring the behavior of the M1 and just posted this article about how the two different types of cores help make M1 Macs feel so fast. (Yes, I realize they really are faster, but this article shows how the emphasis on the UI increases that perception.)

 

Significant1

macrumors 68000
Dec 20, 2014
1,686
780
I'm afraid that's entirely wrong.
Why? It sounds very plausible to me, though timing timemachine and amount of data is NOT a good example. I am also greatfull for the the efficiency cores, since I am very sure battery life and/or user experience would be a lot different without them. I too, in istat menu, have noticed that most of the time they are running the show.
 

Ritsuka

Cancelled
Sep 3, 2006
1,464
969
1. The UI feels faster even when there is no background work being done.
2. The kernel is already good enough at scheduling things, and background tasks already run at low QoS on Intel too. I can run a process that uses all the cpu on an Intel Mac and the UI doesn't suffer at all.

The main factor is probably that single thread performance matters, and M1 is the king of it. The GPU is probably another factor that helps a lot.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,679
The subjective "snappiness" boils down to latency, which is this case is the ability of the system to react to user input (or things like animation timers) as quickly as possible. This is not the same as "performance".

Apple has worked for years to build systems with extremely low latency. Here are some things we know (or can reasonably speculate) about Apple Silicon in general, and M1 in particular:

- Very fast CPU interrupts and inter-CPU communication. Interrupts are the mechanism of how the CPU reacts to various hardware events (which includes timers, I/O and other things). Interrupts are traditionally heavy, since they require the CPU to pause the execution of the current task, save the state, switch to the interrupt handler code and do whatever needs to be done. Apple Silicon heavily relies on a custom interrupt system based on ARM FIQs, which are blazing fast compared to x86 interrupts

- Fast context switches for threads running on the same CPU core (although that is speculation, and I don't think it has been measured yet).

- Likely very fast CPU and GPU power mode switching and frequency adjustment. This is very important because power-hungry silicon is usually shut down between work packets to save energy. Cycling the power state can take time, and it usually takes milliseconds to adjust the boost clock if I remember correctly, and that is the time that CPU needs before it can even start processing requests at full speed. GPUs tend to be particularly slow here because it's not something that GPU manufacturers optimize for. Apple does. Just think about how quickly display wakes up from sleep on M1 machines.

- Efficiency cores. I agree with @Ritsuka that they alone cannot account for the low latency we observe with M1 Macs, but they do help since they free up the main cores for more performance-critical work. That is why I believe that efficiency cores are as important for desktop use as they are for mobile performance — they free up system resources and allow the system to divert performance to where it's needed

- Fast single threaded performance (this goes without saying)

- Hardware GPU scheduling and full GPU async, which in combination with cache-coherent unified memory allows the GPU to process rendering requests with lower latency than traditional hardware (due to lower overhead in handling those requests)
 

Significant1

macrumors 68000
Dec 20, 2014
1,686
780
1. The UI feels faster even when there is no background work being done.
There is always background work being done.
2. The kernel is already good enough at scheduling things, and background tasks already run at low QoS on Intel too. I can run a process that uses all the cpu on an Intel Mac and the UI doesn't suffer at all.
My unqualified sentiment, is that intel cores spend a lot of time powering up and down, juggling tasks and Racing to sleep. while Apple Silicon eficiency cores manages all household tasks, keeping the road clear and thermals down for performance cores to do the "real" application work. But I agree, I don't feel my late 2009 iMac Intel quad core with plenty of ram feels slows at all. But my 2014 dual-core fully maxed out i7 MBA hasn't aged well performance wise at all. My suspicion is, that a lot of performance has been lost to Spectra and Meltdown patches, while my iMac processor has been to old for Intel/Apple to distribute patches. If correct I guess that, it is also the case for newer Intel machines in some degree, meaning they are no longer performing optimal due to security.
The main factor is probably that single thread performance matters, and M1 is the king of it. The GPU is probably another factor that helps a lot.
I feel real cores matters and hyperthreading isn't what it was hyped up to be (pun intented), even less after Spectra and Meltdown meassures has been added. Also having full control of the software+hardware, makes it possible for Apple to replace software in system function with custom hardware, where they see fit.
 

Spindel

macrumors 6502a
Oct 5, 2020
521
655
I feel real cores matters and hyperthreading isn't what it was hyped up to be (pun intented), even less after Spectra and Meltdown meassures has been added. Also having full control of the software+hardware, makes it possible for Apple to replace software in system function with custom hardware, where they see fit.
Hyper threading is just a way around inefficient design using unused parts of the CPU core to prepare new tasks (in most cases).

In an ideal world a CPU would not have this spare capacity to prepare stuff for execution and just using all capacity to execute tasks.

It's still strange to see people on tech forums basically attributing hyper threading as a 1+1=2 equation while in reality it's closer to 1+1=1,2.
 

Significant1

macrumors 68000
Dec 20, 2014
1,686
780
It's still strange to see people on tech forums basically attributing hyper threading as a 1+1=2 equation while in reality it's closer to 1+1=1,2.
Don't get my wrong, I never considered hyperthreading anywhere near real-cores and 20% is also way to much on average. Sometimes it is even a disadvantage.

The same goes with Apple Silicon. Calling it 8 core without specifying that 4 is low cores is also misleading. If I recall correct the 4 efficiency cores combined performance is approx 1.5 the performance of a performance core.
 

Gnattu

macrumors 65816
Sep 18, 2020
1,107
1,672
If I recall correct the 4 efficiency cores combined performance is approx 1.5 the performance of a performance core.
Which is still very fast and faster than an i3 based MacBook Air(2020) all cores combined.
 

Spindel

macrumors 6502a
Oct 5, 2020
521
655
The same goes with Apple Silicon. Calling it 8 core without specifying that 4 is low cores is also misleading. If I recall correct the 4 efficiency cores combined performance is approx 1.5 the performance of a performance core.
For heavier tasks M1 is a 4 core. It’ just that the low power cores are damn good at off loading background tasks from these cores making them not having to waste cycles at background stuff
 

leman

macrumors Core
Oct 14, 2008
19,521
19,679
The same goes with Apple Silicon. Calling it 8 core without specifying that 4 is low cores is also misleading. If I recall correct the 4 efficiency cores combined performance is approx 1.5 the performance of a performance core.

More like 1 core... an Icestorm is approximately 20-25% of the Firestorm performance.
 
  • Like
Reactions: jdb8167

leman

macrumors Core
Oct 14, 2008
19,521
19,679
For heavier tasks M1 is a 4 core. It’ just that the low power cores are damn good at off loading background tasks from these cores making them not having to waste cycles at background stuff

The end effect is that 4 Icestorm cores offer as much performance benefit as SMT on quad-core x86 CPUs. So yes, for all indents and purposes M1 is a quad-core CPU.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,679
You were correct! The author doesn’t understand the number of cores and size of each bit feed into the processor! The bit is larger than the Intel bit calculation into it’s processor!

It doesn't matter as the values itself were correct (they are defined in macOS APIs). The observations pointed out in the article are still valid. Also, Howard Oakley is a known and well respected author and software developer, so I wouldn't be dismissive towards him, at least if you can't show that you understand these things better.
 

satcomer

Suspended
Feb 19, 2008
9,115
1,977
The Finger Lakes Region
It doesn't matter as the values itself were correct (they are defined in macOS APIs). The observations pointed out in the article are still valid. Also, Howard Oakley is a known and well respected author and software developer, so I wouldn't be dismissive towards him, at least if you can't show that you understand these things better.
Look at this video for better experience:

 

jdb8167

macrumors 601
Nov 17, 2008
4,859
4,599
Sorry, I don't really have 40 minutes. Is there a brief synopsis of what you want to tell me?
Nothing there that you don’t already know. Your post was concise and probably pretty complete (at least I don’t see what you missed.)
 

Joelist

macrumors 6502
Jan 28, 2014
463
373
Illinois
Plus each Apple Silicon core executes at minimum twice the number of instructions per clock cycle as anything else out there.
 

Krevnik

macrumors 601
Sep 8, 2003
4,101
1,312
The end effect is that 4 Icestorm cores offer as much performance benefit as SMT on quad-core x86 CPUs. So yes, for all indents and purposes M1 is a quad-core CPU.

Although, at least with the M1, you aren’t running into scenarios that can sap away the performance benefit of hyperthreading.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,679
Plus each Apple Silicon core executes at minimum twice the number of instructions per clock cycle as anything else out there.

But then again Apple Silicon runs on much lower frequency. And there are obviously pipeline-induced delays.
 

Spindel

macrumors 6502a
Oct 5, 2020
521
655
The end effect is that 4 Icestorm cores offer as much performance benefit as SMT on quad-core x86 CPUs. So yes, for all indents and purposes M1 is a quad-core CPU.
As I stated in my original post, yes people should see the M1 as a 4 core CPU for all heavy tasks.

But there is a but...

The low powered cores can actually execute full operations without sapping cpu cycles from the 4 high powered cores. This is unlike hyperthreating/SMT that can (for many tasks) only prepare data in the pipeline but not execute it. So, at least in theory, for general purpose use with multitasking (as is the case as long as you have background tasks running etc) a M1 computer should perform better than an fantasy x86 computer with 4 cores and HT/SMT that have the same single threaded performance because in that case the M1 actually is an 8 core CPU. It's only in specific "heavy lifting" and single task environments (like in example CPU rendering) that it behaves more like a 4 core CPU with HT/SMT.


Man this became a convoluted explanation, I hope everyone gets the geist of what I'm trying to say.
 

leman

macrumors Core
Oct 14, 2008
19,521
19,679
As I stated in my original post, yes people should see the M1 as a 4 core CPU for all heavy tasks.

But there is a but...

The low powered cores can actually execute full operations without sapping cpu cycles from the 4 high powered cores. This is unlike hyperthreating/SMT that can (for many tasks) only prepare data in the pipeline but not execute it. So, at least in theory, for general purpose use with multitasking (as is the case as long as you have background tasks running etc) a M1 computer should perform better than an fantasy x86 computer with 4 cores and HT/SMT that have the same single threaded performance because in that case the M1 actually is an 8 core CPU. It's only in specific "heavy lifting" and single task environments (like in example CPU rendering) that it behaves more like a 4 core CPU with HT/SMT.


Man this became a convoluted explanation, I hope everyone gets the geist of what I'm trying to say.

I completely agree with you. What I meant is that M1 is best compared with other quad-core CPUs for benchmarking purposes (because you know, there are people who say that M1 is underwhelming because it's slower than a 16-core $800 desktop CPU....)

P.S. Still, my favorite one was that ex-intel(??) engineer who claimed that single-threaded performance comparisons between M1 and Intel CPUs are "unfair" because M1 does not have SMT and therefore would run two threads at lower efficiency(????)
 
Last edited:
  • Like
Reactions: Spindel

Spindel

macrumors 6502a
Oct 5, 2020
521
655
I completely agree with you. What I meant is that M1 is best compared with other quad-core CPUs for benchmarking purposes (because you know, there are people who say that M1 is underwhelming because it's slower than a 16-core $800 desktop CPU....)
Specially right after launch that the M1 was even compared to a x5900 or x5950 speaks volumes to how powerful it is. And it is the low end chip that you get in a $700 system.

Before the M1 no one expected to do the stuff people now do on an Air, 13" Pro or a Mac Mini. People have completely lost perspective of what machines they are actually doing some damn heavy tasks on.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.