JavaScript运行时「Bun 1.3」登场:CPU空闲时间减少至1/100,支持npm无缝迁移等新功能
2025年10月16日
开源开发的JavaScript运行时「Bun」的最新正式版「Bun 1.3」已发布。
Bun的作者Jarred Sumner氏表示,Bun不仅具备JavaScript和TypeScript的运行时功能,还集成了转译器、打包器、任务运行器、npm兼容的包管理器等JavaScript/TypeScript工具链。
CPU空闲时间减少至1/100
Bun自推出以来就非常重视执行速度的提升。在Bun 1.3中也有关于速度提升的公告。
通过将Bun采用的JavaScript引擎JavaScriptCore的垃圾收集器集成到Bun的事件循环中,将CPU的无谓空闲时间减少至1/100,空闲内存减少40%。
这一改进使得机器性能得到更好发挥,可以降低托管成本。
支持从npm等无缝迁移
关于与JavaScript运行时事实标准Node.js的兼容性,Bun 1.3通过持续努力得到了改善,并推出了将现有包管理器(如npm)平滑迁移到Bun的无缝迁移功能。
该功能可以自动将显示已安装包类型和依赖关系的lock文件转换为Bun的lock文件。
隔离安装(Isolated Installs)
在大型单体仓库中,依赖关系不知不觉被破坏是一个常见问题。
因此,Bun 1.3默认启用了隔离安装。这样即使安装了多个包,各自的依赖关系也是独立的,不会发生破坏。
支持热重载(Hot Reloading)
Web应用程序前端开发支持功能也得到了增强。
Bun的前端开发服务器功能标准支持包括React Fast Refresh在内的热模块替换(HMR)。
这样无需重新加载网页,代码更改就会自动反映在网页上。
此外,通过「import.meta.hot」API,框架开发者可以使用Bun的前端开发服务器功能在自己的框架中实现热重载功能。
Redis客户端支持
在今年(2025年)9月发布的Bun 1.2.21中,Bun已经支持PostgreSQL、MySQL/MariaDB、SQLite客户端,成为支持主要关系型数据库的通用数据库客户端。
在此基础上,Bun 1.29中内置了内存键值存储Redis/Valkey的客户端功能。
其他功能
Bun 1.3中还实现了许多新功能。详情请参阅官方网站的「Bun 1.3 | Bun Blog」。