返回资讯中心
外部精选
软件工程
#开发者实时流

开发者用 C11 实现轻量级 Python 解释器 Small Python,一周完成

来源标题:Show HN: A faster Python 3 interpreter implemented in C11, one week

开发者发布用 C11 编写的可嵌入 Python 引擎 Small Python(spy),核心语言特性已基本实现,大部分基准测试比 CPython 略快。该引擎不包含标准库(仅 sys/gc),可通过宿主注入模块使用其他语言生态,并提供 Js、Python、Rust、Go 绑定。它还能将 Python 编译为小体积二进制,基于 raylib 的 PONG 游戏约 2MB。

Hacker News 最新soasme2026/11/1 · 昨天4 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

Small Python(spy)是一个用 C11 编写的小型、可嵌入的 Python 引擎。它很像 JavaScript 领域的 quickjs,只不过是为 Python 而生。Python 核心语言特性几乎全部实现,内置函数也基本齐全。除了会改变解释器行为的 sys/gc 之外,不包含任何 Lib/ 内容。缺少 Python 标准库会很痛苦吗?大概不会。宿主注入模块让任何语言的生态都能以 Python 语法使用。看看示例就知道了:你可以用 Raylib 做游戏,也可以用 Axum/Serde_python(借助 Rust crate)搭 Web 服务器。只需把 spy.h、spyc-*.c 复制进你的项目,就能把它当作 C 库使用。或者,它也提供了面向 Js、Python、Rust、Go 等语言的若干绑定。你可以通过 pip、npm、crate、go 安装。推荐使用 worker 模式,这样任何问题都会被限制在子进程里。它很快。嗯,还达不到 Pypy 的速度,因为它不是 JIT。但在大多数基准测试场景下,它比 C Python 略快。另一个好特性是能把 Python 编译成二进制文件。你可以用 PyInstaller,但打出来的包会非常大。Small Python 的二进制很小。一个基于 raylib + spy 的 PONG 游戏打包后大约只有 2MB。它使用了一整套测试:unittest、fuzz、sanitize、bench、TLA+ 规约。尽管是用 C 写的,到目前为止智能体们还找不出一个 segfault。所以这挺酷的。:)路线图的目标是为智能体而构建:在持久会话之间做快照/恢复,声明策略,让智能体永远不会搬起石头砸你的脚,等等。它只用一周就做出来了。我跑了一个很长的 Claude Code 会话,持续好几天,用 Opus 5.5 通过 /remote-control 进行。仓库地址:https://github.com/soasme/small-python此前的 HN 帖:https://news.ycombinator.com/item?id=50281226评论地址:https://news.ycombinator.com/item?id=50330796点数:1评论数:0

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →