TypeScript 原生编译器 scriptc 实测比 Bun --aot 快 1.6 倍
cramforce · x · 2026-10-18
scriptc 是一个将 TypeScript/JavaScript 编译为原生可执行文件或 WebAssembly 的编译器:先用 tsc 按 tsconfig.json 做类型检查并据此选择原生表示,再经 LLVM 生成机器码(含 npm 依赖一起编译),产物无需 Node.js 即可运行,并支持交叉编译与覆盖率报告。
作者 cramforce 用 scriptc 自带的 30 个基准负载与 Bun 新开的 --aot(big draft PR)做了对比,5 次交错运行取中位数、全进程计时:
- 总体:几何平均耗时 scriptc 为 Bun --aot 的 0.62x(约快 1.6 倍);剔除 6 个使用 scriptc 原生库(Bun 下退回 JS 回退路径)的负载后为 0.71x
- 资源:CPU 为 0.57x,峰值内存 0.36x(多为 11-47MB vs 22-96MB);二进制体积 121-527KB vs 128-133MB(Bun 大 250-1000 倍)
- 对比 JIT:scriptc 为自身 JIT 的 0.71x、Node 的 0.41x
- Bun --aot 反超的场景:cyclic-graphs 慢 3 倍等 4 项, traced GC 胜过引用计数+环收集器
- scriptc 最大优势:published-graphs 0.07x、intern-table 0.15x 等(前两项用了 scriptc 原生库)
作者同时提醒:不要信这个基准——它正是 scriptc 针对性优化的对象,也不代表你的真实应用,所有厂商晒的基准同理。
「编程与Agent」频道最新
- 让 AI Agent 建 APFS 卷关掉 Spotlight,Mac 仓库目录提速 — GabGarrett · 2026-10-18
- OpenCode 凭据泄露引热议,HN 网友 68 天前就警告过数据外传 — himanshustwts · 2026-10-18
- AI 助手搞混截止日期:口口声声说周六,其实指明天 — markjeffrey · 2026-10-18
- 6GB 显存跑 agent 集群:毫秒级微模型当工蚁,大模型只管决策 — everettplays · 2026-10-18
- Jim Koppel 悬念帖:想从一个大文件里只导入一个函数,怎么办 — jimmykoppel · 2026-10-18
- 受够 Gemini Canvas 生成烂幻灯片,开发者做了 PPTX Native Skill — g7sid · 2026-10-18