Login Page - Create Account

Support Board


Date/Time: Sat, 23 Nov 2024 20:05:11 +0000



Post From: Performance on Apple Silicon vs x86 VM

[2024-05-05 11:07:40]
MichaelPPTF - Posts: 69
I've done some tests on running Sierra with Apple Silicon Macs and x86 Virtual Machine. It turns out when running on M1 Mac Mini with 16GB RAM using Whiskey (A free WINE Wrapper), it achieved near native performance vs running in an x86 VM with 16GB of RAM, too.

1) Mac Mini M1, 16+512, using Parallels to virtualize a Windows 11 Pro VM, running SierraChart_arm64.exe
Exporting bar data to a file took 3.6 seconds (!!!!)

2) Mac Mini M1, 16+512, using Whiskey translation layer running in MacOS, running SierraChart_64.exe (arm64 won't run for some reason)
Exporting bar data took 250 milliseconds

3) x86 VM, i5 12th gen, 16G RAM + 128G vDisk on SSD, running SierraChart_64.exe
Exporting bar data took 234ms.

All these installations are identical. I zipped the main install from the x86 VM and extracted all the files in other platforms. An update was done prior to packing the files.

I would think if SierraChart_arm64 could run in MacOS the performance would be even better. But near native performance even when running the x86 executable was a nice surprise.

Update 5/10/2024:

I feel the need to clarify some things.

Apple Silicon is based on ARM architecture, and its compatibility with x86_64 (Intel) applications is facilitated by Rosetta 2, a translation technology. Rather than directly executing x86_64 code, Apple Silicon uses Rosetta 2 to dynamically translate x86_64 instructions into ARM instructions at runtime, enabling compatibility with x86_64 apps.

In the past, when Apple used Intel x86 CPUs, running Windows programs on a Mac involved translating x86 Windows API calls to MacOS equivalents. This could be done through emulation or by setting up a virtual machine running x86 Windows. However, with the transition to Apple Silicon, the process has become more complex.

Running x86_64 Windows programs on Apple Silicon Macs now requires additional layers of translation. Solutions like Parallels and UTM provide virtual machines that run ARM-based Windows, which then use Microsoft's x86 emulation layer on ARM to run x86_64 Windows applications. This means there are two layers of translation involved: MacOS -> QEMU virtual machine (running ARM-based Windows) -> x86_64 Windows -> ARM translation layer.

On the other hand, solutions like WINE, Whiskey, and CrossOver do not involve emulation. These programs translate Windows API calls directly into MacOS API calls. While this approach avoids the performance overhead of emulation, it doesn't guarantee full compatibility, as translating API calls between different platforms and architectures can be complex.

Apple values backward compatibility, which is why efforts have been made to make ARM MacOS API calls as similar as possible to x86_64 ones - if they don't, then Rosetta 2 comes to the rescue. This similarity enables x86_64 Windows programs to be translated to run on ARM-based MacOS without the need for an additional layer of emulation. As a result, programs generally perform better when using WINE-based solutions.

For the compatibility reason, I am still not fully onboard with running Sierra with ARM MacOS. For example, WINE does not run Sierra_arm64, because it doesn't know how to translate ARM Windows API calls for MacOS. It is easy to understand because even Microsoft themselves need a translation layer to run x86 Windows programs on ARM Windows. So, it looks like running Arm-native Sierra on MacOS while having good performance is still very far away.

I believe two things need to happen: Sierra releases an ARM-native Linux build, and a Linux distro that supports graphical acceleration when virtualized in MacOS.
Date Time Of Last Edit: 2024-05-10 17:22:50
imagewrite_bar_study_arm_win_vm_parallels.png / V - Attached On 2024-05-05 11:00:04 UTC - Size: 42.74 KB - 118 views
imagewrite_bar_study_arm_win_whiskey.png / V - Attached On 2024-05-05 11:00:09 UTC - Size: 13.04 KB - 110 views
imagewrite_bar_study_x86_win_vm.png / V - Attached On 2024-05-05 11:00:13 UTC - Size: 38.23 KB - 107 views