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

  • Zagor Te Nay - Sunday, November 22, 2020 - link

    Unrelated to how good M1 is - and I think it is really darn good, and will only get better as devs start supporting it natively (although Rosetta 2 seems to be doing fine, all considered) - Intel is not hard to beat. AMD has done it with having much less money than Apple has.

    As someone said, Intel has stagnated themselves out of competition. They are more responsible for their own sad current situation than AMD or Apple, really.
  • Spunjji - Monday, November 23, 2020 - link

    @Zagor Te Nay - I don't think the fact that AMD have finally clawed out a lead over Intel indicates that they're easy to beat.

    Nvidia had a crack at CPU design a while back and were forced to pack it in. Samsung have tried to out-engineer Apple with large ARM core designs and have failed. It's not clear whether Qualcomm can't compete or can't be *bothered* to compete, but they've never come within a year of Apple's designs and are usually around 18 months behind.

    These are all large, wealthy, serious organisations. To be honest I'm impressed by Apple, and even more so by AMD.
  • beowulfey - Tuesday, November 17, 2020 - link

    I mean, the point of benchmarks is to compare CPUs that are available today, right?

    In the hypothetical future where Zen 4 is comparable to an M1, I would counter that by then the latest Apple M3 or whatever will have improved as well, so...
  • Tams80 - Tuesday, November 17, 2020 - link

    But Zen 2 is roughly comparable to the M1.

    No one is claiming that other future processors will only match the M1. Well, perhaps other than you in your imagination.
  • halo37253 - Tuesday, November 17, 2020 - link

    M1 is slower than 4800u when it comes to multithread workloads. Even on these video compression tests.... While using slightly more power at most. 22watts vs 25watts while running cinebench...

    Zen3 mobile will be out before M2, and will most likely have no problems matching or beating M2 in nearly any task while using same amount of power. While being 7nm

    Only reason why M1 is even remotely impressive is largely thanks to 5nm. Apple managed to compete with Zen 2 in terms of power efficiency with 5nm, even though Zen 2 is 7nm. This M1 chip is no more impressive than the 4800u in terms of Performance/watt. M1 just has higher single thread vs weaker multi thread....
  • Spunjji - Tuesday, November 17, 2020 - link

    @halo36253 - have to disagree with you on that part. A 5nm process does not magically make a 3.2Ghz CPU act like one boosting north of 4Ghz. M1 is particularly impressive for power draw, which has a lot to do with that process, but it's also quite fast in its own right. Beating out Intel and duelling with a newly-resurgent AMD is an impressive showing for their first SoC designed for anything more than an iPad.

    It's also impressive that it is even on 5nm in the first place. It would have taken lots of work between designers and the foundry to pull that off a year before AMD will make the move.
  • halo37253 - Tuesday, November 17, 2020 - link

    I probably was a little too critical.

    Yes the M1 deserves all the praise it can get. But some of that praise should be on TSMC, they are on fire. TSMC and Samsung have leapfrogged Intel. And Honestly if Intel's Fabs were able to keep up, this move to Arm would have been more questionable. I too think it made more sense to go with their own chip than risk the mac lineup with AMD processors.

    I just wonder how well they can scale their Arm chips of, if they ever do. As if they ever really want to transition the Macbook pro 16, iMac or Macpro We need a Ryzen competitor. Intel was already behind in there areas and users have been wanting a high core count Mac for a long time now. Sadly the idea of running VMs on a Mac is looking grim.

    Apple's Silicon is just what I figured it would be when it was allowed to actually suck power and stay cool. While the 22-25watt wall is most likely firmware enforced to keep the chip from pulling more power than designed for. GPU and CPU performance is top notch. This is what Arm should be. Now only if Apple and MS would work together to get windows for ARM working in bootcamp.

    I just hope we one day see a 8-16 core M series chip from apple only packing high power cores. I'd love to see a ARM chip with a TDP of 65-95watts that doesn't consist of 100 cores.

    Many people have been under the spell that Apple's silicon is somehow magically leagues above everyone else. They are no doubt good, and do give AMD a run for their Money. Funny to say that both AMD and Apple are making Intel look bad.

    I've been wanting a ARM laptop for a long time now TBH. And been putting off getting the Wife a Macbook till these new ARM chips hit the market. Now I just need to hope MS works with Apple on getting Windows onto this. As as soon as windows for ARM allows for x64 apps to run, windows would be the choice for getting games running on these devices.
  • chris.parker@flipingreat.com - Tuesday, November 17, 2020 - link

    Why Windows... ??? All apps can run Arm, windows is not something you run, its a desktop, that I personally practically never use. Applications, now that's what I use. MS has announced a native Arm M1 version of Office, and I am in 100%
  • tuxRoller - Tuesday, November 17, 2020 - link

    Oh yeah, this is far less critical🙄
  • Eric S - Tuesday, November 17, 2020 - link

    TSMC has been doing very well. Although remember that a lot of their work is financed by a cash infusion from Apple.

Log in

Don't have an account? Sign up now