SBC se temelji na STM32F7, ali na tržištu postoje i drugi CPU-i. Ovdje uspoređujemo neke od njih s uobičajenim mjerilom za Python.
mjerilo
Budući da je SBC dizajniran za pokretanje Python koda, uspoređujemo vrijeme izvršenja kompletnog Python koda, poznatog kao pystone.
Ova referentna vrijednost ima nekoliko dijelova za usporedbu različitih Python operacija kao što su pozivi funkcija, deklaracije, operacije tipa podataka itd.
Interno sadrži manje od 300 redaka i izgleda ovako:
Kada se izvrši, mjeri vrijeme izvršenja u jedinicama [pystones / sekunda] a ova se mjera može koristiti za usporedbu između različitih platformi.
Kompletan izvorni kod možete pronaći ovdje: https://github.com/micropython/micropython-lib/blob/v1.9.3/pystone/pystone.py
Nakon što smo pokrenuli benchmark na različitim platformama, dobili smo sljedeće rezultati:
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 |
U zaključku...
- Referenca koju svi možemo razumjeti rezultat je PC platforme, ocijenjena na 200 [pystones/sec].
- Raspon mikrokontrolera varira od 0.5 do 5 [pystones/sec], a SBC doseže 1.9, tako da može pokrenuti Python otprilike 100 puta sporije od PC-a.
- SBC je također između ESP32 i H7 uređaja, pa nudi prosječne performanse u odnosu na mikrokontrolere koji su danas dostupni na tržištu.