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

  • Ppietra - Tuesday, November 24, 2020 - link

    No,
    with this:
    https://twitter.com/i/web/status/13287773335122780...
    anandtech author’s twitter account, something that for some reason you have refused to read!
    amazing how you cannot distinguish between processor power consumption and machine power consumption.
  • Nicon0s - Monday, November 30, 2020 - link

    "?? I gave you the Cinebench results. I gave the actual battery capacity, I gave how much it drained when running Cinebench and in what time interval - it is all in the videos!"

    LoL, you only linked to unprofessional, amateurish video. Nobody in their right mind would try to suggest that a video like that is conclusive in terms of how efficient a 4800U chip is.
  • Nicon0s - Monday, November 30, 2020 - link

    "Didn’t measure the power draw? Really?

    Yeas, really. You have so clear perception problems.
  • Nicon0s - Monday, November 30, 2020 - link

    Exactly, quite a flawed way of comparing processor efficiency, also he didn't even test the laptops until the end to see is the power is lost progressively on all laptops.
  • Nicon0s - Monday, November 30, 2020 - link

    "Sorry, but no!"

    WoW, some apple fanboys here are really dense.
    Also recommending an amator youtuber, that was cringey.
  • Pacinamac - Saturday, November 21, 2020 - link

    I am smiling know who had huge involvement in the development of M1...

    You all know who I am talking about...

    Anand. :)
  • GeoffreyA - Sunday, November 22, 2020 - link

    My brother and I were talking about the same thing a week or two ago. I reckon he's been giving Apple advice/guidance on this whole matter. Someone who can see the whole forest in one fell swoop, but understands the wood and bark as well. "The Enemy is moving with their armies of Zen, while the Coves of Sunny languish in the Lakes of Ice, under spell of the Willow Lady. The hero Rocket is detained in the Lost Fields of 14. Now, now is the time to strike with the M1, smiting down the Free Peoples of PC-earth, while the wind speaketh the language of ARM." ;)
  • GeoffreyA - Sunday, November 22, 2020 - link

    On a serious note, I think he's been giving the CPU team a bit of design advice too.

    Anyhow, it would be great to hear an update from him, even if it were just a personal one, telling us how he's doing.
  • Tomatotech - Sunday, November 29, 2020 - link

    He can’t. A lot of contracts specify absolutely no talking to media (which would include Anandtech) without corporate approval. For someone coming from a journalist background, even running a personal blog might raise eyebrows as it is ‘public media’. I don’t like it, but many non-Apple companies are sensitive and paranoid about this kind of thing. I can only imagine it 100x worse at Apple.
  • Tomatotech - Sunday, November 29, 2020 - link

    To add, even if he got corporate approval for a screened interview / statement, it almost certainly couldn’t be with AnandTech. Apple / others might see that as unduly favouring one media outlet because he has personal history with AnandTech. The choice of outlet has to be done by someone else, choosing for professional reason, and fitting in with Apple’s media strategy.

Log in

Don't have an account? Sign up now