SBC se basa en STM32F7, pero hay otras CPU en el mercado. Aquí comparamos algunos de ellos con un punto de referencia común de Python.
Dado que SBC está diseñado para ejecutar código Python, comparamos el tiempo de ejecución de un código Python completo, conocido como pystone.
Este punto de referencia tiene varias partes para comparar diferentes operaciones de Python como llamadas a funciones, declaraciones, operaciones de tipos de datos, etc.
Internamente contiene menos de 300 líneas y se ve así:
Una vez ejecutado, mide el tiempo de ejecución en unidades de [pystones / segundo] y esta medida se puede utilizar para comparar entre diferentes plataformas.
El código fuente completo se puede encontrar aquí: https://github.com/micropython/micropython-lib/blob/v1.9.3/pystone/pystone.py
Después de ejecutar el punto de referencia en diferentes plataformas, obtuvimos lo siguiente dE TRATAMIENTOS:
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 |
En conclusión...
- La referencia que todos podemos entender es el resultado de la plataforma PC, clasificado en 200 [pystones/sec].
- El rango de microcontroladores varía de 0.5 a 5 [pystones/seg] y el SBC llega a 1.9, por lo que puede ejecutar Python aproximadamente 100 veces más lento que una PC.
- El SBC también se encuentra entre los dispositivos ESP32 y H7, por lo que ofrece un rendimiento medio en comparación con los microcontroladores disponibles en el mercado hoy en día.