SBC je založen na STM32F7, ale na trhu jsou i jiné CPU. Zde některé z nich porovnáme s běžným benchmarkem Pythonu.
měřítko
Protože SBC je navržen pro spouštění kódu Python, porovnáváme dobu provádění úplného kódu Python, známého jako pystone.
Tento benchmark má několik částí pro porovnání různých operací Pythonu, jako jsou volání funkcí, deklarace, operace datových typů atd.
Interně obsahuje méně než 300 řádků a vypadá takto:
Po provedení změří dobu provedení v jednotkách [pystones / sekunda] a toto měření lze použít k porovnání mezi různými platformami.
Kompletní zdrojový kód naleznete zde: https://github.com/micropython/micropython-lib/blob/v1.9.3/pystone/pystone.py
Po spuštění benchmarku na různých platformách jsme dostali následující výsledky:
Board | CPU | [pystones/sec] |
---|---|---|
PC | Intel | 200 |
OpenMVH7 | STM32H7 | 5.6 |
OpenH7 | STM32H7 | 3.6 |
Keyndrite | K210 | 2.9 |
OpenMV | STM32F7 | 2.5 |
SBC | STM32F7 | 1.9 |
RpPico | RP2040 | 1.08 |
Wemos | ESP32 | 1.04 |
Feather | NFR52 | 0.7 |
M5Stack | ESP32 | 0.66 |
NucleoL432 | STM32L4 | 0.33 |
Na závěr...
- Odkaz, kterému všichni rozumíme, je výsledek platformy PC, hodnocený na 200 [pystones/s].
- Rozsah mikrokontrolérů se pohybuje od 0.5 do 5 [pystones/s] a SBC dosahuje 1.9, takže může běžet Python zhruba 100krát pomaleji než PC.
- SBC je také mezi zařízeními ESP32 a H7, takže nabízí průměrný výkon ve srovnání s mikrokontroléry dostupnými na dnešním trhu.