3 ms·
> macOS isn't doing anything special that Linux et al. aren't doing. And you base this comment on, what exactly?
by imwillofficial 5y ago
> macOS isn't doing anything special that Linux et al. aren't doing.
And you base this comment on, what exactly?
- heavyset_go 5y agoCare to share what special things macOS is doing? Because according to Apple's documentation, it doesn't seem like they're doing anything special when it comes to heterogeneous multiprocessing and scheduling that Linux hasn't been doing for quite some time.
- nicce 5y agoAt high level yes, but on much lower level that is another story. When you manufacture your own chips and code your own OS, there are no limits on microtuning. You can design them to work together, instead of when you usually need to make compromises. These kind of tuning might never end up to Linux kernel being too chip specific. Apple has also moved a lot of driver code to another layer, and you don’t need that on kernel for example.
- rowanG077 5y agoThis keeps getting repeated with nothing to back it up. Can you give very concrete examples that apple can do that Linux isn't doing?
- nicce 5y agoThe 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.
- ycomb2e 5y agoWell, XMrig on Linux supports huge pages (~30% increase). XMRig on MacOS 11.2 without huge pages is 9% faster. I think it's due to the scheduling boost of MacOS. Macos: https://xmrig.com/benchmark/4ecQf https://xmrig.com/benchmark/4ecQf Linux: https://xmrig.com/benchmark/47Dr5v https://xmrig.com/benchmark/47Dr5v