likes
comments
collection
share

Bunjs 开始支持 Windows 它真的快吗?

作者站长头像
站长
· 阅读数 14

一、bun 正式支持 windows

近日 bunjs 的关于 windows 支持测试覆盖率已经到了 98% 意味着已经能够在 windows 中使用 bun 了,至此也完成了跨平台能力。至此 JavaScript 生态又多了一个好用的工具。

二、Bun 速度特性观察

  • Bun 内置的包管理工具,在测试 Vite+ React 项目时, bun install 的速度:
    • 是 yarn install 的 18 倍,
    • 是 npm install 的 30 倍。
  • bunx 与 npx 快 11 倍。
  • bun run 是 npm run 的 11 倍

三、安装 Bun v1.1.0

# curl 命令
curl https://bun.sh/install | bash

# npm
npm install -g bun

bun --version # 1.1.0 安装成功

# 更新
bun upgrade

四、Bun install 真的快吗?

官网基于 vite + react 进行测试,我们这里选择 remix 框架进行测试。

bun 在实际中真的吗? 我们用自己的电脑做一些主观的测试.(注意是主观测试,仅供参考)。

测试机器配置:

  • 普通笔记 windows 笔记本配置
  • 其次网络问题
  • 存在代理
  • 需要访问 github 等, 造成速度比较慢。

基于 vite react 测试各个包 install 命令

包管理工具测试次数消费时间
npm3(14s/162)/(6s/162)(7s/217)
bunx4(66.67s/209)(8s/209)(9.07s/209)(8.75s/209)
pnpm3(8.5s/209)(6.9s/733)(7s/733)
yarn3(17.05s)(13.29s)(12.15s)

针对 vite react 项目 pnpm 在普通机器上具有缓存的优化,花费时间最短

五、基于 create-remix 测试各个包的 install 命令

我们以创建 remix 为例,对比 npx/yarn/pnpm/bun 的快速初始化一个项目速度。本测试主观性比较强,因为之前一直在用 pnpm(pnpm 存在缓存优势):

npx create-remix
yarn create remix
pnpx dlx create-remix
bunx create-remix
包管理工具测试次数消费时间
npm5(34s/790)/(34s/790)(34s/790)(23s/790)(25s/790)
bunx4(88.36s/209)(90.91s/733)(30.34s/732)(35.27s/732)
pnpm3(21s/733)(14.5s/733)(14.5s/733)
yarn3(48.65s)(25.20s)(27.47s)

从以上表可以得出结论:create-remix 这个创建 remix 项目其实下载包的数量是有差异的,yarn 没有直接先下载包的数据量。

在简单的创建项目的场景下,普通配置电脑 pnpm 在有缓存之后就不再从网络上下载,时间在 14.5 左右。 bunx 在创建项目和安装依赖时,并没有优势。

六、Bun 阶段: resolving/installing

  • 第一次安装 resolving 阶段时,可能会卡住:
 bun install
bun install v1.1.0 (5903a614)
  🔍 Resolving [1/12]

Bun 在 resolving 阶段花费时间比较长。经过 resolve 之后就是安装阶段,安装阶段是需要从 npm 库中下载。installing 阶段各个包管理工具处理是不同的,npm/bun/yarn 都还是要下载,但是 pnpm 直接读取缓存。如果删除 node_modules 由于有 bun.lock 文件存在 Bun 会直接进入 install 阶段,不再需要 resolving,会加速下载过程。

七、小结

在 windows 系统重中 bun 已经发布,经过测试 bun dev/bun run的运行速度确实挺快的。但是 bun install 相对于其他的包管理工具并普通 PC 机上主观上没有体现出优势,尤其是第一次安装项目依赖的时候。期待 Bun 对 windows 的进一步针对 PC 的优化。

转载自:https://juejin.cn/post/7352879991301013542
评论
请登录