← 返回博客

Elysia vs Hono 完整性能对比:Bun 专属优化还是跨平台通用,2026 实测数据给出的答案

后端架构

写在前面

后端框架圈又吵起来了。这次的主角是 Elysia 和 Hono——两个都以”快”著称的 TypeScript 后端框架。一个是 Bun 官方背书、深度绑定 Bun 底层的天生性能怪;一个是横跨 Bun / Node / Cloudflare Workers 的通用型选手。

但”快”这个字,在不同环境、不同业务场景下含义完全不同。网上流传最广的说法是”Elysia 性能碾压 Hono”,这个结论在纯内存压测下确实成立,可一旦落到真实业务,差距会瞬间被 IO 抹平,甚至 Hono 会在 Node 环境下反超。

这篇文章用 2026 年实测的 wrk / oha 压测数据,把这件”到底谁更快”的事讲明白。


一、先看结论,别急着站队

不管后面多少张表格,你先记住四句话:

  1. Bun 环境裸压测(无业务逻辑):Elysia 性能 ≈ Hono 的 1.8~2 倍,差距巨大;
  2. Bun 真实业务场景(带校验、鉴权、DB 查询):二者差距缩小至 10%~20%,绝大多数业务感知不到区别;
  3. Node.js 环境Hono 性能反超 Elysia,Elysia 那些 Bun 专属优化在 Node 下全部失效;
  4. 边缘平台(Cloudflare Workers):仅 Hono 可用,Elysia 根本无法部署。

一句话版本:Elysia 是”把单机性能榨到极致”的工具,Hono 是”一套代码到处跑”的工具。 它们赢在不同维度,取决于你的部署环境。


二、裸性能跑分:HelloWorld 与 JSON 返回的真实差距

先看最能拉开差距的数据。以下跑分来自单核 wrk / oha 压测,区分了 Bun、Node、边缘三种环境。

2.1 Bun 1.3 环境(最能拉开差距的地方)

场景Elysia 1.4 RPSHono 4.x RPS差距
纯路由 HelloWorld245万~260万115万~125万Elysia 快约 110%
返回 JSON 对象19.5万~21万15.5万~17.5万Elysia 快约 25%
带 Schema 校验(后端最常用)71,20262,207Elysia 快 14%
WebSocket 长连接并发百万级并发稳定60 万左右并发上限Elysia WS 优势明显

延迟表现(JSON 接口):

Elysia 不仅吞吐量更高,长尾延迟也更稳。P99 更低的含义是:在高并发下,Elysia 的抖动更小,不会有一小撮请求被拖到几毫秒甚至几十毫秒。

这里有个特别值得注意的规律——场景越简单,差距越大

差距随着业务复杂度一路缩小。这个规律在后面真实业务章节会再次验证。

2.2 Node.js 24 环境(生产环境最常用)

框架RPS说明
Hono35 万Node 下远超 Fastify(23 万)
Elysia28 万失去 Bun.serve 底层优化,性能下滑,弱于 Hono

数据非常说明问题:Elysia 的 70% 优势,在 Node 下直接变负。这不是”Hono 变强了”,而是 Elysia 赖以制胜的底层优势被环境抽走了。

2.3 边缘环境 Cloudflare Workers

框架RPS说明
Hono1.3 万~1.4 万正常运行
Elysia无法部署兼容性报错

边缘这一档,Elysia 连参赛资格都没有。它深度绑定 Bun 运行时,无法跑在 CF Workers 上。


三、为什么 Bun 下 Elysia 更快?三层底层原理

从跑分理解到原理,是这篇文章的关键。Elysia 的优势不是玄学,来自三层硬设计:

3.1 深度绑定 Bun 底层,去掉了抽象层

Elysia 直接封装 Bun.serve没有额外的 Web Standard 抽象层。路由函数在启动时被编译为优化函数,路由匹配的开销被压到极低。WebSocket、文件读写、SQLite 全部复用 Bun 原生的高性能 API。

一句话:Elysia 就是为 Bun 量身定制的,它不跟抽象层谈恋爱。

3.2 Hono 的跨平台兼容,是拿性能换的

Hono 遵循标准的 Fetch Request / Response 规范来实现,用一层抽象同时兼容 Bun / Node / Cloudflare Workers。这一层”跨平台兼容层”本身就带来约 15% 的固定性能损耗

Hono 的 RegExpRouter 路由匹配已经很快,但它依然比 Elysia 的原生绑定模式多一层开销。通用性从来不是免费的。

3.3 校验体系的原生化差异

这正是为什么”带 Schema 校验”时 Elysia 仍有 14% 的优势——校验本身也被吃进了它和 Bun 的优化链路里。


四、真实业务场景:99% 开发者的实际情况,差距几乎消失了

记住一个反直觉的结论:跑分差距很大,但只要接口里塞进任何一点业务逻辑,差距就会被瞬间抹平。

真实接口的开销大头根本不在框架里,而在这些地方:

4.1 实测表现

  1. 普通 CRUD 接口:Elysia 仅比 Hono 快 8%~15%,用户完全体会不到;
  2. 接口瓶颈在数据库 / Redis / 第三方请求时两个框架性能几乎没区别——耗时全部卡在 IO,框架本身微秒级的开销可以忽略;
  3. 只有这 3 类场景,Elysia 的优势才能真正发挥
    • AI SSE 流式输出、流式对话接口;
    • IM 系统、大量 WebSocket 长连接服务;
    • 纯内存网关、缓存服务(几乎不查数据库)。

换句话说,凡是在等 IO 的地方,框架的选择对性能毫无意义。 性能的差距只出现在”CPU 密集且几乎不走 IO”的场景里。


五、冷启动性能:Serverless 场景的分水岭

框架打包体积冷启动表现边缘 Serverless
Hono14KB边缘函数毫秒级唤醒支持
Elysia约 22KBBun 本地启动很快不支持

结论清晰:做云函数、边缘部署,Hono 冷启动更强。 Elysia 的体积更大,且无法跑在边缘 O。


六、多维度性能对生存图(一张表看清胜负)

性能维度胜出方原因
裸 HTTP 吞吐量ElysiaBun.serve 原生绑定
带校验业务接口Elysia(+10%~15%)校验一体化编译
Node.js 运行性能HonoBun 优化失效
WebSocket 高并发Elysia复用 Bun 原生 WS
SSE 流式推送Elysia底层流式更高效
边缘冷启动速度Hono不可部署边缘 / 无体积优势
高并发下延迟稳定性ElysiaP99 更低,抖动更小
内存占用ElysiaBun 原生优化

这张表的潜台词是:Elysia 的胜利集中在一个象限里——Bun 环境下的性能型场景;Hono 的胜利则遍布所有环境、所有”够用就好”的普通业务。 这是一个”精攻一处”与”全面覆盖”的选择,不是一个”谁更好”的选择。


七、结合性能的选型建议

🚀 选 Elysia(利用高性能)

  1. 部署环境固定只用 Bun,且永远不会迁到 Node、Cloudflare Workers;
  2. 业务以 WS 长连接、AI 流式接口、网关转发为主;
  3. 想榨干单机性能,节省服务器成本

🌍 选 Hono(性能够用 + 通用性优先)

  1. 主力 Node 部署,且未来可能切换 Bun、边缘函数
  2. 普通后台 CRUD、管理系统、BFF 层(瓶颈在数据库,框架性能无关紧要);
  3. 希望一份代码多处部署(本地 Bun + 线上 CF 边缘)。

八、误区澄清:关于 Elysia 与 Hono 的流行说法

误区一:Elysia 全方位吊打 Hono

事实: 只有 Bun 环境下、纯内存高并发场景 Elysia 才有巨大优势,普通业务差距很小。

误区二:Elysia 在 Node 里也应该很快

事实: 在 Node 下 Elysia 不仅变慢,还会丢 WebSocket、原生校验优化等特性,整体表现不如 Hono。

误区三:性能不够用,必须上更快的框架

事实: 大部分互联网业务日千万请求以内,Hono + Bun 的性能完全过剩,强行上 Elysia 收益极低、还绑死了环境。


写在最后

Elysia 和 Hono 的对比,本质不是”谁更快”,而是”你在哪条环境边界内开发、想不想为通用性让渡一点性能”。跑分用来理解框架的天花板,业务场景才决定框架的性价比。

如果你想在 Bun 上做 AI 流式接口 / IM / 高并发网关,Elysia 值得赌一把;如果你的业务是常规 CRUD、心思随时准备迁 Node 或边缘,Hono 已经是正确答案,性能百分百够用,且不用为它锁死环境。


原创技术博客 · 开源项目分享 · AI全栈创作社区 idao.fun