Earlier quoted context omitted.
My argument is they were able to develop the chip because of their control. The constraints allowed them that freedom and the constraints come from the top down integration and control. I'll bow out here because I can just tell this won't be a worthwhile thread.
But what other advantage did this give them? Like name specific examples. Feel free to leave, but I honestly don't see where you're coming from.
- The integrated on-chip RAM dramatically speeds up memory access. Your full 16 GB of RAM on an M1 functions at cache speeds; meanwhile, the L3 cache on an Intel processor is 1-8M, more than 3 orders of magnitude smaller.
- Apple takes full advantage of this with their software stack. Objective C and Swift use reference counting. The advantage of refcounting is that it doesn't have slow GC pauses, but the disadvantage is that it has terrible locality properties (requiring that you update refcounts on all sorts of different cache lines when you assign a variable) which often make it significantly slower on real-world Intel hardware. But if your entire RAM operates at cache speeds, this disadvantage goes away.
- Refcounting is usually significantly more memory-efficient than GC, because with the latter you need to set aside empty space to copy objects into, and as that space fills up your GC becomes significantly less efficient. This lets Apple apps get more out of smaller overall RAM sizes. The 16GB on an M1 would feel very constraining on most modern Wintel computers, but it's plenty for Apple software.
- The OS is aware of the overall system load, and can use it to determine whether to use the performance or efficiency cores, and to allocate workloads across cores. The efficiency cores are very battery-efficient; that's why Macbooks often have multiple times the battery life of Windows laptops.
- The stock apps are all designed to take advantage of efficiencies in the OS and not do work that they don't need to, which again makes them faster and more battery efficient.