Last weekend, I did a new comparison of pi calculations, comparing the performance of different processors by calculating pi with different digits. In addition to MicroPython, I also did a comparison of circuitPython calculations.
chip (borad) |
freq |
ram |
ver |
100 |
500 |
1000 |
2000 |
5000 |
10000 |
100000 |
STM32F073 (Nucleo F073RZ) |
32 |
14400 |
1.18 |
101 |
1516 |
5994 |
24577 |
- |
- |
- |
STM32F091 (Nucleo F091RC) |
48 |
24320 |
1.18 |
70 |
1017 |
4013 |
15308 |
- |
- |
- |
STM32F411 (pybnano v2) |
96 |
99328 |
1.18 |
16 |
171 |
593 |
2574 |
16494 |
58518 |
- |
STM32F411 (pybnano v2)
circuitpython |
96 |
86272 |
7.2.0 |
16 |
153 |
507 |
1836 |
16711 |
71279 |
- |
STM32F405 (pybv10) |
168 |
99456 |
1.18 |
10 |
106 |
378 |
1674 |
10481 |
36866 |
- |
STM32F413 (Nucleo F413ZH) |
96 |
230784 |
1.18 |
14 |
160 |
581 |
2308 |
17872 |
65296 |
- |
STM32F429 (Discovery F429) |
168 |
8196480 |
1.18 |
15 |
175 |
619 |
2306 |
14501 |
59068 |
13200142 |
STM32F746 (Nucleo F746ZG) |
216 |
165120 |
1.18 |
6 |
54 |
179 |
683 |
4577 |
16512 |
- |
STM32F746 (Discovery F7) |
192 |
8196480 |
1.18 |
7 |
60 |
194 |
694 |
4344 |
17971 |
3581969 |
STM32F767 (Nucleo F767ZI) |
216 |
277056 |
1.18 |
5 |
48 |
163 |
622 |
4673 |
17073 |
- |
STM32F769 (Discovery F769) |
216 |
273024 |
1.18 |
5 |
50 |
167 |
634 |
4776 |
17729 |
- |
STM32H743 (Nucleo H743ZI) |
400 |
460948 |
1.18 |
2 |
27 |
92 |
342 |
2435 |
105098 |
947708 |
STM32L432 (Nucleo L432KC) |
32 |
50048 |
1.18 |
51 |
547 |
2019 |
8494 |
45673 |
175622 |
- |
STM32L452 (Nucleo L452RE) |
80 |
139200 |
1.18 |
20 |
209 |
738 |
3093 |
21270 |
73707 |
- |
STM32L476 (pybL) |
80 |
87360 |
1.18 |
twenty one |
215 |
751 |
3487 |
20213 |
71496 |
- |
RP2040 (rpi pico) |
125 |
192064 |
1.18 |
16 |
189 |
667 |
2727 |
21231 |
74879 |
- |
RP2040 (rpi pico)
circuitpython |
125 |
209472 |
7.2.0 |
15 |
158 |
542 |
2015 |
13260 |
71893 |
- |
ESP8266 |
80 |
37952 |
1.18 |
44 |
490 |
1762 |
6432 |
37556 |
- |
- |
ESP32 |
160 |
111168 |
1.18 |
16 |
124 |
391 |
1654 |
10637 |
35934 |
- |
ESP32 - PSRAM |
160 |
4098240 |
1.16 |
16 |
192 |
659 |
2427 |
15108 |
68429 |
14658189 |
ESP32-S2 |
160 |
128000 |
1.18 |
14 |
124 |
408 |
1699 |
12257 |
40578 |
- |
ESP32-S2 (Ai-Thinker ESP-12K)
circuitpython |
240 |
8195840 |
7.2.0 |
9 |
116 |
413 |
1565 |
9702 |
43930 |
22026100 |
ESP32-S3 |
|
|
|
|
|
|
|
|
|
|
ESP32-C3 |
160 |
128000 |
1.18 |
7 |
77 |
280 |
1332 |
8838 |
31028 |
- |
nRF51822 (microbit v1) |
16 |
10048 |
1.9.2 |
184 |
2654 |
10393 |
- |
- |
- |
- |
nRF52833 (microbit v2) |
64 |
64512 |
1.15 |
27 |
322 |
1160 |
4971 |
30269 |
113355 |
- |
nRF52840 (PC10056) |
64 |
246528 |
1.18 |
29 |
332 |
1210 |
5397 |
44434 |
168053 |
- |
nRF52840 (Feather nRF52840 Express)
circuitpython |
64 |
142784 |
7.2.0 |
twenty three |
229 |
741 |
2645 |
18209 |
84670 |
- |
SAMD21 (circuitplay ground)
circuitpython |
48 |
17984 |
7.2.0 |
71 |
906 |
3463 |
16974 |
- |
- |
- |
SAMD51 (PyGamer)
circuitpython |
120 |
154112 |
7.2.0 |
75 |
203 |
537 |
1787 |
11396 |
52945 |
- |
iMXRT1010 (MIMXRT1010 Eval Kit) |
500 |
64000 |
1.18 |
3 |
26 |
88 |
363 |
2062 |
7927 |
- |
iMXRT1010 (MIMXRT1010 Eval Kit)
circuitpython |
500 |
41536 |
7.2.1 |
7 |
64 |
218 |
788 |
5723 |
23972 |
- |
iMXRT1062 (Teensy 4.0) |
600 |
768348 |
1.18 |
2 |
18 |
63 |
236 |
1668 |
7923 |
706754 |
iMXRT1062 (Teensy 4.0)
circuitpython |
600 |
937855 |
7.2.0 |
3 |
40 |
113 |
400 |
2500 |
15823 |
1913130 |
W600 |
80 |
54912 |
1.18 |
18 |
228 |
942 |
3896 |
21174 |
82824 |
- |
illustrate
- Bold represents CircuitPython, normal represents MicroPython
- When repeating calculations, the calculation time will fluctuate slightly, which is normal.
- In order to reduce the interference of other codes on the calculation, clear the original program and reset the hardware before calculation.
- The frequency unit is MHz
- The time unit is ms
For complete test results, please refer to the repository on github
- https://github.com/micropython-Chinese-Community/PiCalcTest