SBC bazuje na STM32F7, ale na rynku są też inne procesory. Tutaj porównujemy niektóre z nich ze wspólnym benchmarkiem Pythona.
Benchmark
Ponieważ SBC jest przeznaczony do uruchamiania kodu Pythona, porównujemy czas wykonania całego kodu Pythona, znanego jako pystone.
Ten test porównawczy składa się z kilku części do porównywania różnych operacji Pythona, takich jak wywołania funkcji, deklaracje, operacje typu danych itp.
Wewnętrznie zawiera mniej niż 300 linii i wygląda tak:

Po wykonaniu mierzy czas wykonania w jednostkach [pystony / sekundę] i ta miara może być używana do porównywania różnych platform.
Pełny kod źródłowy można znaleźć tutaj: https://github.com/micropython/micropython-lib/blob/v1.9.3/pystone/pystone.py
Po uruchomieniu testu porównawczego na różnych platformach otrzymaliśmy następujące wyniki:
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 |
Podsumowując...
- Odniesieniem, które wszyscy możemy zrozumieć, jest wynik z platformy PC, oceniany na 200 [pystonów/s].
- Zakres mikrokontrolerów waha się od 0.5 do 5 [pystonów/s], a SBC osiąga 1.9, więc może działać w Pythonie około 100 razy wolniej niż na komputerze PC.
- SBC znajduje się również pomiędzy urządzeniami ESP32 i H7, dzięki czemu oferuje przeciętną wydajność w porównaniu do mikrokontrolerów dostępnych obecnie na rynku.