微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Bun 0.8.1 版本发布,修复上一版本的问题

8 月 26 日「源创会」北京站,聊聊 AI 大模型与底层技术 >>>

Bun v0.8.1版本发布。这一版在0.8.0发布一天后发布,重点主要是修复了多个存在的问题和bug。

首先,新版本解决一个很关键的问题:在处理格式错误的版本名时,bun install会崩溃。这意味着如果用户输入"^0.0.2rc1"等无效版本标识符,系统会停止运行。在Bun v0.8.1中,开发者团队成功地修复了这个问题,使得bun install面对这类输入不会再崩溃。这对于用户来说,无疑增加了操作的稳定性和可靠性,提高了整体的用户体验。

此外,另一个比较严重的问题也得到了修复。原本,打包器会在知道运行时会失败且位于try/catch块内的require()调用自动内联,这在打包使用可选依赖的代码时非常有用。然而这个特性被误启用,导致在某些情况下可能出现运行错误。现在这个问题已经得到了修正,大大提高了代码的运行效率和稳定性。

除此之外,Bun v0.8.1还修复了其他几个bug,包括node:http中关于代理URL的bug、bun install处理过期package.json脚本的问题,以及bun --inspect中源代码映射bug。这些改进都有助于提升Bun的整体性能用户体验。

在引入新功能方面,v0.8.1版本新增了对Unix域套接字的支持。这项新功能让你可以将套接字指向文件系统上的文件,而非网络主机/端口。这在运行只能从同一台机器访问的服务器时十分有用,如在某些容器或代理环境下。通过这种方式,可以有效地提高数据传输的效率和安全性。

const server = Bun.serve({

unix: "/tmp/my-socket.sock",// <-- new option

fetch(req){

console.log(req.url);

return new Response("Hello World!");

}

});

console.log(`Listening on unix:///tmp/my-socket.sock!`);

性能优化是这次更新的另一个重要内容。在v0.8.0中,存在一个性能退化的问题,事件循环调度工作得不够好,造成读取请求体时未能及时处理微任务队列。但是在v0.8.1中,这个问题得到了修复。测试结果显示,新版本处理请求的速度比v0.8.0快了2.8倍,这对于用户来说,将感受到明显的速度提升。

内存管理也是Bun v0.8.1版本进行改进的地方。原先,Headers和Blob并未向垃圾收集器报告它们的大小,导致当Headers或Blob足够大时,可能会导致垃圾收集器没有如期运行。现在,Bun会向垃圾收集器报告Headers和Blob的大小,并且每次调用fetch()都会向垃圾收集器报告所用内存。这一改变将有助于更好地管理内存资源,避免因内存使用过大而影响Bun的运行效率。

最后,值得一提的是,Bun 1.0计划在9月7日发布。这一新的重大版本将会带来更多功能的改进和更新,让我们一起期待它的到来!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐