- 主题:RISC-V对比Cortex-M的Dhrystone性能测试对比
之前对比了RISC-V和Cortex-M的代码密度,结论是同样功能,RISC-V要多用大约6成的F
LASH空间,追求面积优化的应用器件选型时需要注意,那么性能如何呢?本文对比了一
下。
测试方法使用Dhrystone 2.1源代码,RISC-V分别和M4,M3核心对比,测试结果如下:
RISC-V芯片,GD32VF103,RV32IMAC核心,8M主频,GCC编译器
-O3优化,实测时间54.39ms
-Os优化,实测时间94.09ms
-Ofast优化,实测时间54.39ms,与-O3完全一样
ARM芯片,GD32F330,Cortex-M4核心,8M主频,AC6编译器
-O3优化,实测时间38.40ms
-Os优化,实测时间39.15ms
-Ofast优化,实测时间38.40ms,与-O3完全一样
-Oz优化,实测时间57.09ms
GD32F103,Cortex-M3核心,8M主频,AC6编译器
-O3优化,实测时间45.92ms
-Os优化,实测时间46.68ms
-Ofast优化,实测时间45.92ms,与-O3完全一样
-Oz优化,实测时间64.88ms
结论:
最大速度优化情况下,RISC-V执行时间是M4的54.39/38.40*100%=141.64%,是M3的54.3
9/45.92*100%=118.45%。
粗略来看,RISC-V同频性能比M4慢大约4成,比M3大约慢2成。当然这里面肯定有编译器
的差距,GCC肯定是要比AC6弱的,这点毋庸置疑。
ARM也有GCC编译器可用,不过大多数ARM用户都是使用ARM的编译器,对比两者在GCC编译
器下的表现意义并不大。
还有一点是GD没有提供GCC编译器的startup文件,我也懒得再去自己写了。
补充M0的数据,由于GD32没有M0,芯片使用STM32.
STM32F030C8T6,Cortex-M0核心,8M主频,AC6编译器
-O3优化,实测时间46.71ms
-Os优化,实测时间48.47ms
-Ofast优化,实测时间46.71ms,与-O3完全一样
-Oz优化,实测时间69.70ms
--
修改:spadger FROM 36.45.169.*
FROM 36.45.169.*
我之前在8M主频的GD32F350上用O3, GCC, 是61.5ms啊, 比VF还慢了
st官方宣称f103性能是1.25 DMIPS/MHz, 那8M时应该是56.5ms左右
【 在 spadger (echo) 的大作中提到: 】
之前对比了RISC-V和Cortex-M的代码密度,结论是同样功能,RISC-V要多用大约6成的F
LASH空间,追求面积优化的应用器件选型时需要注意,那么性能如何呢?本文对比了一
下。
测试方法使用Dhrystone 2.1源代码,RISC-V分别和M4,M3核心对比,测试结果如下:
RISC-V芯片,GD32VF103,RV32IMAC核心,8M主频,GCC编译器
-O3优化,实测时间54.39ms
-Os优化,实测时间94.09ms
-Ofast优化,实测时间54.39ms,与-O3完全一样
ARM芯片,GD32F330,Cortex-M4核心,8M主频,AC6编译器
-O3优化,实测时间38.40ms
-Os优化,实测时间39.15ms
-Ofast优化,实测时间38.40ms,与-O3完全一样
-Oz优化,实测时间57.09ms
GD32F103,Cortex-M3核心,8M主频,AC6编译器
-O3优化,实测时间45.92ms
-Os优化,实测时间46.68ms
-Ofast优化,实测时间45.92ms,与-O3完全一样
-Oz优化,实测时间64.88ms
结论:
最大速度优化情况下,RISC-V执行时间是M4的54.39/38.40*100%=141.64%,是M3的54.3
9/45.92*100%=118.45%。
粗略来看,RISC-V同频性能比M4慢大约4成,比M3大约慢2成。当然这里面肯定有编译器
的差距,GCC肯定是要比AC6弱的,这点毋庸置疑。
ARM也有GCC编译器可用,不过大多数ARM用户都是使用ARM的编译器,对比两者在GCC编译
器下的表现意义并不大。
还有一点是GD没有提供GCC编译器的startup文件,我也懒得再去自己写了。
--
FROM 149.129.40.*
GCC性能拉胯啊
【 在 tom6bj (tom) 的大作中提到: 】
: 我之前在8M主频的GD32F350上用O3, GCC, 是61.5ms啊, 比VF还慢了
: st官方宣称f103性能是1.25 DMIPS/MHz, 那8M时应该是56.5ms左右
: 之前对比了RISC-V和Cortex-M的代码密度,结论是同样功能,RISC-V要多用大约6成的F
: ...................
--
FROM 36.45.169.*
ARM 编译器免费不,过去一直是 gcc 作 stm32 的开发
【 在 spadger 的大作中提到: 】
: 之前对比了RISC-V和Cortex-M的代码密度,结论是同样功能,RISC-V要多用大约6成的F
: LASH空间,追求面积优化的应用器件选型时需要注意,那么性能如何呢?本文对比了一
: 下。
: ...................
--
FROM 182.150.27.*
赞测试数据
【 在 spadger 的大作中提到: 】
: 之前对比了RISC-V和Cortex-M的代码密度,结论是同样功能,RISC-V要多用大约6成的F
: LASH空间,追求面积优化的应用器件选型时需要注意,那么性能如何呢?本文对比了一
: 下。
: ...................
--
FROM 27.154.195.*
为啥不跟ARM Cortex M0比,而是跟M4比?
--
FROM 120.253.140.*
因为整数性能,M0和M3并没有什么差异。
STM32F030,Cortex-M0核心,8M主频,AC6编译器
-O3优化,实测时间46.71ms
-Os优化,实测时间48.47ms
-Ofast优化,实测时间46.71ms,与-O3完全一样
-Oz优化,实测时间69.70ms
STM32慢一点点,应该是因为内存架构的关系。
ps. GD32没有M0
【 在 fastwind0 (快风) 的大作中提到: 】
: 为啥不跟ARM Cortex M0比,而是跟M4比?
--
FROM 36.45.169.*
可以同时比一下功耗吗?
【 在 spadger (echo) 的大作中提到: 】
: 标 题: RISC-V对比Cortex-M的Dhrystone性能测试对比
: 发信站: 水木社区 (Fri Jun 25 10:32:20 2021), 站内
:
: 之前对比了RISC-V和Cortex-M的代码密度,结论是同样功能,RISC-V要多用大约6成的F
: LASH空间,追求面积优化的应用器件选型时需要注意,那么性能如何呢?本文对比了一
: 下。
:
: 测试方法使用Dhrystone 2.1源代码,RISC-V分别和M4,M3核心对比,测试结果如下:
:
: RISC-V芯片,GD32VF103,RV32IMAC核心,8M主频,GCC编译器
:
: -O3优化,实测时间54.39ms
:
: -Os优化,实测时间94.09ms
:
: -Ofast优化,实测时间54.39ms,与-O3完全一样
:
: ARM芯片,GD32F330,Cortex-M4核心,8M主频,AC6编译器
:
: -O3优化,实测时间38.40ms
:
: -Os优化,实测时间39.15ms
:
: -Ofast优化,实测时间38.40ms,与-O3完全一样
:
: -Oz优化,实测时间57.09ms
:
: GD32F103,Cortex-M3核心,8M主频,AC6编译器
:
: -O3优化,实测时间45.92ms
:
: -Os优化,实测时间46.68ms
:
: -Ofast优化,实测时间45.92ms,与-O3完全一样
:
: -Oz优化,实测时间64.88ms
:
: 结论:
:
: 最大速度优化情况下,RISC-V执行时间是M4的54.39/38.40*100%=141.64%,是M3的54.3
: 9/45.92*100%=118.45%。
:
: 粗略来看,RISC-V同频性能比M4慢大约4成,比M3大约慢2成。当然这里面肯定有编译器
: 的差距,GCC肯定是要比AC6弱的,这点毋庸置疑。
:
: ARM也有GCC编译器可用,不过大多数ARM用户都是使用ARM的编译器,对比两者在GCC编译
: 器下的表现意义并不大。
:
: 还有一点是GD没有提供GCC编译器的startup文件,我也懒得再去自己写了。
:
: 补充M0的数据,由于GD32没有M0,芯片使用STM32.
:
: STM32F030C8T6,Cortex-M0核心,8M主频,AC6编译器
:
: -O3优化,实测时间46.71ms
: -Os优化,实测时间48.47ms
: -Ofast优化,实测时间46.71ms,与-O3完全一样
: -Oz优化,实测时间69.70ms
:
:
: --
:
: ※ 修改:·spadger 于 Jun 25 20:48:46 2021 修改本文·[FROM: 36.45.169.*]
: ※ 来源:·水木社区 mysmth.net·[FROM: 36.45.169.*]
--
修改:spadger FROM 36.45.169.*
FROM 124.205.76.*