SBC si basa su STM32F7, ma ci sono altre CPU sul mercato. Qui ne confrontiamo alcuni con un benchmark Python comune.
Segno di riferimento
Poiché SBC è progettato per eseguire codice Python, confrontiamo il tempo di esecuzione di un codice Python completo, noto come pystone.
Questo benchmark ha diverse parti per confrontare diverse operazioni Python come chiamate di funzioni, dichiarazioni, operazioni sui tipi di dati, ecc.
Internamente contiene meno di 300 righe e si presenta così:

Una volta eseguito, misura il tempo di esecuzione in unità di [Pistoni / secondo] e questa misura può essere utilizzata per confrontare piattaforme diverse.
Il codice sorgente completo può essere trovato qui: https://github.com/micropython/micropython-lib/blob/v1.9.3/pystone/pystone.py
Dopo aver eseguito il benchmark su piattaforme diverse, abbiamo ottenuto quanto segue sul risultato:
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 |
In conclusione...
- Il riferimento che tutti possiamo capire è il risultato della piattaforma PC, valutato a 200 [pystones/sec].
- La gamma di microcontrollori varia da 0.5 a 5 [pystones/sec] e l'SBC raggiunge 1.9, quindi può eseguire Python circa 100 volte più lentamente di un PC.
- L'SBC è anche tra i dispositivi ESP32 e H7, quindi offre prestazioni nella media rispetto ai microcontrollori oggi disponibili sul mercato.