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

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倍速,值得一试。

八、代码块:立刻体验

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

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

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

相关推荐
我星期八休息34 分钟前
扩展— TCP 全连接队列与 tcpdump 抓包
linux·服务器·开发语言·前端·网络·tcp/ip·tcpdump
AC赳赳老秦1 小时前
CSDN 技术社区数据采集:OpenClaw 抓取公开技术热帖,生成领域技术热点周报
java·大数据·前端·数据库·python·php·openclaw
结网的兔子1 小时前
【前端开发】Web端迁移至 uni-app 及鸿蒙扩展方案对比
前端·uni-app·harmonyos
水瓶夜之2 小时前
.NET 中的新增功能系列文章——.NET SDK中的新增功能
前端·chrome·.net
笨笨狗吞噬者2 小时前
VS Code 内置浏览器打开网页
前端
SamChan902 小时前
WebSocket实现PDF翻译进度实时推送:Go后端+React前端的完整方案
前端·websocket·pdf·c#·react·机器翻译
甲维斯3 小时前
DeepSeekFlash前端依旧拉垮,而且变慢了很多!
前端·人工智能
奈斯先生Vector3 小时前
大模型 Agentic Workflow 架构解构:异构 API 调度与 Token 路由的多模态系统设计
开发语言·前端·架构·prompt·aigc·音视频
海带紫菜菠萝汤3 小时前
FFmpeg.wasm 实践:在浏览器中运行 FFmpeg 的能力边界与性能瓶颈
前端·javascript·ffmpeg·音视频·wasm
名字还没想好☜3 小时前
React 受控输入框光标跳到末尾:格式化输入时的 selection 丢失 bug 与修复
前端·javascript·react.js·bug·react·next.js