• @AVincentInSpace
    link
    English
    11 month ago

    Apple’s x86->ARM transpiler

    (It accomplishes this by “cheating” and turning on a feature only found in Apple Silicon that make concurrent memory access rules more similar to x86, but still)

      • @AVincentInSpace
        link
        English
        11 month ago

        Qemu is an emulator designed to allow you to run software for one architecture on another, much like Rosetta does. Qemu has gained the ability to run native virtual machines using hardware virtualization, which it does astonishingly well, but its original purpose is emulation. In terms of quickness, though, more modern offerings run circles around it

        • Possibly linux
          link
          fedilink
          English
          11 month ago

          Do you have benchmarks to confirm that hardware accelerated virtualization on qemu is slow? It is what powers a lot of things including hypervisors like Proxmox. It also supports hyper-v acceleration. As far as Apple is concerned no one is really running a Mac so that isn’t a useful comparison.

          • @AVincentInSpace
            link
            English
            11 month ago

            I didn’t say hardware accelerated virtualization on qemu was slow. In fact, it’s one of the best performing hypervisors out there. When used as an emulator, however, its performance leaves something to be desired.

            • Possibly linux
              link
              fedilink
              English
              11 month ago

              Even as a emulator it is very solid. Name one emulator that is faster. (Rosetta is a translator not an emulator)

              • @AVincentInSpace
                link
                English
                1
                edit-2
                1 month ago

                …the difference being? JIT transpilers still count as emulators.

                • Possibly linux
                  link
                  fedilink
                  English
                  11 month ago

                  They really don’t. A emulator is doing all of the hardware in software. A translator is just converting instructions.

                  • @AVincentInSpace
                    link
                    English
                    1
                    edit-2
                    1 month ago

                    By that definition, qemu-[architecture] is a translator. qemu-system-[architecture] is an emulator.

                    And it’s still a worse translator than Rosetta. Because Rosetta cheats.