zhy0216
V2EX  ›  问与答

bun 为什么这么快

  •  
  •   zhy0216 · Sep 8, 2023 · 3417 views
    This topic created in 1151 days ago, the information mentioned may be changed or developed.
    https://bun.sh/
    一个 js 的运行时 和 nodejs 对拼的项目
    给我印象最深的就是速度快
    我也是看到下面这个结果才引起我的注意
    https://bun.sh/docs/cli/test#performance
    Running 266 React SSR tests faster than Jest can print its version number.

    然后我就去看 bun 为什么这么快
    分析了下有 3 点
    1. 选择了 zig ,zig 甚至会为了速度放弃安全性
    2. 选择了 https://github.com/uNetworking/uWebSockets 所以下载包会很快 这个库在网络框架这块都在前列
    3. 选择了 JavaScriptCore 这点很奇怪 因为最快的运行时不是 v8 吗? chrome 就是嫌 JavaScriptCore 才换 v8 的。 我开始也想不通 后来看到一个评论 就是 v8 确实快 但做复杂的 jit 也需要时间 而我们开发的代码的往往只需要一次执行 所以往往运行时间比 jit 还短?
    5 replies  •  2023-09-16 11:01:28 +08:00
    zjsxwc
    zjsxwc
    Sep 8, 2023 via Android
    1
    zig 写的 bun ,到现在了还在苦于修复 segfault 导致的 crash ,github 里一堆 issue 处理不了,手动管理就是不可靠
    xlsepiphone
    xlsepiphone
    Sep 8, 2023
    2
    光快没用啊。。。
    Leviathann
    Leviathann
    Sep 8, 2023❤️2
    3
    fastjson:你就说快不快把
    yyfearth
    yyfearth
    Sep 9, 2023
    4
    选择了 JavaScriptCore 因为 bun 团队比较重视启动时间 V8 的启动时间慢 另外 JIT 虽然执行重复的任务快 但是启动时间和首次运行时间慢

    如果 Bun 代替 Node 做一些工具链的工作 启动时间快是一个优势
    作为服务器 开发的时候启动时间就还好 不过貌似因为其他的优势 可以比 Node 快
    chuck1in
    chuck1in
    Sep 16, 2023
    5
    @zjsxwc 所以现在 1.0 版本的 bun 实际上还是很多问题吗。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5105 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 07:39 · PVG 15:39 · LAX 23:39 · JFK 02:39
    ♥ Do have faith in what you're doing.