SBC basiert auf STM32F7, aber es gibt andere CPUs auf dem Markt. Hier vergleichen wir einige davon mit einem gängigen Python-Benchmark.
Benchmark
Da SBC für die Ausführung von Python-Code ausgelegt ist, vergleichen wir die Ausführungszeit eines vollständigen Python-Codes, bekannt als Pystone.
Dieser Benchmark besteht aus mehreren Teilen, um verschiedene Python-Operationen wie Funktionsaufrufe, Deklarationen, Datentypoperationen usw. zu vergleichen.
Intern enthält es weniger als 300 Zeilen und sieht so aus:

Nach der Ausführung misst es die Ausführungszeit in Einheiten von [Pystones / Sekunde] und dieses Maß kann verwendet werden, um zwischen verschiedenen Plattformen zu vergleichen.
Den vollständigen Quellcode finden Sie hier: https://github.com/micropython/micropython-lib/blob/v1.9.3/pystone/pystone.py
Nachdem wir den Benchmark auf verschiedenen Plattformen ausgeführt hatten, erhielten wir Folgendes Ergebnisse:
Board | CPU | [pystones/sec] |
---|---|---|
PC | Intel | 200 |
OpenMVH7 | STM32H7 | 5.6 |
OpenH7 | STM32H7 | 3.6 |
Keyndrite | K210 | 2.9 |
OpenMV | STM32F7 | 2.5 |
RpPico2 | RP2350 | 2.48 |
SBC | STM32F7 | 1.9 |
RpPico | RP2040 | 1.08 |
Wemos | ESP32 | 1.04 |
Feather | NFR52 | 0.7 |
M5Stack | ESP32 | 0.66 |
NucleoL432 | STM32L4 | 0.33 |
Ganz zum Schluss ......
- Die Referenz, die wir alle verstehen können, ist das Ergebnis der PC-Plattform mit einer Bewertung von 200 [pystones/sec].
- Der Bereich der Mikrocontroller variiert von 0.5 bis 5 [pystones/sec] und der SBC erreicht 1.9, sodass Python ungefähr 100-mal langsamer ausgeführt werden kann als ein PC.
- Der SBC liegt auch zwischen den ESP32- und H7-Geräten, bietet also eine durchschnittliche Leistung im Vergleich zu den heute auf dem Markt erhältlichen Mikrocontrollern.