Skip to content

shaoziyang/micropython_benchmarks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

micropython/circuitpython benchmarks

A simple performance comparison between microPython and CircuitPython, comparing the performance of different chips by calculating the time required for operations such as addition, multiplication, division, exponentiation, complex numbers, and pi (the smaller the value, the faster).

Reference test results

Device Platform Version Frequency Memory Integer addition 10000 times Integer addition 100000 times Integer addition 1000000 times Integer multiplication 10000 times Integer multiplication 100000 times Integer multiplication 1000000 times Integer division 10000 times Integer division 100000 times Integer division 1000000 times Float addition 10000 times Float addition 100000 times Float addition 1000000 times Float multiplication 10000 times Float multiplication 100000 times Float multiplication 1000000 times Float division 10000 times Float division 100000 times Float division 1000000 times Power calculation 10000 times Power calculation 100000 times Power calculation 1000000 times Mandelbrot iterating 100 times Mandelbrot iterating 500 times Mandelbrot iterating 5000 times Pi Calculation 1000 bits Pi Calculation 5000 bits Pi Calculation 10000 bits Pi Calculation 100000 bits Pi Calculation 200000 bits
AMD 8745HS linux 3.13.3 4966.0 31329681408 0 3 36 0 4 41 1 3 38 0 3 31 0 3 32 1 3 36 1 5 48 8 36 343 1 11 50 7943 33583
AMD 4800U win32 3.11.2 1800 16557895680 0 0 46 0 0 47 0 0 63 0 0 47 0 0 47 0 0 47 0 16 140 16 62 672 0 31 110 14218 59453
Intel 8250U win32 3.12.7 1800.0 8461197312 0 0 78 0 15 94 0 0 78 0 16 47 0 15 47 0 0 63 0 16 188 15 94 828 0 31 140 22703 93469
Intel N5105 linux 3.12.5 2900.0 12307279872 1 7 78 1 8 79 1 8 79 1 8 70 1 7 70 1 7 77 2 13 120 17 69 662 1 35 150 23149 97739
M5Y71 linux 3.12.6 2900.0 8222113792 1 7 75 1 8 81 1 8 74 1 7 67 1 7 67 1 7 74 1 12 120 17 72 700 2 43 180 36916 222377
SM8250(865) linux 3.12.7 2201.6 12218916864 1 10 101 2 11 92 1 11 105 1 9 85 1 9 88 1 10 96 2 12 125 18 74 744 1 25 124 24251 100945
MT6895Z(8100) linux 3.12.7 unknow unkonw 2 15 149 1 15 150 1 16 159 1 14 135 2 13 134 1 15 148 2 21 208 31 130 1304 3 44 213 39184 190532
MSM8998(835) termux 3.11.5 1929.6 3913424896 2 21 157 2 17 177 2 19 176 1 16 140 1 14 140 2 16 177 4 35 344 37 149 1436 4 45 238 47170 223263
S905L3 linux 3.10.12 2016 1898082304 8 73 727 7 75 746 7 70 699 7 67 675 7 67 674 7 69 684 8 84 841 125 506 4868 8 112 520 86021 368220
rpi4b linux 3.11.2 1800.0 8188366848 1 12 121 1 13 124 2 13 128 1 11 106 1 11 107 1 12 131 2 20 193 33 121 1154 3 47 216 36806 156457
rpi2b linux 3.9.2 900 966762496 15 149 1507 18 183 1829 14 142 1418 13 132 1322 13 131 1314 13 134 1340 19 188 1865 264 1065 10341 59 1317 5150 540741 2221524
imxrt1062 MicroPython v1.23.0 600 768384 11 109 1092 37 381 3808 17 174 1739 19 194 1940 19 195 1949 20 201 2013 31 314 3138 701 2597 23609 73 3591 10906 707552 None
imxrt1062 CircuitPython 9.1.4 600 949760 14 144 1454 46 453 4689 15 150 1526 18 176 1773 18 180 1798 18 180 1813 25 256 2567 574 1901 16591 77 1397 6345 578172 2395052
STM32H743ZI MicroPython v1.23.0 400 460480 18 178 1783 58 586 5868 24 246 2464 28 283 2838 28 285 2854 29 294 2938 54 541 5437 734 2718 24905 100 3979 12399 None None
STM32F746ZG MicroPython v1.23.0 216 159808 33 325 3284 152 1523 15231 58 581 5822 77 766 7671 77 769 7693 75 749 7495 112 1113 11129 1814 6765 62205 287 5490 18080 None None
STM2F746NG MicroPython v1.24.0.p408 192 8196480 37 378 3773 153 1522 15576 54 534 5423 69 689 6931 69 690 6951 70 699 7036 114 1141 11467 2021 7582 69766 203 5217 29793 3968801 12179439
esp32s3 MicroPython v1.23.0 240 244224 34 338 3376 110 1099 11005 49 488 4884 52 526 5273 52 523 5231 55 551 5508 80 801 8013 1565 5448 49099 389 6526 23642 None None
esp32s3 MicroPython v1.23.0 240 8321536 34 338 3376 119 1190 11924 50 510 5114 54 549 5505 54 546 5465 56 574 5745 82 825 8254 1731 5863 51984 415 7456 27833 3456572 14922482
esp32c6 MicroPython v1.24.0p407 160 326144 48 481 4814 141 1420 14222 81 813 8134 72 732 7332 71 722 7232 80 816 8173 442 4422 44228 2711 9675 87640 526 8697 32611 None None
esp32c3 MicroPython v1.23.0 160 203264 49 485 4851 142 1425 14260 85 863 8636 76 768 7693 77 779 7786 85 853 8538 739 7402 74027 3148 11291 102477 537 9167 33959 None None
esp32 MicroPython v1.23.0 160 166592 61 611 6112 193 1934 19363 87 866 8669 95 946 9462 94 937 9392 98 981 9816 138 1391 13918 2977 9931 88060 660 11983 41551 None None
esp32S2 MicroPython v1.23.0 160 137728 59 589 5887 181 1814 18161 99 1004 10049 91 923 9239 91 920 9196 107 1090 10908 864 8192 86523 6258 20219 197838 838 12530 44133 None None
esp32S2 MicroPython v1.23.0 160 7797248 59 589 5887 193 1936 19374 102 1035 10370 94 953 9556 93 951 9517 110 1123 11238 827 8749 87498 6682 22738 202121 958 15703 59585 7553302 29965747
STM32F405 MicroPython v1.23.0 168 99328 56 564 5638 206 2077 20788 88 889 8896 105 1068 10693 106 1073 10739 106 1079 10795 143 1436 14372 2891 10075 90640 650 11485 40790 None None
STM32F411 MicroPython v1.23 96 83392 91 904 9041 348 3493 34960 145 1452 14521 173 1741 17418 175 1751 17527 175 1755 17571 241 2416 24176 4791 16427 147001 1156 18073 67550 None None
STM32F411 CircuitPython 9.1.4 96 83136 116 1165 11647 327 3275 32806 119 1189 11886 135 1350 13502 136 1354 13542 137 1372 13720 191 1907 19064 4335 13321 114136 845 15244 68559 None None
STM32L476 MicroPython v1.23.0 80 86976 135 1351 13514 456 4557 45590 192 1912 19126 229 2284 22858 229 2292 22941 230 2299 23012 325 3249 32517 6228 21823 196753 1330 21923 80931 None None
RP2350 CircuitPython 9.2.0 150 433152 57 560 5594 160 1614 16189 58 573 5728 62 621 6207 63 622 6213 63 632 6314 91 909 9081 2012 6078 51629 490 8745 36898 None None
RP2350 MicroPython v1.24.0 150 486784 44 444 4433 158 1603 16052 63 646 6478 70 715 7166 69 716 7179 71 727 7280 96 985 9867 2412 8276 73979 322 20031 56004 None None
RP2040 CircuitPython 9.1.4 125 179328 97 958 9577 288 2888 28907 116 1154 11537 113 1126 11249 113 1132 11321 119 1187 11866 290 2892 28914 4905 15548 134776 878 16148 66666 None None
RP2040 MicroPython v1.23.0 125 233024 80 799 7984 276 2823 28283 126 1321 13221 129 1343 13447 129 1343 13440 134 1399 14002 993 9988 99891 5212 18820 171320 868 23338 70450 None None
SAMD51 CircuitPython 9.1.4 120 150656 84 840 8400 274 2753 27601 86 857 8570 95 956 9563 96 958 9578 97 971 9712 152 1564 15653 4015 11704 98082 787 14479 60382 None None
SAMD51 MicroPython v1.23.0 120 173120 71 710 7095 219 2223 22236 87 909 9113 101 1048 10511 102 1056 10540 103 1067 10696 165 1690 16945 None None None 710 16783 53817 None None
SAMD21 MicroPython v1.23.0 48 21696 269 2687 26857 921 9224 92417 502 5020 50265 430 4318 43214 438 4405 44132 510 5134 51418 3567 35679 357190 None None None 3999 None None None None
nrf52833 micropython unknow 64 64512 182 1810 18098 582 5829 58341 294 2933 29342 289 2892 28950 281 2811 28133 319 3202 32019 418 4190 41907 11032 34175 293353 1977 37419 None None None
nRF52833 CircuitPython 9.1.4 64 54400 221 2210 22091 613 6141 61492 222 2224 22236 246 2458 24571 246 2449 24495 249 2488 24869 337 3375 33754 None None None 1888 36192 None None None
esp8266 MicroPython v1.23.0 80 38016 214 2133 21335 611 6114 61255 255 2553 25520 245 2444 24439 249 2487 24869 275 2743 27425 1155 11543 115434 None None None 1868 41057 None None None
  • The time unit is milliseconds.
  • The above list is not sorted by performance.
  • The above results are for reference only.

From microbit/micropython Chinese community.

About

benchmarks of different microcontrollers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages