4 ms·
I saw something yesterday where Rosetta 2 ran apps faster than real Intel chips on the M1. Crazy
by mmargerum 6y ago
I saw something yesterday where Rosetta 2 ran apps faster than real Intel chips on the M1. Crazy
- StillBored 6y agoIt was noted years ago (https://www.hpl.hp.com/techreports/1999/HPL-1999-78.html https://www.hpl.hp.com/techreports/1999/HPL-1999-78.html) that dynamic runtime optimization could speed up native programs (aka x86 on x86, or in the above case pa-risc on pa-risc). But in the end, the reason we don't have similar systems everywhere today is that the vast majority of the benifit has been consumed by modern OoO machines and Profile guided optimization. If your seeing significant x86 speedups in rosetta its likely one of two things are happening. So you could be running very poorly optimized x86 code, or its a system call/graphics/etc heavy benchmark which is spending the majority of its time in the OS. The latter was a big conversation during the early PPC years when apple was claiming their machines were faster than x86's running x86 code because of this one x86 benchmark that ran better on a PPC mac (can't remember the name). But it turned out it was mostly an OS benchmark, and 99% of the time it was just measuring native PPC macos performance vs windows95. The former (poorly optimized x86) can happen for a number of reasons, one of the most common is people targeting the base x86-64 instruction set and ignoring avx/etc, or just simply unoptimized builds.