Bun 1.0.19 版本更新:重要的性能优化与功能改进

2023年 12月 25日 25.3k 0

Bun的最新版本1.0.19为JavaScript和TypeScript运行环境带来了一系列重要更新。这个版本在性能、兼容性和可用性方面进行了显著改进,解决了多个问题,并提高了整体的开发者体验。

增强的TypeScript支持:@types/bun

Bun 1.0.19中的一个突出更新是重新引入@types/bun,此前称为bun-types。这一变化极大地简化了Bun与TypeScript的整合,解决了先前实现中的一些问题。开发者不再需要为Bun特别配置tsconfig.json,而新包无缝重导出@types/node包,确保了兼容性和易用性。

改进的加密包支持

对于JavaScript生态系统的安全来说,Bun 1.0.19现在完全支持bcryptargon2包,这是对N-API兼容性改进的重要一步。这一更新允许开发者在Bun环境中使用这些流行的加密包进行安全的密码哈希和验证,使Bun成为构建安全应用程序的更加多功能的平台。

性能优化

Bun 1.0.19引入了几项性能增强。setTimeoutsetInterval的实现在Linux x64系统上现在快了四倍,这要归功于一种新的计时器堆,它有效地管理计时器。对于严重依赖计时器操作的应用程序来说,这一改进至关重要,提供了显著更好的性能和资源利用。

此外,针对Linux系统上处理大量输入的Bun.spawnSync进行了优化,为具有大量输出的子进程提供了50%的性能提升。Bun.peek()函数也实现了惊人的90倍速度提升,而使用expect(...).toEqual比较Map实例现在快了100倍,这对于广泛依赖这些功能的应用程序来说,是一大益处。

用户体验改进

Bun 1.0.19引入了更好的错误处理,特别是对于使用awaitasync函数外部这类常见错误。这次更新提供了更有信息量的错误消息,帮助开发者调试并提高代码质量。此版本还解决了bun:test中模块模拟的问题,通过直接使用模块指定符使其更直观。

安装和安装后脚本

新版本记录了安装后脚本的执行速度,帮助开发者在包安装期间识别性能瓶颈。此外,bun install --verbose现在将安装后脚本的输出实时流式传输,提供实时反馈,增强了安装包过程的透明度。

Bug修复和升级

Bun 1.0.19修复了一系列问题,包括与--frozen-lockfile标志相关的问题、TypeScript解析器的边缘案例以及与环境变量相关的回归。此更新还带来了SQLite版本的升级(至v3.44.2),确保内嵌的SQLite客户端保持最新和安全。

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论