this post was submitted on 22 Nov 2023
1 points (100.0% liked)
Hardware
47 readers
1 users here now
A place for quality hardware news, reviews, and intelligent discussion.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Interesting topic, but tragically shallow treatment of the subject. He tested with Handbrake and found Apple's Rosetta 2 to be slightly better (lower overhead) than Microsoft's solution, and tested with some of his own code and found Microsoft's to be significantly better than Apple's. But we didn't get any description of what that mystery code is doing, so it's a largely worthless result and leaves him without enough justification to make any solid conclusions (Handbrake is a good test to start with, but not enough on its own).
I would have liked to see a comparison of what x86 instruction set extensions are supported by the respective compatibility layers (especially the SIMD extensions), an overview of the general techniques used by the compatibility layers (ie. ahead-of-time translation or JIT or instruction-by-instruction emulation or a mix of techniques) and how much caching of translations affects first-run performance vs subsequent runs, and comparison of both single-threaded and multi-threaded workloads (because ARM's weaker memory model than x86 is a major challenge for translating multi-threaded code with low overhead).
As someone else here has pointed out, Windows on ARM emulation ignores this by default and just accepts the possibility of wrong results or app crashes.
So, you're likely not going to see much performance difference, but...