Most active commenters

    ←back to thread

    Why is Apple Rosetta 2 fast? (2022)

    (dougallj.wordpress.com)
    172 points fanf2 | 17 comments | | HN request time: 1.279s | source | bottom
    1. leshokunin ◴[] No.42188818[source]
    Super interesting. Putting my PM hat on, I wonder: how many x86 apps on Apple still benefit from this much performance? What's the coverage? The switch to M1 happened 4 years ago, so the software was designed for hardware nearly half a decade old.

    Excellent engineering and nice that it was built properly. Is this something that Linux / Wine / the Steam compatibility layer already benefit from?

    replies(6): >>42188849 #>>42188853 #>>42188863 #>>42190287 #>>42193461 #>>42193810 #
    2. spockz ◴[] No.42188849[source]
    I think it is less of numbers game and more of a guarantee thing. As a user of a new Apple silicon machine you do not have to worry about running x86 software. (Aside from maybe specific audio software and such that are a pain to run on any other hardware and software combination.)

    As such it may very well be a loss leader and that is fine. Probably most development has been done and there is little maintenance needed.

    Also, while most native macOS apps that I encounter have an Apple silicon version now, I still find docker images for amd64 without an arm64 version present. Rosetta2 also helps with these applications.

    3. aaomidi ◴[] No.42188853[source]
    Games. So many games.

    Also, x86 containers.

    replies(2): >>42188857 #>>42190801 #
    4. jsheard ◴[] No.42188857[source]
    Then again games didn't stop Apple from dropping x86-32 support, which nuked half of the Mac Steam library. It wouldn't be out of character for them to drop x86-64 support and nuke the rest which haven't been updated to native ARM.
    replies(4): >>42188930 #>>42189063 #>>42189071 #>>42189495 #
    5. Syonyk ◴[] No.42188863[source]
    "Apple M-series chips emulating x86," in certain benchmarks and behaviors, was right up there with the fastest x86 chips at the time - I'd guess largely in stuff that benefited from the huge L1I/L1D cache (compared to x86).

    I had a M1 Mini for a while, and it played Kerbal Space Program (x86) far better than my previous Intel Mini, which had Intel Integrated Graphics that could barely manage a 4k monitor, much less actual gaming.

    I believe there's a way to use Rosetta with Linux VMs, too (to translate x86 VM applications to ARM and run them natively) - but I no longer have any Macs, so I've not had a chance to play with it.

    6. p_l ◴[] No.42188930{3}[source]
    For games on intel macs they had fallback of BootCamp so combined with not really caring about games outside of random bursts like support for Unity, they were fine telling people to run windows. (ironically, the only Mac I owned ran faster under windows than under macOS...)
    7. darknavi ◴[] No.42189063{3}[source]
    Or OpenGL support
    replies(1): >>42189653 #
    8. astrange ◴[] No.42189071{3}[source]
    Developers had something like 15 years of warning before x86-32 was dropped, which was enough for everyone except Carbon apps and games.

    Btw, Rosetta 2 actually supports x86-32. Which means you can run 32-bit Windows binaries through WINE, just not Mac 32-bit binaries.

    replies(2): >>42190201 #>>42191934 #
    9. saagarjha ◴[] No.42189495{3}[source]
    Rosetta supports it at least. You can run Linux 32-bit games!
    10. rdsnsca ◴[] No.42189653{4}[source]
    OpenGL was deprecated, not removed from macOS.
    replies(1): >>42193407 #
    11. Gigachad ◴[] No.42190201{4}[source]
    The problem with games is most of them are completed projects and no longer actively worked on, unlike software which is a never ending development on a single project.

    So if you kill support for an old game, it will probably never be updated since it's no longer commercially relevant. Publishers are probably almost happy when old games get broken since they can sell you newer ones easier.

    12. throw16180339 ◴[] No.42190287[source]
    There can't be that many other people using it, but I'm using Rosetta2 to run the SML/NJ (https://www.smlnj.org/) implementation of Standard ML. The development team is working on a macOS/ARM64 backend, though.
    13. redwall_hp ◴[] No.42190801[source]
    VSTs. Just as people use vintage physical synthesizers, old guitars, and recording equipment, people use old software that might not ever be updated.
    14. albumen ◴[] No.42191934{4}[source]
    Re games, I've tried running Black Mesa recently 'directly' using Crossover on an M2 Max running Sequoia and the GPTK2 beta libraries; vs running it in a Win11 VM in VMware fusion 13. Performance of the latter is 2-3x better (70-120fps). I'll be playing old Steam games inside the win11 VM going forward.
    15. adrian_b ◴[] No.42193407{5}[source]
    But Apple has never implemented the final specification of OpenGL.

    So even if they have kept the old OpenGL version that they had, many newer OpenGL-based applications cannot run on MacOS.

    Since OpenGL is no longer evolving, it would not have been a great effort to bring the OpenGL support to the last version, and only then freeze it.

    16. 7k5kyrty45 ◴[] No.42193461[source]
    Does Apple ecosystem have any production software any enterprise or industry uses? I recall maintaining Windows Server 2000 related production software just last week. Working software can be really, really old
    17. izacus ◴[] No.42193810[source]
    The more important question is how many people buy a MacBook because they know they can run an x86 app if they have to.

    Just because 0.1% of apps need a feature, the lack of it won't translate into only 0.1% of lost sales. People don't behave like that.

    So the more important question is: how many people moved to ARM because they felt they don't need to worry about compatibility with existing use cases?