分享

近10年ARM及X86各个架构性能发展——FFT实测篇

 金刚光 2021-10-26

数码 

编辑

ASIT_空白

粉丝:263文章:1

已关注

前情提要:在前几天发布测试视频后有小伙伴提出想要更清晰的看到测试结果,今天就摸了这样一篇专栏,欢迎大家点赞、收藏、分享,感兴趣的同学也可以关注下up主,收看更多相关内容。

测试针对不同平台,架构,编译器以及优化参数或者使用虚拟化与指令模拟对同一个目标功能进行计算,获取运算耗时并得到计算成绩和同频成绩。测试程序采用快速傅里叶变换算法,使用C语言编写,该算法对浮点运算能力敏感。程序将会对循环运行固定次数的傅里叶变换,最后输出耗时。然后通过以下公式求出计算成绩

计算成绩=分数因子150÷耗时

同频成绩=计算成绩÷频率

1.不同优化参数

编辑
Windows下优化参数测试结果

可以看到优化后的提升十分明显,i7-10700中甚至相差近10倍。

编辑
termux下优化参数测试结果

同样在安卓termux下使用g++执行Linux程序也有相同的结果。

2.同一处理器同优化参数的不同情况

编辑
X86处理器不同编译器和软件环境下运行情况

结果基本在意料之中,使用了虚拟化和旧版编译器的测试程序成绩会一定程度的偏低。

编辑
ARM处理器不同编译器和软件环境下运行情况

而在ARM处理器这边也与上面的结果相似,不过测试程序在termux上的效果偏高,这个情况也普遍发生在其他ARM处理器的测试中。另外新版Windows 10和11的ARM64版系统支持运行ARM64、ARM32、X64和X86(32位)程序,对骁龙845而言x86转译损失的性能会相对明显,而骁龙8cx和苹果m1会好很多。

3. X86和ARM两方发展情况(x86 win、arm Linux、arm win)

放眼近十年处理器发展,无论是X86还是ARM都有着不小的进步。首先来看下X86处理器。无论是计算成绩还是同频成绩都有一定程度的提升,而在ARM处理器这边从Cortex-A7到A76,性能提升也非常大(功耗也是)。

编辑
X86 IPC发展趋势图(来自极客湾)
编辑
X86处理器不同架构在Windows下运行64位测试程序
编辑
ARM处理器不同架构在Linux下运行64位测试程序
编辑
ARM处理器不同架构在Windows下运行64位测试程序

4.X86和ARM处理器性能比较

编辑
不同X86和ARM处理器在Windows下运行32位测试程序
编辑
不同X86和ARM处理器在Windows下运行64位测试程序
不同X86和ARM处理器在Windows下运行各自原生测试程序

结论上来说X86转译损失不小,X64相对来说可以接受,而原生程序中M1性能十分不错,尤其是同频成绩。而基于A76的8cx也达到了x86处理器的基本水平。

5.性能天梯

编辑
X86、ARM系列处理器FFT性能天梯——O2优化运行Windows程序

最后需要注意的是处理器综合性能需要考虑更多因素,如编码、加密、IO扩展、能效比等等,本视频中的测试结果仅供大家参考。

编辑
小彩蛋:JZ4775、i7-10700 FFT测试——android程序

顺便测试了下一款基于MISP32的安卓手表,使用的SoC为JZ4775,功耗确实蛮低的,性能也是hh

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多