其实这个问题的答案和《Surface Pro X 的续航能力真的有那么强吗》的答案一致 ——在非转译的原生 ARM64 生态下,能。
不管是 Microsoft 还是 Apple,对于 x86/x64 软件的二进制指令兼容都是靠 JIT 完成的,换而言之,这就是另外一种 CLR/JVM,而中间码/字节码就是原始的 x86/x64 指令。而JIT 产生的 Native Cache 可以理解成 NGen 工具产生的本机镜像,可以理解成 SQL Server /Paint.NET安装结束后运行的那一段 Profile 的产物。
但是与 .NET CLR 不同的是,IL 到最终的二进制根据逻辑简化,可以有优化的余地,而二进制转译更类似指令集翻译,根据指令集架构不同,轻则无法利用指令集优势,重则无法保证幂等。前者可以理解成运行缓慢,后者直接宣告无法执行或行为异常。其实这样的翻译带来的效率损耗就不容小觑了,根据评分显示,传译指令带来的性能损耗平均在三成左右,也就是获得同样的产物可能需要在高功耗下运行更长时间。