Anthropic开发的JavaScript运行时“Bun”于2026年10月10日发布新版本“Bun v1.4.3”。本次更新的亮点是可通过内置的“bun check”使用的TypeScript类型检查器。官方称,与Go语言实现的TypeScript 7相比,它的速度快3倍以上,内存消耗也更低。
Bun:既负责运行,也负责检查
先来了解一下背景。类型检查是指在运行程序之前,检查是否存在用法错误,例如“本应传入数值的地方,是否填入了字符串”。这是TypeScript的一大卖点,也是大型项目开发中不可或缺的环节。
除了JavaScript,Bun还具备读取并转换TypeScript文件、随后直接执行的功能。此外,它也支持通过“bun check”命令检查TypeScript文件的类型。本次更新重点突出的,正是后一项功能的速度。
如果运行和检查工具都集成在同一个环境中,就能减少需要引入的工具数量,也能省去不少配置工作。这项更新让人感受到一种趋势:运行时正从“执行代码的地方”,逐步扩展为“连开发过程中的安全检查也一并承担的地方”。
不止速度快,兼容性也有数据支撑
类型检查器即使速度再快,如果判定结果与原版不一致,也很难派上用场。对此,发布说明称,该检查器通过了TypeScript 7.0.2的全部符合性测试,通过率为100%。
此外,官方还使用TypeScript和Bun分别检查了72个主要的开源TypeScript文件,其中包括Bun方面自行植入错误的文件,并对检查结果进行了比较。据称,双方只有一处结果不同。这表明Bun试图用数据展示其判定结果与原版的一致程度。
对于正在考虑迁移的开发者来说,这一点可能和速度一样令人关注。毕竟,即使速度提升了,如果警告的方式发生变化,也会影响团队的工作流程。
如何看待“快3倍以上”这一说法
Bun表示,其类型检查速度是TypeScript 7的3倍以上,内存消耗则为后者的二分之一至四分之一以下。TypeScript 7也借助Go语言实现提升了速度,而Bun声称自己在此基础上又实现了大幅超越。
不过,这些是Bun给出的对比结果。类型检查耗时会因代码规模、编写方式以及运行设备而异。自己的项目究竟能缩短多少等待时间,只有实际尝试后才能知道。
即便如此,如果检查等待时间缩短,就更容易在每次保存时运行检查,或在编辑过程中频繁确认。内存消耗降低后,在CI等资源有限的环境中也应该会更容易使用。速度数据有可能直接影响开发工作的推进方式。
类型检查之外的更新内容
v1.4.3还包含许多其他改动。官方公告称,此次更新修复了166个issue,并将服务器空闲时的CPU消耗降低了67%。
此外,更新还包括改善与Node.js的兼容性、提升JSON.parse的速度,以及大量错误修复。虽然类型检查器是本次更新的主角,但运行时整体性能也得到了提升。详情可查看Bun官方博客发布的更新说明。


コメント