18、【Agent】【OpenCode】源码构建(Bun&node速度对比)

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除

背景

上篇 blog
【Agent】【OpenCode】源码构建(Bun安装方式)

介绍了 Bun 工具集的安装方式,提到 curl https://.../install | bash 这种命令是现代开源工具中非常常见且标准化的安装方式,然后详细分析了该命令,其管道 | 的前半部分 curl 只是下载一个安装脚本,而不是 Bun 工具集本身,然后第二步 | bash 才是把下载到的脚本内容直接传给 bash 执行,安装脚本主要做三件事:检测系统,下载 Bun 二进制包,解压并配置环境变量,然后提到这种安装方式的风险点,建议可以先查看脚本内容后,再决定是否运行,最后分析了下安装脚本执行完后,几个可预见的变化,下面继续分析

OpenCode

上篇 blog 分析了 Bun 工具集的安装方式,下面再和其他安装方式对比下

方式 命令 优点 缺点
官方安装脚本 `curl ... bash` 块,简单,自动配置 PATH
包管理器 sudo apt install bun 安全,可审计 Ubuntu 官方源暂未收录,且更新会比较慢
手动下载 wget + unzip + chmod 完全可控 需手动配置 PATH
npm 安装 npm install -g bun 传统经典 依赖 Node.js,速度较慢

目前综合来看,推荐官方脚本进行安装

安装成功之后

重启终端,输入

bash 复制代码
bun --version

就可以看到 bun 工具集的安装信息

另外,之前 blog 【Agent】【OpenCode】源码构建(Bun介绍) 说,bun 的速度比 node/npm 快很多(包括启动速度,包安装速度等),下面正好来对比下

首先刚才上面确认了 bun 版本为 1.3.11,再看下 node 版本,为 v18.19.1

先测 node,在终端输入

bash 复制代码
time node -e "console.log('hello')"

可以看到其实际耗时 62ms

再看 bun,终端输入

bash 复制代码
time bun -e "console.log('hello')"

可以看到耗时 8ms,其速度大概是 node 的 8 倍,这种速度优势对小脚本尤其明显,这种性能上的提升有几大核心原因,之前简单提了下,下面详细分析下

首先核心原因之一:bun 用 Zig 语言写的,而不是 C++

  • Node.js :基于 V8(C++)+ libuv(C),启动时要加载大量的动态库 ,另外,JavaScript 引擎,事件循环,文件系统,网络模块等,都是不同团队写的,拼凑在一起,所以启动一个空的 time node -e "console.log('hello')" 也要花 50~100ms
  • Bun :整个运行时用 Zig 语言从头写(作者 Jarred Sumner 自己写的 JS 引擎),零依赖,单二进制文件bun 只有约 30MB,而 Node.js 要搭配 npm,core modules 等),说到底,Node.js 绑定的东西太多,太重载了

核心原因二:Bun 的包管理器是数据库式的设计,而不是单纯文件复制

  • npm / yarn :安装依赖的过程 = 递归下载 tarball → 解压 → 复制文件到 node_modules,每个包都要完整拷贝,即使多个包依赖同一个子包,也会重复存储,此外,这些访问还是 I/O 密集型操作,在机械硬盘上尤其慢
  • Bun :把所有包缓存为一个 SQLiTE 数据库(~/.bun/install.cache),bun install 只写一个符号链接,并更新 JSON lockfile,所有代码在内存中通过共享内存映射直接读取,几乎不碰硬盘

OK,本篇先到这里,如有疑问,欢迎评论区留言讨论,祝各位功力大涨,技术更上一层楼!!!更多内容见下篇 blog
【Agent】【OpenCode】源码构建(TypeScript&JavaScript)

相关推荐
Chef_Chen1 分钟前
论文解读:多模态智能体长期记忆突破:M3-Agent让AI像人一样“看、听、记、想“
人工智能·机器学习·agent·memory
zhuiyisuifeng8 分钟前
2026AI办公革命:Gemini3.1Pro重塑职场效率
人工智能
threelab9 分钟前
Three.js UV 图像变换效果 | 三维可视化 / AI 提示词
javascript·人工智能·uv
海兰9 分钟前
【第28篇】可观测性实战:LangFuse 方案详解
人工智能·spring boot·alibaba·spring ai
feng145614 分钟前
OpenSREClaw - 故障复盘和变更评审双 Agent 案例
运维·人工智能
普马萨特17 分钟前
室内外定位导航的最新趋势(基于国际大会观察)
人工智能
Black蜡笔小新18 分钟前
私有化本地化AI模型训推工作站/AI大模型训练工作站DLTM赋能安全监控迈入智能时代
人工智能
HackTwoHub23 分钟前
全新 AI 赋能网安平台 基于 Mitmproxy 流量分析自动化资产挖、轻量化综合渗透工具箱
人工智能·web安全·网络安全·系统安全·安全架构·sql注入
LaughingZhu24 分钟前
Product Hunt 每日热榜 | 2026-04-27
人工智能·经验分享·深度学习·产品运营
代码飞天31 分钟前
机器学习算法和函数整理——助力快速查阅
人工智能·算法·机器学习