SBC основан на STM32F7, но на рынке есть и другие процессоры. Здесь мы сравниваем некоторые из них с обычным тестом Python.
эталонный тест
Поскольку SBC предназначен для запуска кода Python, мы сравниваем время выполнения полного кода Python, известного как pystone.
Этот тест состоит из нескольких частей для сравнения различных операций Python, таких как вызовы функций, объявления, операции с типами данных и т. д.
Внутри он содержит менее 300 строк и выглядит так:
После выполнения он измеряет время выполнения в единицах [пистоунов/секунду] и эту меру можно использовать для сравнения разных платформ.
Полный исходный код можно найти здесь: https://github.com/micropython/micropython-lib/blob/v1.9.3/pystone/pystone.py
После запуска бенчмарка на разных платформах мы получили следующее результатов:
| 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 |
В заключение...
- Эталон, который мы все можем понять, является результатом платформы ПК, оцененной в 200 [пистоунов/сек].
- Диапазон микроконтроллеров варьируется от 0.5 до 5 [пистоунов/сек], а SBC достигает 1.9, поэтому Python может работать примерно в 100 раз медленнее, чем ПК.
- SBC также находится между устройствами ESP32 и H7, поэтому он обеспечивает среднюю производительность по сравнению с микроконтроллерами, доступными сегодня на рынке.