TS 7.0 编译器重写:构建速度提升 12 倍

微软正式发布 TypeScript 7.0,将编译器从 TypeScript/Node.js 完整重写为 Go 语言原生二进制。VS Code 项目(230万行)编译从 125.7 秒降至 10.6 秒,提速约 12 倍。
2026 年 7 月 8 日,微软正式发布 TypeScript 7.0。这是自 2012 年 TS 诞生以来最重大的底层架构变革:整个编译器与语言服务以 Go 语言完整重写,编译性能平均提升 10 倍以上。
性能提升数据
| 项目 | TS 6.0 | TS 7.0 | 提速 |
|---|---|---|---|
| VS Code (230万行) | 125.7s | 10.6s | 11.9x |
| Sentry | ~80s | ~10s | ~8x |
| Playwright | ~60s | ~7s | ~8.5x |
| 内存峰值(VS Code) | 5.2GB | 4.2GB | -18% |
图1:TypeScript 6.0 vs 7.0 编译时间对比
为什么选择 Go?
TypeScript 6.0 的编译器本身就是用 TypeScript 写的,运行在 Node.js/V8 上。随着项目规模增长,这种"用解释型语言写编译器"的架构成为性能瓶颈。
选择 Go 而非 Rust 或 C++ 的原因:
- Go 的 goroutine 天然支持并行化,TS 7.0 的类型检查器实现了真正的并行
- Go 编译速度快,开发迭代效率高
- Go 的 GC 避免了手动内存管理的复杂性
- Go 的工具链成熟,交叉编译简单
关键改进
- 类型检查器并行化:利用多核 CPU 并行检查不同文件
- --watch 模式重写:空闲 CPU 占用大幅优化
- 编辑器响应提速 13 倍:首条错误显示从 17.5 秒降至 1.3 秒
- 类型语义完全兼容:tsconfig.json 几乎无需改动
已知限制
- 尚无完整编程 API,Vue (Volar) 等依赖 TS API 的工具暂无法迁移,建议等 7.1
- 编程 API 预计在 7.1 版本中逐步恢复
TypeScript 7.0 的 Go 重写不仅是性能提升,更是前端工具链"Rust/Go 化"趋势的一部分——Vite 用 Rust 的 Oxc,Astro 7 用 Rust 重写,Turborepo 也迁移到 Rust。编译型语言正在重新定义前端开发体验。
评论 (0)
加载评论中…