Bun 1.0.22 版本发布,提升性能和兼容性


Bun 1.0.22版本终于面世了!这个小巧玲珑的JavaScript运行时可谓是编程界的“黑马”,短短一年多时间就以其独特的魅力吸引了众多开发者。这一次的更新再次印证了Bun背后的团队充满激情与执着,他们一如既往地致力于让Bun成为JavaScript开发的“瑞士军刀”。那么,这一期的更新又带来了哪些惊喜呢?让我们来一一揭晓。

首先,解决了在Vercel上安装时遇到的问题。我们都知道,Vercel是前沿的无服务器平台,可以让开发者零配置部署应用。但是由于某些兼容性问题,Bun的自动安装脚本在这里屡屡碰壁。这一次,Bun的创造者Jarred针对此进行了靶向优化,实现了类似posix_spawn的polyfill,终于搞定了这个“心病”。对于许多依赖Vercel作为部署环境的开发者来说,这无疑是一个大大的好消息。

其次,增加了performance.mark等用户性能衡量的API。这些API可以帮助开发者更好地分析应用的性能瓶颈所在,是调优的利器。与此同时,还增加了PerformanceObserver的支持,可以监听各类性能指标事件,实时掌握应用的运行状况。

再者,增强了child_process的功能,现在支持传递额外的pipes。这使跨进程通信变得更加方便,父子进程可以通过管道自由地相互传递数据。未来,这也为支持Playwright奠定了基础。

此外,Fetch请求现在可以启用Brotli压缩。对带宽敏感的应用来说,这无疑是个福音。不仅如此,Bun的创造者们还调整了Brotli的链接方式,从动态链接改为静态链接,以解决某些Linux发行版缺乏必要库导致的问题。

Buffer模块也迎来了性能提升,Buffer.concat的速度提高了15%至400%。考虑到Buffer在Node开发中的广泛应用,这个优化可以带来很大的整体收益。此外,还修复了Buffer.concat在处理大量缓冲区时可能导致崩溃的bug。

Console模块的console.table用法也得到增强,现在可以正确处理表格中包含 emoji 和 Unicode 字符的情况了。许多开发者喜欢在日志中加入emoji表情,此次升级终于兑现了这一需求。

当然,此版本中还有很多其他改进,例如为worker_threads增加了argv和execArgv选项、修复了绑定到0.0.0.0时也同时绑定IPv6的bug、为assert模块增加了doesNotMatch断言等等。

总体来看,Bun 1.0.22版本带来了大量实用的优化和新功能。它们或许不那么“高大上”,但确确实实解决了开发者在使用过程中遇到的痛点。这再次彰显了Bun背后的团队秉承务实的设计理念和对开发者需求的关注。

Bun已经成长为一个“大户”,但它的开发团队仍然保持着像创业公司一样的激情与敏捷。我们有理由相信,在他们的不懈努力下,Bun将为JavaScript开发继续献上更多惊喜。让我们拭目以待吧!


相關推薦

2024-06-01

总共修复了超过140个bug,涉及从Windows平台稳定性到Node.js兼容性的各个方面。以下是几个关键改进: 异常处理改进:添加了对process.on("uncaughtException")和process.on("unhandledRejection")的支持,提升了应用程序的错误处理能力。 性

2024-01-18

络数据的应用来说,无疑是一个巨大的提升。 Node.js兼容性和资源管理 对于Node.js的兼容性,Bun v1.0.23也进行了重要的更新,解决了一些先前版本中存在的问题。例如,现在可以在Bun环境中无缝使用Node.js内置模块,如fs和path

2023-12-25

Script运行环境带来了一系列重要更新。这个版本在性能、兼容性和可用性方面进行了显著改进,解决了多个问题,并提高了整体的开发者体验。 增强的TypeScript支持:@types/bun Bun 1.0.19中的一个突出更新是重新引入@types/bun,此前

2023-11-05

突。 除此之外,Bun 1.0.8还修复了一系列的运行时错误和兼容性问题,如Bun.spawn在Google Cloud、Vercel和旧版Linux内核上的问题,以及macOS上Bun.spawn偶尔无法检测到进程退出的问题。这些修复不仅提升了Bun的稳定性,也扩展了其在不同

2024-04-03

如递归读取目录的速度比Node.js快了22倍。 Bun 1.1对Node.js兼容性的改进也非常显著。不仅修复了上千个bug,还新增了大量Node.js API的支持。现在你可以在Bun中使用HTTP/2客户端、递归的fs.readdir()、进程间通信等功能了。值得一提的是

2023-09-10

2022年9月8日,Javascript运行时Bun正式发布1.0版本,标志着这个由前Facebook工程师创建的项目正式进入稳定生产可用阶段。 Bun的愿景是通过深度整合,让Javascript开发“快如闪电”。这个新生力量是否能撼动Javascript界老牌霸主Node的

2024-05-07

顺利运行。同时,这些更新也提高了 Bun 与 Node.js 生态的兼容性,修复了 node:fs、node:tls、node:crypto 等模块的问题。 在功能扩展方面,Bun 新增了子命令和位置参数的支持,并且 bun run --filter 选项让并行执行多个工作区脚本变得更

2023-07-23

,追求极致的运行速度。此次更新主要集中在与Node.js的兼容性提升和新功能支持上。 首先,Bun宣布与流行的前端打包工具Vite实现了初步兼容。开发者现在可以使用Bun直接运行Vite项目,享受热更新等方便功能,无需进行额外配

2022-10-18

及 fetch、WebSocket等 Web API。 最新发布的 0.2.0 较上个版本有了显著的性能提升: 此外还包含其他变化: 新增bun --hot命令,用于为 Bun 的 JavaScript runtime 提供热加载和零停机重启 新增Bun.spawn和Bun.spawnSync (process spa

2024-06-22

阅读和优化 JavaScriptCore 的代码,致力于提升 Bun 的性能和兼容性。Lemire 的分析不仅揭示了 Node.js 在性能优化上的挑战,也为 Bun 的发展提供了宝贵的参考。开发者们期待着 Node.js 和 Bun 在未来能够共同推动 JavaScript 生态系统的进

2023-08-26

源创会」北京站,聊聊 AI 大模型与底层技术 >>> Bun v0.8.1版本发布。这一版在0.8.0发布一天后发布,重点主要是修复了多个存在的问题和bug。 首先,新版本解决了一个很关键的问题:在处理格式错误的版本名时,bun install会崩溃

2024-02-05

清空微任务队列,避免内存过高增长的问题。 在对Node.js兼容性的提升上,Bun 1.0.26版本对module.path进行了修正,使其行为更加符合Node.js的规范。另外,该版本对new Response(Bun.file())偶尔在stderr中记录错误的问题也进行了修复。 值

2023-08-08

题。 修复了workspace:*依赖查找失败的bug。 增强Node.js兼容性 node:dns模块新增dns.getServers()。 node:module模块新增Module.wrap()。 多处Web API变为可写,增强与Angular兼容性。 Bun 0.7.3是一个值得期待的重要更新,为JavaScript开发

2023-11-18

创新功能和重大改进,以增强用户体验并提高与Node.js的兼容性。 Bun v1.0.12的一个显著新特性是bun -e命令的加入,允许开发者在不创建文件的情况下直接运行脚本。这极大提升了编写和测试小型脚本的便利性和灵活性。此外,此