5151|3

1万

帖子

24

TA的资源

版主

楼主
 

【FireBeetle 2 ESP32 C6】几种esp32性能对比测试 [复制链接]

 

为了了解esp32c6的性能,在手上的几个开发板上,做了一个简单的性能对比。编写了一小段测试程序,分别计算分形、圆周率等。测试不是太严谨,只作为一个参考。

 

从左到右分别是:rpi PICO、esp32s2、esp32s3、esp32c3、esp32c6,硬件方面的对比请参考【FireBeetle 2 ESP32 C6】esp32系列芯片对比 这个帖子。

 

 

 

测试程序如下,包括了加法、乘法(除法)、分形、圆周率等计算程序,分别计算每项测试所用的时间,时间越短代表性能越好。为了保证在相同的环境下进行测试,在测试前,将开发板的固件都升级到最新的测试版本。

from time import ticks_ms, ticks_diff
from machine import freq
from platform import platform
import gc

def run(func, *param):
    gc.collect()
    t1 = ticks_ms()
    if param == None:
        func()
    else:
        func(*param)
    t2 = ticks_ms()
    print('calc time:', ticks_diff(t2, t1), 'ms\n')

def mandelbrot(iter=80):
    def in_set(c):
        z = 0
        for i in range(iter):
            z = z * z + c
            if abs(z) > 4:
                return False
        return True
    
    for v in range(31):
        for u in range(81):
            if in_set((u / 30 - 2) + (v / 15 - 1) * 1j):
                print(' ', end='')
            else:
                print('#', end='')
        print()

def pi(places=100):
    # 3 + 3*(1/24) + 3*(1/24)*(9/80) + 3*(1/24)*(9/80)*(25/168)
    # The numerators 1, 9, 25, ... are given by (2x + 1) ^ 2
    # The denominators 24, 80, 168 are given by (16x^2 -24x + 8)
    extra = 8
    one = 10 ** (places+extra)
    t, c, n, na, d, da = 3*one, 3*one, 1, 0, 0, 24
 
    while t > 1: 
        n, na, d, da = n+na, na+8, d+da, da+32
        t = t * n // d
        c += t
    return c // (10 ** extra)


def add_test(N=100000, A=1.1, B=2.2):
    for i in range(N):
        A + B

def mul_test(N=100000, A=1.1, B=2.2):
    for i in range(N):
        A * B


print('\nSystem:', platform())
print('Frequency:', freq())
print('Memory:', gc.mem_free()+gc.mem_alloc())
print('\nBegin test\n')

print('Calculate 1000000 additions')
run(add_test, 1000000)

print('Calculate 1000000 multiplications')
run(mul_test, 1000000)

print('Calculate 1000000 divisions')
run(mul_test, 1000000, 12345, 1/13)

print('Calculate mandelbrot with iterations 200')
run(mandelbrot, 200)

print('Calculate 1000 digits of pi')
run(pi, 1000)

print('Calculate 10000 digits of pi')
run(pi, 10000)

 

 

测试结果(时间单位是ms)

 

  esp32c3 esp32c6 esp32s2 es32s3 rpi PICO
频率 160MHz 160MHz 160MHz 160MHz 125MHz
ram 203264 342528 7797248 252416 233024
加法 1000000 次 5798 5642 7693 6403 10392
乘法 1000000 次 5955 5555 7670 6334 10257
除法 1000000 次 6263 5937 7307 5884 10313
mandelbrot (迭代次数 200) 4526 3862 8154 4122 7331
计算圆周率 1000 位 407 420 675 463 562
计算圆周率 10000 位 32997 30260 60229 36467 66017

 

从测试结果可以看到,esp32c6在性能上,相比esp32c3略有提升,综合起来有5-10%左右。几种esp32芯片的性能差异都不算太大,但risc-v内核的esp32cx系列还是略有优势。这样看起来,后续的H系列(低成本低功耗无线通信)和P系列(高性能高安全通用型)也会比较值得期待。

 

 

最新回复

esp32c3到esp32c6,为什么中间跨度这么大?     详情 回复 发表于 2024-4-28 09:14
点赞 关注(1)
 
 

回复
举报

755

帖子

5

TA的资源

纯净的硅(高级)

沙发
 

楼主总结的esp32性能对比内容非常实用,对挑选板子非常具有参考价值,感谢楼主的分享

 
 
 

回复

6483

帖子

9

TA的资源

版主

板凳
 

esp32c3到esp32c6,为什么中间跨度这么大?  

点评

厂家任性啊  详情 回复 发表于 2024-4-28 09:32
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

回复

1万

帖子

24

TA的资源

版主

4
 
秦天qintian0303 发表于 2024-4-28 09:14 esp32c3到esp32c6,为什么中间跨度这么大?  

厂家任性啊

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
最坏分析

最坏分析其实就是极端值分析:让你知道怎么样才会出问题。 Assure acceptable operation throughout the entire ...

自制廉价的GPS外接天线

有网友试过,效果确实不错:宿舍窗台上(11楼)不到20秒,显示了时间,再过几秒,就显示了经纬度,没调,就收到4颗心!! 材 ...

2007年国赛高频方向题目解析——无识别线装置

本帖最后由 paulhyde 于 2014-9-15 03:33 编辑 终于把07年高频题目解析完成了,从上一篇写完就开始写这篇了, 最近两个月项目比 ...

2013年国赛元器件清单重点分析!(随时更新)

>>2013年器件清单对比及分析_by chbaaic >>分析2013年器件清单中几个比较不寻常的器件_by longhaozheng >>官 ...

28335 程序自动升级的方案

看了官方的的bootloader但ti官方的bootloader是固化死的,不能修改,它的引导是根据单片机特殊硬件引脚上电的状态来执行引导, ...

先搞清楚什么是嵌入式

我们已经习惯了使用强大的计算能力来处理机器学习,那么嵌入式是这样的吗? 一般的机器学习工程师很少考虑计算资源。而且他们 ...

颁奖:助力高效、绿色、安全,与Nexperia一起解密高质量汽车设计秘诀!

助力高效、绿色、安全,与Nexperia一起解密高质量汽车设计秘诀!活动颁奖啦 名单详见下方列表。请获奖者务必在2022年12月 ...

【玄铁杯第三届RISC-V应用创新大赛】LicheePi 4A Yolov5n的HHB编译问题记录

(https://bbs.eeworld.com.cn/thread-1258173-1-1.html)测试了YOLOX,可能是没使用NPU的原因,通过摄像头实时进行AI识别,速度较 ...

esp32s3制作的键盘失灵时不灵

使用esp32s3做了一个快捷键键盘,现在是串口烧录不进去 电脑设备管理器显示ch340正常 上传的时候到Connecting............ ...

关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表