Hacker News 中文摘要

RSS订阅

Bun v1.3.9 -- Bun v1.3.9

文章摘要

Bun v1.3.9版本发布,支持并行或顺序运行多个脚本,新增bun:test的mock和spyOn功能,支持Symbol.dispose,改进了ESM字节码编译性能,并优化了Bun.markdown等多项功能。

文章总结

Bun v1.3.9 版本发布公告

Bun 是一个现代化的 JavaScript 运行时环境,最新版本 v1.3.9 带来了多项重要更新和性能优化。

主要更新内容:

  1. 脚本执行增强
  • 新增 --parallel--sequential 参数,支持并行或串行运行多个 package.json 脚本
  • 支持工作区过滤和前缀输出,便于区分不同脚本的输出
  1. HTTP/2 连接升级
  • 修复了 net.ServerHttp2SecureServer 的连接升级问题
  • 支持通过 h2Server.emit('connection', rawSocket) 转发 TCP 连接
  1. 测试功能改进
  • mock()spyOn() 现在支持 Symbol.dispose
  • 可使用 using 关键字自动恢复模拟函数
  1. 网络代理优化
  • 修复了 NO_PROXY 环境变量在显式设置代理时被忽略的问题
  1. 性能分析工具
  • 新增 --cpu-prof-interval 标志,支持配置 CPU 分析器的采样间隔
  1. ESM 字节码编译
  • 现在支持在 --compile 模式下使用 ESM 格式的字节码

性能优化: - Markdown 转 HTML 渲染速度提升 3-15% - Bun.markdown.react() 性能提升 7-28% - AbortSignal.abort() 无监听器时速度提升约 6% - JavaScriptCore 引擎多项优化: - 正则表达式 SIMD 加速 - String.prototype.startsWith 速度提升 1.42-5.76 倍 - Set/Mapsize 属性访问速度提升 2.24-2.74 倍 - 字符串修剪(trim)操作优化

Bug修复: - 修复了 ARMv8.0 处理器上的非法指令崩溃问题 - 改进了 Node.js 兼容性 - 修复了 WebSocket 和 HTTP 相关的多个问题 - 修正了 TypeScript 类型定义中的若干问题

致谢: 感谢 10 位贡献者对本版本的支持和改进。

安装与升级: 可通过多种方式安装或升级 Bun: curl -fsSL https://bun.sh/install | bash npm install -g bun bun upgrade

Bun 持续致力于提供高性能的 JavaScript 运行时环境,欢迎开发者体验新版本带来的改进。

评论总结

总结评论内容如下:

  1. 关于术语使用的讨论
  • giorgioz询问在英语中"Parallel/Sequential"和"Parallel/Series"哪个更常用(评分:无) "Is it more common in English to use there terms Parallel and Sequential or Parallel and Series?" "I was wondering if those were two best terms two use..."
  1. 对工具实用性的质疑
  • johnfn质疑为何需要专门的并行/顺序工具而非简单bash脚本(评分:无) "Why do I want parallel and sequential when I can just write a simple bash script?" "Is there some additional complexity I'm missing?"
  1. 对脚本运行抽象的建议
  • spankalee认为并行/顺序是错误抽象,建议采用依赖描述方式(评分:无) "Parallel and sequential...are really the wrong abstractions for running scripts" "What you really want is a way for scripts to describe their dependencies"
  1. 对产品bug的关注
  • rcarmo表示关注但想确认websocket bug是否已修复(评分:无) "I'm curious to check if the web socket bugs are all gone" "I had a watch on a particular one that stopped me..."
  1. 对公司技术选择的质疑
  • dude250711质疑Anthropic为何需要Bun而非自行开发(评分:无) "Why does Anthropic even need Bun?" "Is Claude not good enough to write something far superior..."

主要观点分布: - 2条关于技术术语和工具选择 - 1条关于脚本运行抽象的建议 - 1条产品bug反馈 - 1条对公司技术策略的质疑