SBC 基于 STM32F7,但市场上还有其他 CPU。 在这里,我们将其中一些与常见的 Python 基准进行比较。
基准
由于 SBC 旨在运行 Python 代码,因此我们比较了完整的 Python 代码(称为 pystone)的执行时间。
这个基准有几个部分来比较不同的 Python 操作,如函数调用、声明、数据类型操作等。
它在内部包含少于 300 行,如下所示:
一旦执行,它以单位为单位测量执行时间 [pystones/秒] 并且该度量可用于在不同平台之间进行比较。
完整的源代码可以在这里找到: 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 |
SBC | STM32F7 | 1.9 |
RpPico | RP2040 | 1.08 |
Wemos | ESP32 | 1.04 |
Feather | NFR52 | 0.7 |
M5Stack | ESP32 | 0.66 |
NucleoL432 | STM32L4 | 0.33 |
在结论...
- 我们都能理解的参考是来自PC平台的结果,额定为200 [pystones/sec]。
- 微控制器的范围从 0.5 到 5 [pystones/sec] 不等,SBC 达到 1.9,因此它运行 Python 的速度大约比 PC 慢 100 倍。
- SBC 也介于 ESP32 和 H7 设备之间,因此与当今市场上的微控制器相比,它提供了平均性能。