TypeScript 7.1 beta 的原生编译器:35.3 万行项目 2.8 秒查完,原来要 12.4 秒
来源:dev.to — 2026-10-31
📋 概述
TypeScript 7.0 把编译器从 JavaScript 重写成 Go 原生实现,微软给出的数字是 125.7 秒降到 10.6 秒,约十二倍。作者想知道这个数字在不是为发布会挑的代码库上还成不成立,于是克隆了 nestjs/nest,装上真实依赖,用三个编译器跑同一棵树:重写前最后的 6.0.3、第一个原生稳定版 7.0.2、以及十一天前发布的 7.1.0-beta。这个 tsconfig 会把包、集成测试和示例一起拉进来,算上依赖图共 2934 个文件、约 35.3 万行,tsc --noEmit 足以代表一次 CI 或 pre-commit 的负担。实测结论比宣传保守:加速在 2.5 到 4.5 倍之间,不是 8 到 12 倍;而且 7.0 稳定版的内存占用比旧编译器更高,还砍掉了 ts-node 需要的那个 API。
🔑 核心要点
- 真实代码库上的加速是 2.5 到 4.5 倍:明显低于官方宣称的八到十二倍。
- 测试对象是 nestjs/nest:2934 个文件、约 35.3 万行,用 tsc --noEmit 计时。
- 7.0 稳定版内存占用反而更高:原生实现变快,但不是在所有维度上都更省。
- 原生版本移除了 ts-node 依赖的编译器 API:迁移前需要评估工具链里哪些东西挂在那个接口上。
💡 金句
I wanted to know whether that holds on a codebase I didn't choose for a marketing slide
译:我想知道这个结论在一个不是为发布会幻灯片挑选的代码库上还成不成立。
👍 0
👎 0
← 返回 dev.to 首页