Bun 1.2.3带来全新Glob实现——引领性能突破

B站影视 2025-02-24 17:37 2

摘要:开源 JavaScript 运行时 Bun 于近日发布了 1.2.3 版本,此次更新修复了 128 个 bug,并带来多项重要改进。其中最引人注目的是对 Glob 功能的全面重写和优化,这使得 Bun 的 Glob 实现了性能与正确性的双重突破。

OSCHINA

在线阅读:https://talk.gitee.com/report/china-open-source-2024-annual-report.pdf

开源 JavaScript 运行时 Bun 于近日发布了 1.2.3 版本,此次更新修复了 128 个 bug,并带来多项重要改进。其中最引人注目的是对 Glob 功能的全面重写和优化,这使得 Bun 的 Glob 实现了性能与正确性的双重突破。

Glob 模式匹配是现代构建工具的核心功能之一,用于快速查找和过滤文件。此次更新中,Bun 团队将 Rust 生态系统中广受好评的 fast-glob 库移植到了 Bun 中,这不仅带来了显著的性能提升,更确保了匹配结果的准确性。

新版本特别优化了目录匹配和 "**" 通配符模式的处理,解决了之前版本中存在的多个关键 bug。这一改进使得 Bun 的 Glob 实现不仅在速度上领先业界,在可靠性方面也达到了一个新的高度。

除了 Glob 的重大改进,Bun 1.2.3 还为开发者带来了一个全功能的前端开发工具链。现在开发者可以直接通过执行 HTML 文件来启动开发服务器,支持 React 的热重载功能,并计划在未来支持 Svelte 和 Vue 等框架。这种零配置的开发体验大大简化了前端项目的启动流程。

在 Web 应用开发方面,Bun.serve 新增了内置路由功能,支持动态路径参数和异步响应,使得全栈应用的开发变得更加流畅。开发者现在可以在同一个进程中运行前端和后端代码,无需额外的代理服务器或 URL 重写配置。

数据库方面,Bun.SQL 得到了显著增强,新增了 sql.array、SQL 片段和 sql.file 等功能,并修复了多个关键 bug。新版本支持多语句查询执行、可配置的预处理语句,以及改进的数组支持,这些改进使得 Bun 在处理复杂数据库操作时更加可靠。

在性能优化方面,此版本引入了新的 WebAssembly 解释器 IPInt,取代了原有的 LLInt 解释器。这一改变显著减少了 WebAssembly 代码的启动时间和内存占用,因为新的解释器可以直接执行 WebAssembly 代码,而无需先将其转换为不同的字节码格式。

Node.js 兼容性也得到了进一步加强,特别是在 Buffer 处理和 Node-API(napi)方面。现在支持完整的证书包加载,Buffer 的多个核心方法得到了改进,确保了与 Node.js 生态系统的更好兼容性。

其他值得注意的改进包括:优化了文件流的内存使用、改进了 CSS 处理、修复了 FormData 边界引号问题,以及增强了 UDP 多播成员资格的稳定性等。此版本还改进了命令行帮助显示,使得标志参数的使用更加直观。

这次更新得到了开源社区的广泛支持,共有 23 位贡献者参与其中。特别值得一提的是,probably-neb 和 zackradisic 在改进 Glob 功能方面做出了重要贡献,而其他贡献者也在各个方面帮助提升了 Bun 的整体质量。

总的来说,Bun 1.2.3 的发布标志着这个年轻的 JavaScript 运行时在性能、功能性和可靠性方面都达到了一个新的水平。

特别是新的 Glob 实现,不仅展示了项目团队的技术实力,也为未来的发展奠定了坚实的基础。随着更多功能的完善和性能的提升,Bun 正在逐步实现其成为主流 JavaScript 运行时的目标。

相关来源:https://bun.sh/blog/bun-v1.2.3

↓分享、在看与点赞~Orz

来源:易行汽车

相关推荐