Bun 运行时的 QRCode 生成库,针对 Bun 的高性能特性进行优化,适合边缘计算和快速启动场景。
Bun 相比 Node.js 的优势(基于实际基准测试):
| 特性 | Bun | Node.js |
|---|---|---|
| 启动时间 | 更快 | 快 |
| 单条生成性能 (medium) | 13,929 ops/s | 9,662 ops/s |
| 批量生成性能 (1000 条) | 15,000 ops/s | 3,000 ops/s |
| TypeScript | 原生支持 | 需转译 |
| 包管理 | 内置,更快 | npm/yarn/pnpm |
Bun 的并发性能特别适合批量生成:
运行基准测试:
预期输出:
两个包 API 完全一致,可以无缝切换:
主要区别:
| 特性 | @veaba/qrcode-bun | @veaba/qrcode-node |
|---|---|---|
| 运行时 | Bun | Node.js |
| 启动速度 | 更快 | 快 |
| 批量性能 | 更优(5倍) | 优 |
| TypeScript | 原生 | 需 ts-node/tsx |
| npm 兼容 | 是 | 是 |
基于实际基准测试:
| 测试项 | Bun | Node.js | 优势 |
|---|---|---|---|
| 单条生成 (short) | 10,872 ops/s | 10,312 ops/s | +5.4% |
| 单条生成 (medium) | 13,929 ops/s | 9,662 ops/s | +44.2% |
| 单条生成 (long) | 5,306 ops/s | 2,447 ops/s | +116.8% |
| 批量生成 (1000 条) | 15,000 ops/s | 3,000 ops/s | +400% |
| SVG 输出 | 17,097 ops/s | 9,827 ops/s | +74% |
测试环境:Bun 1.3.0 / Node.js v20.19.4, Windows
从 Node.js 迁移到 Bun:
API 完全兼容,无需修改业务逻辑!