Re:The impact of Apple Silicon Macs on Broadway
by saagarjha on Friday December 25, 2020 @03:49PM
(#25538929)
See https://lemire.me/blog/2020/12/13/arm-macbook-vs-intel-macbo... for SIMD performance. M1 is fairly competitive even under Rosetta. Also, if your audio code is self-modifying, I really have no idea what you could possibly be doing.
Re:The impact of Apple Silicon Macs on Broadway
by marcan_42 on Saturday December 26, 2020 @01:22AM
(#25541830)
Self-modifying code is just one example. The point is there is no way to positively identify all basic block entry points on x86 (especially due to its variable-length instructions). That means that there is always the possibility that the AoT didn't catch everything, and then your plug-in takes a novel uncached codepath at some point, the JIT fires, and you get a real-time constraint violation and a drop out.
Also, audio companies sometimes like to use "fun" DRM/copy protection systems.
Besides, audio apps themselves doing JIT would not be unheard of. For example, that'd be a very efficient way of implementing a modular synth. Those apps could JIT in a realtime-safe way; Rosetta can't (it doesn't have enough info).
Re:The impact of Apple Silicon Macs on Broadway
by samatman on Friday December 25, 2020 @02:17PM
(#25538380)
These kinds of questions are why the post you're replying to asked if it was personal experience or speculation.
You responded with some technically-detailed speculation, which, fair enough. I guess we'll have to wait and see.
I'd personally be more concerned about stability and drop-out issues. Apple sells Rosetta as an "ahead-of-time" translator, but that is necessarily best effort (because true transpiling is not a solvable problem, e.g. self-modifying code). Thus, there is always the possibility that the JIT gets invoked in the middle of the audio processing thread, and that won't end well for real-time guarantees. There are also programs that just don't work under Rosetta properly (for unclear reasons).