4 ms·
Is that really such a unique advantage for Apple? Intel and AMD can work with Microsoft to achieve something similar, for instance.
by pvg 6y ago
Is that really such a unique advantage for Apple? Intel and AMD can work with Microsoft to achieve something similar, for instance.
- bch 6y agoI’m only speculating, but I’d think they wouldn’t even “have to work with” anybody - couldn’t they just instrument whatever they want?
- pvg 6y agoSure, I just meant there's a Microsoft store so if the there was something particularly advantageous to having access to an app store, Intel or AMD are not completely in the wilderness here.
- zsmi 6y agoNot completely in the wilderness sure. But they also have many operating systems to consider. The other obvious ones are Linux, BSD, and, until very recently, macOS. Are you sure it's possible to do a micro-optimization for one without nerfing the others?
- ygra 6y agoDoes the actual machine code doing computations really differ that much based on the OS? I'd guess the differences are just that you call different libraries and maybe a different calling convention, but nothing that would impact code running single-threaded without preemptions much.
- zsmi 6y agoHow the architecture handles the memory hierarchy is hugely important, but your example of calling conventions is a good one too. Keep in mind what calling conversions are: "Calling conventions act as a contract between subroutines at the assembly level." https://levelup.gitconnected.com/x86-calling-conventions-a34812afe097 https://levelup.gitconnected.com/x86-calling-conventions-a34...
- simondotau 6y agoIt's also worth noting that Apple truly has the whole stack under their roof, including the team that maintains their C compiler and optimises LLVM's ARM machine code output. Intel has their own C compiler too, but one wonders to what extent they can profile real commercial software compiled using it, and feed that profiling knowledge back to the silicon designers in a useful way. The existence of AVX-512 makes me doubtful of that. Let's enumerate what Apple has access to in more detail: - third-party apps (in bytecode form) - first-party apps - the kernel - a vast array of performance-critical libraries - c/swift compilers - machine code optimizers - silicon design - product stakeholders The difference is that with Apple, the interaction between the various layers in the stack would be much lower friction than between Intel, AMD and Microsoft. The Apple Silicon team are truly single-customer. Equally as importantly, the Apple Product teams are truly single-buyer (eventually) and unlike Microsoft which has to split loyalties between Intel, AMD, ARM, and three dozen OEMs with their own motherboard designs tying all these bits together. And unlike Intel or Microsoft, everyone at every layer of Apple knows that their success will ultimately be judged on the same, singular metric: the quality/performance of the Apple product being released in September, and then the Apple product being released next March. That kind of unified focus is almost unheard of in the commodity PC space.
- Mathnerd314 6y agoIt's true that having a single stack makes things more efficient, but it also makes the process less adaptive. Although Apple seems to have a policy of buying out/copying successful software and integrating them into the OS, they can't buy everything. So eventually the more open/diverse ecosystem is going to have the better value proposition - a computer is a general-purpose device, and the less it can do the less useful it is. Of course this assumes Apple never gets market dominance where it surpasses all other companies combined, but phone sales are maybe 20% of the market and the laptop sales are only 8% of the market, so this doesn't seem likely to happen. tl;dr 80 developers working on an open stack, even with coordination friction, are going to outperform 20 developers on a closed stack.
- zsmi 6y ago> are going to outperform Using what metric?