Adafruit 近日发布了 CircuitPython Turbo,这是一套新的工作流,允许开发者在计算机上将选定的 Python 函数编译为原生机器代码,随后加载到兼容的微控制器开发板上。这一更新旨在提升基于 CircuitPython(2017年作为 MicroPython 的衍生版本发布)的项目性能,主要面向学生和初学者群体。
据 Adafruit 董事总经理 Phillip Torrone 介绍,CircuitPython Turbo 建立在 MicroPython 的 Native 和 Viper 发射器基础之上。目前,Turbo 支持已包含在针对 RP2040 和 RP2350 开发板的最新官方 CircuitPython 构建版本中。

技术测试数据显示了显著的性能提升。在一项使用 Metro RP2040 进行的定点数 Mandelbrot 集计算基准测试中,采用 Viper 模式将计算时间从 8.335 秒缩短至 0.423 秒,相比字节码执行实现了 19.71 倍的加速。需要注意的是,该加速仅针对被测量的计算部分,而非整个应用程序;应用中的其余逻辑仍由标准 Python 处理。
Torrone 指出,Turbo 功能特别适用于需要大量计算的场景,例如 NeoPixel 灯光效果生成、分形绘制、音频处理、传感器数据滤波以及大规模像素准备等。通过加速这些“繁忙”的 Python 部分,项目可以实现更流畅的动画、更快的响应速度或同时处理更多任务的能力。例如,它可以简化制作对声音有反应的 LED 发光服装、带有动态图形的传感器仪表盘或在绘制屏幕的同时进行物理模拟的小型游戏。
然而,Turbo 并不能优化硬件连接瓶颈。它无法加快缓慢的传感器读取或显示接口传输速度。其核心机制是让计算机将选定函数转换为芯片可直接执行的指令,而 Python 继续负责其他部分的逻辑控制。Adafruit 提供了相关的测量加速数据、实际显示捕获画面以及可供分析的示例代码。
此外,Torronne 还提到了 Bao 实验,该实验探索了将计算任务分配给四个辅助核心的路径。Adafruit 表示,开源生态系统的协作——包括 CircuitPython、MicroPython、PyMCU、编译器工具及开放硬件社区的努力——共同促成了此次更新,未来将继续致力于简化这些路径并探索更多应用场景。





