3780 views|3 replies

1w

Posts

25

Resources
The OP
 

【FireBeetle 2 ESP32 C6】Comparison test of several esp32 performances [Copy link]

 

In order to understand the performance of esp32c6, a simple performance comparison was made on several development boards. A short test program was written to calculate fractals, pi, etc. The test is not too rigorous and is only used as a reference.

From left to right: rpi PICO, esp32s2, esp32s3, esp32c3, esp32c6. For hardware comparison, please refer to the post [FireBeetle 2 ESP32 C6] esp32 series chip comparison .

The test procedure is as follows, including addition, multiplication (division), fractal, pi and other calculation procedures. The time used for each test is calculated separately. The shorter the time, the better the performance. In order to ensure that the test is carried out in the same environment, the firmware of the development board is upgraded to the latest test version before the test.

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)

Test results (time unit is ms)

esp32c3 esp32c6 esp32s2 es32s3 rpi pico
frequency 160MHz 160MHz 160MHz 160MHz 125MHz
ram 203264 342528 7797248 252416 233024
Addition 1,000,000 times 5798 5642 7693 6403 10392
Multiplication 1,000,000 times 5955 5555 7670 6334 10257
Division 1,000,000 times 6263 5937 7307 5884 10313
mandelbrot (iterations 200) 4526 3862 8154 4122 7331
Calculate pi to 1000 digits 407 420 675 463 562
Calculate pi to 10,000 digits 32997 30260 60229 36467 66017

From the test results, we can see that the performance of esp32c6 is slightly better than that of esp32c3, which is about 5-10% in total. The performance differences of several esp32 chips are not too big, but the esp32cx series with risc-v core still has a slight advantage. It seems that the subsequent H series (low-cost and low-power wireless communication) and P series (high-performance and high-security general-purpose) will also be worth looking forward to.

Latest reply

From esp32c3 to esp32c6, why is the gap so big?   Details Published on 2024-4-28 09:14
 
 

725

Posts

4

Resources
2
 

The ESP32 performance comparison summarized by the host is very practical and of great reference value for selecting boards. Thank you for sharing.

 
 
 

6027

Posts

6

Resources
3
 

From esp32c3 to esp32c6, why is the gap so big?

Comments

The manufacturer is arbitrary.  Details Published on 2024-4-28 09:32
Personal signature

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

 
 
 

1w

Posts

25

Resources
4
 
Qintianqintian0303 posted on 2024-4-28 09:14 From esp32c3 to esp32c6, why is the gap so big?

The manufacturer is arbitrary.

 
 
 

Guess Your Favourite
Just looking around
Find a datasheet?

EEWorld Datasheet Technical Support

Featured Posts
About the Japanese

( 1) Four surgeons sat around and talked about what kind of people they liked to operate on. The first docto ...

Design experience exchange: Matters needing attention in AD sampling

Mainly for high-precision measurement AD. 1: The reference voltage needs to be accurate enough, and it is recommende ...

TI C6000 Data Storage Processing and Performance Optimization

Memory is to CPU like warehouse is to workshop. Raw materials, semi-finished products, finished products, etc. in the wo ...

Namisoft shares classic case of multi-contact electrical automatic test system

Overview When performing performance testing on multi-contact electrical appliances, it is necessary to use a variet ...

[Atria Development Board AT32F421 Review] 4. Run RTX

I've been very interested in RTX recently. You can use it as an operating system just by checking the box without portin ...

Smart Camera Structural Design--Physical Assembly

After fine-tuning various details, we made a sample of a light-curing 3D and a CNC aluminum alloy sample using a machini ...

MS8211 Pen-Type Multimeter Disassembly

This post was last edited by dcexpert on 2022-2-4 16:55 I had nothing to do these few days, and I accidentally found th ...

Thonny Python Editor upgraded to 4.0.0 Beta1

Changes since 3.3.13 Upgraded bundled Python to 3.10 Mac bundle now comes with unversal2 build of Python Dropping supp ...

LTspice simulation tutorial——xutong

@xutong LTspice (1) VScode and .model LTspice(2) .TEXT uses Xnn LTspice(5) components and libraries LTspice .Subckt(1) P ...

Common Mode Rejection Ratio and Power Supply Rejection Ratio of Op Amp

1. If the same signal is applied to the two input terminals of the op amp at the same time, the difference in input volt ...

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
快速回复 返回顶部 Return list