3 ms·
The core reasoning is in the design, and in power to manufacture and update all parts (device, firmware, drivers, OS). You can design them to work flawlessly to
by nicce 5y ago
The core reasoning is in the design, and in power to manufacture and update all parts (device, firmware, drivers, OS). You can design them to work flawlessly together in bigger picture. You can leave out properties from kernel to be done by OS apps. You can make hardware based submodules, such as DCP interface on M1 macs, main target of discussion on Asahi Linux (https://asahilinux.org/2021/08/progress-report-august-2021/ https://asahilinux.org/2021/08/progress-report-august-2021/). You can add own instruction sets for own purposes. Something which is hard to add for Linux kernel.
In theory, you might be able to the same with Linux kernel, but in practice driver development and other stuff is relying on reverse-engineering, black box testing or written specs without access to source code. How time consuming is that compared that to Apple? Is it more likely that main line code in Kernel is acceptable when it works, not when it is perfectly optimized and works? You can't rely that some OS app handles something, when Apple has full power for that.
Android and iOS are better example for this. I post few links which might give an idea.
https://www.quora.com/Why-are-iPhone-processors-more-efficient-and-faster-than-Android-phones https://www.quora.com/Why-are-iPhone-processors-more-efficie...
https://www.quora.com/Why-does-the-iPhone-need-so-much-less-RAM-than-Android-devices https://www.quora.com/Why-does-the-iPhone-need-so-much-less-...
- rowanG077 5y ago> You can leave out properties from kernel to be done by OS apps. Doable on Linux as well. If this is better for performance this most likely already would have been implemented. Besides this is not concrete. With concrete I mean things that are known to be implemented with M1 that for example Asahi won't be able to replicate. > You can make hardware based submodules, such as DCP interface on M1 macs, main target of discussion on Asahi Linux (https://asahilinux.org/2021/08/progress-report-august-2021/ https://asahilinux.org/2021/08/progress-report-august-2021/). This is just hardware. Even so this example is a non-starter since DCP will be supported by Linux. > You can add own instruction sets for own purposes. Something which is hard to add for Linux kernel. It's actually not hard. It's trivial if you add compiler support(which Apple most likely would for, you guessed it, LLVM). There are actually some custom instructions on M1 afaik, mostly used for being able to run X86 more efficiently. > https://www.quora.com/Why-are-iPhone-processors-more-efficient-and-faster-than-Android-phones https://www.quora.com/Why-are-iPhone-processors-more-efficie... Where the top 4 points being pure hardware. Point 5 being about specific design decisions done in Android which doesn't mean anything. Point 7 even says that the most likely performance increase would be custom co-processors which again is pure hardware. I'm not sure what this link is supposed to achieve but it arguments are opposed to Apple being better because of Software hardware magic. > https://www.quora.com/Why-does-the-iPhone-need-so-much-less-RAM-than-Android-devices https://www.quora.com/Why-does-the-iPhone-need-so-much-less-... This link again mentions the design decisions why Android is less responsive. The main culprit mentioned on why Android uses more RAM is that Android implemented by vendors have a load more bloat. This has nothing to do with magic hardware software combo. This is Android from vendors being trash.