SBC is gebaseerd op STM32F7, maar er zijn andere CPU's op de markt. Hier vergelijken we er een aantal met een veelgebruikte Python-benchmark.
criterium
Omdat SBC is ontworpen om Python-code uit te voeren, vergelijken we de uitvoeringstijd van een volledige Python-code, ook wel pystone genoemd.
Deze benchmark heeft verschillende onderdelen om verschillende Python-bewerkingen te vergelijken, zoals functieaanroepen, declaraties, gegevenstypebewerkingen, enz.
Intern bevat het minder dan 300 regels en ziet er als volgt uit:
Eenmaal uitgevoerd, meet het de uitvoeringstijd in eenheden van [pystones / seconde] en deze maatstaf kan worden gebruikt om verschillende platforms te vergelijken.
De volledige broncode is hier te vinden: https://github.com/micropython/micropython-lib/blob/v1.9.3/pystone/pystone.py
Nadat we de benchmark op verschillende platforms hadden uitgevoerd, kregen we het volgende: resultaat:
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 |
Concluderend...
- De referentie die we allemaal kunnen begrijpen, is het resultaat van het pc-platform, beoordeeld op 200 [pystones/sec].
- Het bereik van microcontrollers varieert van 0.5 tot 5 [pystones/sec] en de SBC bereikt 1.9, dus Python kan ongeveer 100 keer langzamer draaien dan een pc.
- De SBC zit ook tussen de ESP32- en H7-apparaten in, dus het biedt een gemiddelde prestatie in vergelijking met de microcontrollers die tegenwoordig op de markt verkrijgbaar zijn.