Apple created history when it launched the new MacBooks with its in-houseARM-based Apple M1 processor, replacing Intel processors after more than a decade. With such a huge transition, there was a gargantuan task on Apple’s hand to maintainapp compatibility on M1. However, it appears Apple has pulled it off through its powerful translation layer — Rosetta 2. We have already seen howWindows on ARMfailed to entice users because of compatibility issues with x86 apps. So what makes Rosetta 2 so powerful and why Windows x86 emulation does not seem to have that promise? Well, to find the answer, let’s go ahead and compare Apple’s Rosetta 2 vs Windows x86 Emulation side by side.
Apple’s Rosetta 2 vs Windows x86 Emulation: Everything You Need to Know
Here, we have mentioned all the sections we have covered so you can easily find all the information. You can click on the link to seamlessly move between different sections.
First of all, Rosetta 2 is a translation layer which means it translates the instruction sets of Intel x86 architecture into ARM-based Apple Silicon architecture. When I say instruction set, it means the commands (also called machine code in computing) needed to execute a program of one architecture on another. Sincex86 and ARM architectures are drastically different, this translation is required for smooth functioning of Intel-based apps.
Now the question comes, how does this translation happen and how is Rosetta managing to run heavy x86 apps on ARM Macs seamlessly? You can attribute the main reason to theAhead-of-time (AOT) compilerthat Apple has deployed on Rosetta 2. Earlier with Rosetta in 2006, Apple was only using the Just-in-time (JIT) compiler for static binary translation. Now with the AOT compiler on Rosetta 2, Apple Silicon is able to translate and compile the code on the fly through dynamic binary translation.
What it means is that Rosetta 2 now uses both AOT and JIT compiler, depending on the scenario. Even before you have opened an app, Rosetta 2 uses the AOT compiler during the app installation to translate the code. It makes the Intel-based appbehave like a Universal appmade natively for the Apple Silicon. In cases where the parameters are not known or the values will be generated in the runtime, Rosetta 2 uses JIT for real-time translation.
In tandem, Rosetta 2 is able totranslate x86 instruction setsto ARM-specific code much before and in a faster way, bringing the performance difference between Universal native apps and Intel-based apps to a narrow margin.
Unlike Apple, Microsoft has not fully embraced ARM and there has been a slow development on this front. The company has so far licensed only a few ARM-based Windows laptops including the Surface Pro X and some always-connected PCs by HP, Lenovo, etc. The main reason behind the slow adoption of ARM-based Windows laptops is apparently thelack of support for x86-64 bit (Intel-based 64-bit) appswhich cover the bulk of modern Windows apps.
As of now, ARM-based Windows laptops only support native apps built on the ARM instruction set and 32-bit Intel-based apps which run through Windows x86 Emulation. You can conclude thatWindows x86 Emulation has been a bottleneckfor smooth transitioning to ARM. Coming to the question, why can’t Microsoft pull off something like Rosetta 2 on Windows 10?IrfanView running through x86 Emulator on Windows 10X
Next, Windows has tomaintain backward-compatibilitywith thousands of programs, plugins, tools, outdated libraries, and whatnot. Whereas, Apple’s tight control of the platform ensures developers are always on the modern framework for developing apps which in turn, helps in making such a huge transition. Besides that, as Apple has already done a successful transition from PowerPC to Intel Macs (2006-2009) in the past, it has a far better experience to pull something like this.
Lastly, the performance difference between Qualcomm’s Snapdragon 8cx (found on Windows-based ARM laptops) and Apple M1 is significant. Even the latestSnapdragon 888is at least a generation behind the Apple A14 Bionic. There is good news though. Qualcomm has announced the next iteration of desktop processor — theSnapdragon 8cx Gen 2 5G— in September, and it will be available on ARM-based Windows laptops next year. The combination of a new chip and improved emulation may do the trick for Microsoft.
It’s clear that Rosetta 2 is pretty powerful and Apple has done a fantastic job at bringing app support for Intel-based programs. At present, Windows on ARM may not look that promising, but given Microsoft’s announcement of the new emulation method, it surely raises hope for Windows users. It will be left to be seen if Microsoft one-ups Apple in the next quarter. Anyway, that is all from us. If you have any questions then comment down below and let us know.
Passionate about Windows, ChromeOS, Android, security and privacy issues. Have a penchant to solve everyday computing problems.