3 ms·
I think Apple didn’t want to support x86 emulation at all, and made Rosetta 2 purely AOT compilation (which you can’t really do with virtual machines). It makes
by easton 6y ago
I think Apple didn’t want to support x86 emulation at all, and made Rosetta 2 purely AOT compilation (which you can’t really do with virtual machines). It makes it so they don’t have to deal with having x86 VMs available but super slow making people think that Apple Silicon is slow (even if that’s untrue), and that’s kind of the growing pain that Microsoft is going through at the moment with Windows on ARM.
- anyfoo 6y agoRosetta 2 purely AOT? Where did you get that idea from?
- jagger27 6y agoIt certainly still does some JIT/interpretation at runtime but it does indeed translate the executable upon first launch.^1 I can’t imagine how it would be able to fully translate a browser JavaScript engine that’s doing its own JIT, for example. 1: https://www.macrumors.com/2020/11/12/rosetta-2-translation-can-take-20-seconds/ https://www.macrumors.com/2020/11/12/rosetta-2-translation-c...
- xenadu02 6y agoAutomatic translation of a hypervisor, guest kernel, and guest userspace is a far different level of difficulty than translating a userspace application. Saying "didn't want to support" implies that one can "just" repurpose binary translation with a few build settings. You're off by several orders of magnitude.