I watched Port your Mac app to Apple Silicon session from WWDC last night. They only gave a specific example (which starts around 24:10) of executing a unit test natively in 21 ms on Arm64 to 29 ms on Rosetta 2 running on Arm64. For this specific use case (which is definitely not a general comparison at all) it seems like around 38% slowdown or running around 72% of the native code. And this doesn't even account the potential performance loss due to use of SSE or AVX instructions which are not supported on translation. So developers will have to provide appropriate SIMD instructions or better use Accelerate or Compressor frameworks which have performant implementations of such instructions for Arm64. Furthermore, we do not know if Apple will include any SVE or SVE2 instructions on consumer Macs that they will release later this year. SVE2 would be super nice if they can implement it in time since it can offer significant improvements compared to NEON.I guess it makes sense that Apple is going the Rosetta route again, this time with version 2.
I hope it’s less buggy than applications were under the original Rosetta, but I’m not optimistic. Nonetheless, I’m still thinking this transition will be smoother than the first one.
I’m also guessing performance will be about 40-50% native, which much higher RAM usage.
I’m curious, what does “applications translated at install” mean?
Can we assume Boot Camp is toast?
I expect that most of the casual apps such as Chrome, Edge, Spotify, Discord, Slack, VS Code and tools such as git, homebrew, docker, clang, llvm, gcc, nodejs, python3 will be compiled and available (if not already) for Arm64 by the time we actually get any consumer Mac hardware.
The main problem will be old binaries that are no longer maintained so we will either have to run the whole app with Rosetta 2 or just move on to alternative Arm64 frameworks since Apple does not allow you to mix and match x86_x64 and Arm64 code in a single app. However, I expect that we'll see some Rosetta 2 related performance scenarios in around 2 weeks (I saw some shipments dates around 9th of July on Twitter) when developers get the DTK hardware.
Last edited: