最近看到一些吧友讨论 oryon 芯片spec性能。小白用 gcc14 + -ofast + flto(非常激进优化)测试,高通和苹果芯片在 spec2017 int 上的差距,相比极客湾用 clang14 + -ofast(相对激进优化)的测试结果,看起来相对更小一点
这种相对差距更小的情况,可能是因为弱一些的架构在激进优化和 flto 下收益更明显。我自己用两款苹果芯片做过测试,把 m2 和 m4 用相同系统编译器 -o2(普通优化)和-ofast + flto(非常激进优化)对比,发现 m2 在-ofast + flto下相对提升比 m4 更明显。这说明对弱一些的芯片来说,激进优化和 flto 优化带来的性能提升更大,所以小白测试下 oryon 和 apple m3 的差距看起来相对较小
知乎james 也提到,前代8e的oryon 是他测试过的微架构中,coremark 在-o1(低级优化)和-o2(普通优化)下差异最大的微架构,-o2下性能很好,而-o1下甚至比不上 arm 中核 a715。这说明 oryon 对欠优化的代码耐受性不够,更依赖编译器的优化能力。james认为反映出高通oryon在 load/store 子系统和整体微架构设计上还有提升空间,如果编译器生成的代码不够优化,性能就会下降比较明显
实际手机和电脑里大多数优化都是-o2(普通优化)级别,所以 oryon 和苹果芯片在真实应用中的差距大概率比极客湾测试显示的更大一些
所以如果有感兴趣的吧友,可以在 clang 的情况下用-O2(普通优化)测试一下 oryon 和苹果芯片的差距。这样比较符合安卓和苹果生态,因为手机里大多数应用和系统都是在 clang 编译器下、使用普通优化等级(-O2)生成的,这更接近实际使用场景。看看敢不敢比,就看谁有兴趣亲自动手了

这种相对差距更小的情况,可能是因为弱一些的架构在激进优化和 flto 下收益更明显。我自己用两款苹果芯片做过测试,把 m2 和 m4 用相同系统编译器 -o2(普通优化)和-ofast + flto(非常激进优化)对比,发现 m2 在-ofast + flto下相对提升比 m4 更明显。这说明对弱一些的芯片来说,激进优化和 flto 优化带来的性能提升更大,所以小白测试下 oryon 和 apple m3 的差距看起来相对较小
知乎james 也提到,前代8e的oryon 是他测试过的微架构中,coremark 在-o1(低级优化)和-o2(普通优化)下差异最大的微架构,-o2下性能很好,而-o1下甚至比不上 arm 中核 a715。这说明 oryon 对欠优化的代码耐受性不够,更依赖编译器的优化能力。james认为反映出高通oryon在 load/store 子系统和整体微架构设计上还有提升空间,如果编译器生成的代码不够优化,性能就会下降比较明显
实际手机和电脑里大多数优化都是-o2(普通优化)级别,所以 oryon 和苹果芯片在真实应用中的差距大概率比极客湾测试显示的更大一些
所以如果有感兴趣的吧友,可以在 clang 的情况下用-O2(普通优化)测试一下 oryon 和苹果芯片的差距。这样比较符合安卓和苹果生态,因为手机里大多数应用和系统都是在 clang 编译器下、使用普通优化等级(-O2)生成的,这更接近实际使用场景。看看敢不敢比,就看谁有兴趣亲自动手了
