-3

Why will it take that long to transition all Mac software to ARM according to Apple? I thought all they would need to do is to recompile the source code of their apps and rewrite SIMD code from intel intrinsics to ARM NEON intrinsics. What am I missing that makes this work take this long?

I apologize if this is not the kind of question for this website.

1
  • You misunderstood something. It doesn’t take two years to replace all software but all hardware. People aren’t going to throw their computers away because there is something new around (in a few months time).
    – gnasher729
    Commented Jun 24, 2020 at 16:59

2 Answers 2

6

There are two aspects to this: hardware and software.

Hardware

You are assuming that the second Apple recompiles all the code, everybody will throw away their computers, and buy new ones. That will not be the case.

I used my old MacBook Pro for 7 years. I just bought a new one, on which I spent two months salary. I intend to use it for 5 years, at least, and I would still like to get updates during that time, please!

There are still people using Power Mac G5s, after all!

As long as there is still a substantial number of people running Intel-based Macs, Apple will have to have at least some support for those.

Apple can only finish the transition when either there is nobody using Intel Macs anymore, or Apple is willing to cut off support for those who still use them. Personally, I find two years a rather aggressive timing for that. Two years is the typical time frame for corporations to write off their IT investments, but large corporations tend to be Wintel-based. Many Mac users are not corporations but private individuals who use their computers far longer than two years.

Software

You ask [bold emphasis mine]:

I thought all they would need to do is to recompile the source code of their apps and rewrite SIMD code from intel intrinsics to ARM NEON intrinsics.

That's exactly the problem: yes, they can recompile their apps, but what about Microsoft's apps? Adobe's apps? Ableton's apps? Steinberg's apps? Avid's apps? What about the tons of third-party apps by small indie shops, or individual hobbyist developers? All of those need to be recompiled and possible partially rewritten, too.

I expect that especially the high-performance media manipulation apps will contain lots of hand-written assembly code in their critical paths as well, which will have to be rewritten from scratch. I would expect the same to apply to game engines.

Also, not everybody uses Swift, Objective-C, C++, or C. What about apps written in languages for which no compiler exists that targets ARM? For these, either a new compiler has to be written, or the app has to be rewritten from scratch.

For Apps that are distributed on the Mac App Store, Apple has found a solution:

Apple already requires Apps on the Mac App Store to be delivered in LLVM bitcode format, so that they can be recompiled to ARM. In fact, I wouldn't be surprised if Apple were already recompiling all apps in the Mac App Store to ARM, in order to find any problematic code patterns, contact the authors of popular and important apps, etc.

But, not all apps are distributed through the Mac App Store. Plenty of apps are distributed through other means for various reasons. Some are simply not allowed on the Mac App Store, some are developed by developers who cannot afford to pay the fee for the account, for example.

All of these need to be addressed, or the apps will simply no longer be available on ARM. Also, for this, I find two years to be a rather aggressive timeframe.

2
  • Microsoft and Adobe - actually Apple has worked with them (secretly) over several years to prepare for this month's announcement. Other software publishers are not so lucky.
    – rwong
    Commented Jun 26, 2020 at 11:55
  • @rwong: I watched the keynote now myself. Indeed, this only strengthens the argument: it took two software vendors with almost infinite resources and significant support from Apple several years to port their software … then how long will it take someone who does not have those resources and does not have his personal team of Apple engineers on standby? Commented Jun 27, 2020 at 10:11
5

Because Apple has to coordinate with all the major software vendors who write for the Mac platform. The vendors in turn have to work the changeover into their existing release cycles, and coordinate with their distributors, marketing campaigns, packaging etc. That all takes a while. Nobody's going to want an Apple with the new processor until they can run their applications software on it.

Apparently Apple will have Rossetta 2, a compatibility layer letting Intel code run on ARM chips, but that's only an emulation, which isn't likely to be an entirely satisfactory solution for high end software.

Not the answer you're looking for? Browse other questions tagged or ask your own question.