YYaaa News

TypeScript 7.0 正式发布,官方编译器改用 Go 重写|VSCode build 从 125 秒砍到 10 秒

一句话总结

微软发布 TypeScript 7.0,tsc 改用 Go 重写,VSCode 完整 build 从 125.7 秒缩到 10.6 秒。

微软于 7 月 8 日正式发布 TypeScript 7.0,官方编译器 tsc 从 TypeScript 自身改用 Go 重写,内部代号 Project Corsa。这门定位为「JavaScript 超集」的语言,过去二十年一直用自己编译自己,现在切给另一门语言。

Principal Product Manager Daniel Rosenwasser 公布的基准测试涵盖五个真实仓库。VSCode 完整 build 从 125.7 秒降到 10.6 秒(11.9 倍加速),Sentry 从 139.8 秒到 15.7 秒(8.9 倍),Bluesky、Playwright、tldraw 落在 7.7 至 8.7 倍。开启 --checkers 8 多线程模式,VSCode 进一步拉到 16.7 倍。内存同步下降,VSCode 从 5.2GB 减到 4.2GB(-18%),Bluesky 少 26%,tldraw 少 15%。

早鸟客户把加速兑成工程时数。Slack 导入后合并队列时间削减 40%,CI 类型检查从 7.5 分钟压到 1.25 分钟;微软自家 News Services 每月省下 400 小时 CI build;Canva 把 time-to-first-error 从 58 秒缩到 4.8 秒;Vanta 在主要项目跑出 9 倍加速。

Rosenwasser 写道,约半数性能提升来自原生代码本身,另一半来自旧 Node.js 运行时给不了的共享内存多线程。

TypeScript 6 用户升级要处理两个 breaking:rootDir 默认改为 ./types 默认从自动捞 @types 改为 []。微软同步发布 @typescript/typescript6 兼容包,允许新旧 tsc 并存。

赌赢,Go 版 tsc 把 TypeScript 团队从解释器性能瓶颈里永久拔出来。赌输,社区多维护一门语言的补丁周期,Go 分支和 TypeScript 语言规范从此各走各的节奏。

via Microsoft DevBlogs / Visual Studio Magazine / Slashdot
TypeScript 7.0 GA,官方編譯器改用 Go 重寫|VSCode build 從 125 秒砍到 10 秒