聊天讨论 微软用 Go 重写 TypeScript 编译器,速度提升 10 倍,网友:这是 “背叛” 还是 “救赎”?

193577746(kyriewen) · 2026年05月31日 · 15 次阅读

4 月 22 日,微软宣布 TypeScript 7.0 Beta 正式发布。这一次,TypeScript 团队干了一件让整个 JS 社区炸锅的事——他们把编译器和工具栈,从 TypeScript/JavaScript 底层完全移植到了 Go。速度通常比 6.0 快约 10 倍。编译 VS Code 代码库从 78 秒缩到 7.5 秒。消息一出,有人叫好,有人愤怒,更多人在问:TypeScript 这是 “背叛” JavaScript 了吗?

一、发生了什么?

年初,微软官宣了一个叫 “Project Corsa” 的计划:用 Go 语言,重写整个 TypeScript 编译器。不是 TypeScript,不是 Rust,是 Go。重写之后,编译速度预计提升10 倍

4 月 22 日,微软正式发布 TypeScript 7.0 Beta。在过去的近一年中,微软开发者将现有的 TypeScript 代码库从 TypeScript(作为编译成 JavaScript 的引导代码库)移植到了 Go。通过结合原生代码速度和共享内存并行性,TypeScript 7.0 的速度通常比 TypeScript 6.0 快约 10 倍。

二、为什么有人 “吵翻了”?

消息一出,社区立刻分裂。支持派说:“终于!大型项目编译几分钟的时代,终于要结束了。”反对派说:“TypeScript 自己都是用 TypeScript 写的,这是灵魂。用 Go 重写?这是 ‘背叛’。”

最大的争议点:为什么选 Go,而不是 Rust? 这是问得最多的问题。微软给出的解释包括:Go 的编程风格与现有 TypeScript 代码库高度相似,移植更容易;goroutine原生支持并行类型检查;垃圾回收针对这种超大量小对象的编译器场景优化得很好;TypeScript 团队已有 Go 经验。

三、一个细节:为啥 TypeScript 6.0 比 7.0 更早发布?

微软实际上是在 TypeScript 6.0 发布前就启动了 Go 重写计划。他们把 6.0 定位为 “基于 JS 编译器的最后一个版本”,所以 7.0 才是真正的 Go 重写版。

四、实际体验:真的能快 10 倍吗?

微软自家的 VS Code 代码库约 150 万行 TypeScript,旧编译器编译约 78 秒,新tsgo只用了 7.5 秒,快 10.4 倍。Playwright 和 TypeORM 等项目也报告了约 10-13 倍的性能提升。

在编辑器方面,导入补全、快速跳转、查找所有引用的响应时间也大幅缩短,内存使用量约为旧版的一半。

五、兼容性:需要改代码吗?

官方强调新的 Go 代码库是从现有实现中系统性移植而来,类型检查逻辑与 TypeScript 6.0 完全一致,不需要为新编译器重构代码。新tsgo命令行工具与旧tsc参数行为完全兼容。

六、试用:今天就能用

目前通过@typescript/native-preview包名安装,命令行入口是tsgo。官方表示稳定的程序化 API 预计要到 7.1 版本。

七、最后

TypeScript 团队用 Go 重写编译器,让大型项目编译从 “喝杯咖啡” 变成 “眨个眼”。有人解读为 “背叛”,但也许更像一次务实的 “脱胎换骨”。

你愿意现在就装个 Beta 版试试吗?10 倍速,值得一试。

八、代码块:立刻体验

# 在现有项目中安装 TS 7.0 Beta
npm install -D @typescript/native-preview@beta

# 使用新编译器检查类型(体验10倍速度)
npx tsgo --noEmit

你会为了 10 倍速尝鲜 Beta 版吗?评论区聊聊你的选择。点个赞让我看到有多少人已经换上了

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号