Benchmark comparison of MicroPython boards

General discussions and questions abound development of code with MicroPython that is not hardware specific.
Target audience: MicroPython Users.
ckuehnel
Posts: 6
Joined: Sat Feb 02, 2019 3:09 pm

Re: Benchmark comparison of MicroPython boards

Post by ckuehnel » Mon Mar 11, 2019 10:07 am

PyStone result for MAiX BiT w/ MicroPython v0.1.1 (CPU clock 403 MHz):

>>> os.uname()
(sysname='MaixPy', nodename='MaixPy', release='0.1.1', version='v0.1.1 on 2019-02-20', machine='Sipeed_M1 with kendryte-k210')

>>> exec(open('pystone_lowmem.py').read())
Pystone(1.2) time for 500 passes = 98 ms
This machine benchmarks at 5102 pystones/second

User avatar
rcolistete
Posts: 258
Joined: Thu Dec 31, 2015 3:12 pm
Location: Brazil

Re: Benchmark comparison of MicroPython boards

Post by rcolistete » Mon Mar 11, 2019 7:05 pm

Thanks, so I've updated the 1st post with benchmarks on Pyboard D, ESP32 and MAiX BiT.

scruss
Posts: 11
Joined: Sat Aug 12, 2017 2:27 pm

Re: Benchmark comparison of MicroPython boards

Post by scruss » Thu Jul 30, 2020 12:57 pm

I don't think there's one in the table for the ATSAMD51, so I ran these on the Seeed Wio Terminal:

Code: Select all

Seeed Wio Terminal (120 MHz ATSAMD51P19A, MicroPython 331f7c9-dirty on 2020-06-30; Ardupy with seeed)

pystone_lowmem:
Pystone(1.2) time for 500 passes = 339 ms
This machine benchmarks at 1474 pystones/second

('from utime import ...' changed to 'from time import ...' for compatibility with Ardupy)


performanceTest:
>>> performanceTest()
Count:  2192872


hsquare:
>>> Doing 50000 calculations...
calculations done after 7372 ms.
Mean time for each inverse h square calculation = 147.4400043487549 us
The Wio Terminal claims to support a 200 MHz mode, but Ardupy doesn't seem to expose any frequency control through standard libraries.

CircuitPython is much faster. It may be running at 200 MHz:

Code: Select all

Adafruit CircuitPython 6.0.0-alpha.2 on 2020-07-23; Seeeduino Wio Terminal with9


pystone_lowmem:

Pystone(1.2) time for 500 passes = 352 ms
This machine benchmarks at 1420 pystones/second


performanceTest:

Count:  582628


hsquare:

Doing 50000 calculations...
calculations done after 3200 ms.
Mean time for each inverse h square calculation = 64.0000009536743 us
Sum of inverse h square = 37885.3893280029297
Mean of inverse h square = 0.7577078342438


Post Reply