Rosetta2: x86-64 Translation Performance

The new Apple Silicon Macs being based on a new ISA means that the hardware isn’t capable of running existing x86-based software that has been developed over the past 15 years. At least, not without help.

Apple’s new Rosetta2 is a new ahead-of-time binary translation system which is able to translate old x86-64 software to AArch64, and then run that code on the new Apple Silicon CPUs.

So, what do you have to do to run Rosetta2 and x86 apps? The answer is pretty much nothing. As long as a given application has a x86-64 code-path with at most SSE4.2 instructions, Rosetta2 and the new macOS Big Sur will take care of everything in the background, without you noticing any difference to a native application beyond its performance.

Actually, Apple’s transparent handling of things are maybe a little too transparent, as currently there’s no way to even tell if an application on the App Store actually supports the new Apple Silicon or not. Hopefully this is something that we’ll see improved in future updates, serving also as an incentive for developers to port their applications to native code. Of course, it’s now possible for developers to target both x86-64 and AArch64 applications via “universal binaries”, essentially just glued together variants of the respective architecture binaries.

We didn’t have time to investigate what software runs well and what doesn’t, I’m sure other publications out there will do a much better job and variety of workloads out there, but I did want to post some more concrete numbers as to how the performance scales across different time of workloads by running SPEC both in native, and in x86-64 binary form through Rosetta2:

SPECint2006 - Rosetta2 vs Native Score %

In SPECint2006, there’s a wide range of performance scaling depending on the workloads, some doing quite well, while other not so much.

The workloads that do best with Rosetta2 primarily look to be those which have a more important memory footprint and interact more with memory, scaling perf even above 90% compared to the native AArch64 binaries.

The workloads that do the worst are execution and compute heavy workloads, with the absolute worst scaling in the L1 resident 456.hmmer test, followed by 464.h264ref.

SPECfp2006(C/C++) - Rosetta2 vs Native Score %

In the fp2006 workloads, things are doing relatively well except for 470.lbm which has a tight instruction loop.

SPECint2017(C/C++) - Rosetta2 vs Native Score %

In the int2017 tests, what stands out is the horrible performance of 502.gcc_r which only showcases 49.87% performance of the native workload – probably due to high code complexity and just overall uncommon code patterns.

SPECfp2017(C/C++) - Rosetta2 vs Native Score %

Finally, in fp2017, it looks like we’re again averaging in the 70-80% performance scale, depending on the workload’s code.

Generally, all of these results should be considered outstanding just given the feat that Apple is achieving here in terms of code translation technology. This is not a lacklustre emulator, but a full-fledged compatibility layer that when combined with the outstanding performance of the Apple M1, allows for very real and usable performance of the existing software application repertoire in Apple’s existing macOS ecosystem.

SPEC2017 - Multi-Core Performance Conclusion & First Impressions
Comments Locked

682 Comments

View All Comments

  • mdriftmeyer - Saturday, November 21, 2020 - link

    Threadripper Zen 3 Q12021. Lisa Su and team have already verified.
  • vlad42 - Tuesday, November 17, 2020 - link

    It is interesting that they might be working on higher end parts. However, I fear that only companies that are dedicated chip manufacturers/designers such as AMD, Intel, Arm, etc. can financially justify maintaining a sufficient update pace for low volume high end chips due to the fact that they have a much larger addressable market. The costs for those high end parts need to be made up after all.

    Since people have complained for a long time about the slow update pace for the iMac, Mac Mini, Mac Pro and any other desktop/workstation Mac I may be forgetting, maybe it will not matter?

    I wonder if those dedicated high end chips could be a Mac Pro's CPU and GPU?
  • ABR - Wednesday, November 18, 2020 - link

    I'm afraid this is what it looks like. The high end Macs will be updated even less often than they are now and be even further behind – both the lower end models as well as PCs that will be able to use the latest discrete graphics.
  • alexvoda - Wednesday, November 18, 2020 - link

    I anticipate that there will be no Apple Silicon Mac Pro.
    Apple will most probably introduce another M cpu for the MacBook Pro and the iMac simply because this one is capped at 16GB of RAM. It may even be the same chip but clocked higher thanks to the thermal headroom and without on-package RAM.
    But I do not think Apple will develop a chip for a very niche product like the Mac Pro. Apple is not SGI. Apple's core market is not high end workstations.
    We will probably see the Mac Pro continue to be updated as long as new x86 macOS versions are released and as long as Intel offers something worth updating to.

    Or maybe a future Mac Pro will just be a multisocket design with regular iMac CPUs.
  • colinstalter - Wednesday, November 18, 2020 - link

    I would totally agree with you, but they did say that they plan on doing the ENTIRE line. maybe it will just be a chiplette design like AMD. I really don't know, it's hard to imagine them competing in the high-TDP space, but if they say they'll do it i'm sure they will. Their problem will be that that their main strong point is great perf per watt. For the MacPro no one cares about that and just wants the most power possible within a 100-300 watt TDP.
  • jbelkin - Thursday, November 19, 2020 - link

    If Apple says 24 months, they mean in about 15, they will be done with the transition. They have already announced the new Mac Pro will be about half the size of the crrent one. The high end Pro market moves the slowest with plugs in and dongles so it makes sense they'll move slower.
  • jbelkin - Thursday, November 19, 2020 - link

    Apple owns the high end in laptops (the 1K+ market as the industry counts). 80-90% market share. Macs are about the size of McD's or State Farm, ONLY at Apple can a $25 BILLION dollar business unit be dismissed.
  • BushLin - Thursday, November 19, 2020 - link

    "Apple owns the high end in laptops (the 1K+ market as the industry counts). 80-90% market share" [Citation needed] (not really as it's obviously nonsense)
    Apple's valuation and profits largely come from iPhone sales and services.
  • MrCrispy - Tuesday, November 17, 2020 - link

    First chip?? They've spent a decade designing and building iPhone/iPad SOCs which is exactly what M1 is with a different layout.

    This is a natural evolution of those. The most impressive part of this is actually Rosetta 2, and Apples's ability to transition the entire line - which comes from having a walled garden and captive developers/users who feed on hype, and not giving a crap about backwards compatibility.

    Other companies don't have this luxury.
  • TEAMSWITCHER - Wednesday, November 18, 2020 - link

    I don't see Apple hyping these products anymore than Intel, Nvidia, or AMD are hyping their own products. I do think that Apple delivered silicon that is competitive with what AMD and Intel are selling today, and it's now a three way race. I think that's a good thing.

Log in

Don't have an account? Sign up now