微软发布TypeScript原生编译器,性能提升10倍

4次阅读
没有评论

共计 1227 个字符,预计需要花费 4 分钟才能阅读完成。

微软 TypeScript 团队近日宣布了一项突破性进展:实验性的 TypeScript 编译器(tsc)原生移植版本 tsc-go 正式亮相。这一创新项目采用 Go 语言编写,无需依赖 Node.js 运行时,旨在将构建时间提升 10 倍,大幅缩短冷启动编辑器的启动时间,并显著优化内存使用效率。

TypeScript 首席架构师 Anders Hejlsberg 阐述了此次移植的核心理念:“TypeScript 的核心价值在于提供卓越的开发者体验。随着代码库规模不断扩大,现有的 TypeScript 在应对大型项目时面临挑战。开发者不得不在合理的编辑器启动时间与完整的源代码视图之间做出取舍。此外,AI 驱动的开发体验对语义信息的快速获取提出了更高要求,而快速进行命令行构建也是确保代码库完整性的关键。”

 微软发布 TypeScript 原生编译器,性能提升 10 倍

传统的基于 Node.js 的 tsc 编译器在处理大型项目或频繁的小型构建时,尤其是初次执行时,往往会出现明显的启动延迟。新的实验性 TypeScript 编译器采用 Go 语言编写,并编译为原生代码,有效规避了 Node.js 的启动开销。

性能测试结果令人振奋:在 VS Code 的百万行代码(1 MLOC)代码库中,类型检查时间从 77 秒锐减至 7.5 秒,实现了 10 倍的性能提升。Playwright 代码库(356,000 LOC)的测试结果同样出色,时间从 11 秒降至 1 秒。即使是较小的代码库,如 RxJS(2,100 LOC),类型检查时间也从 1.1 秒缩短至 0.1 秒。此外,Visual Studio 代码库的项目加载时间提升了 8 倍,预计这一提升比例将在其他代码库中得到保持。

目前,代号为 Corsa 的原生移植项目仍处于实验阶段,尚缺乏增量构建等关键功能。微软表示,当原生代码库与当前 TypeScript 达到足够的功能对等性时,将作为 TypeScript 7.0 版本发布,并提供谨慎的迁移路径。在 TypeScript 7+ 达到足够的成熟度和采用率之前,团队将继续维护 6.x 系列的 JavaScript 代码库。

针对开发者社区关于为何选择 Go 而非 Rust 的疑问,TypeScript 开发负责人 Ryan Cavanaugh 给出了详细解释:“最终,我们面临两个选择:要么用 Rust 从头开始完全重写,这可能需要数年时间,并产生一个不兼容的 TypeScript 版本;要么选择 Go 进行移植,在一年左右的时间内获得可用的产品,同时保持高度兼容的语义和极具竞争力的性能。”

开发者可以通过观看 YouTube 视频深入了解 TypeScript 移植工作的进展,或访问 GitHub 仓库查看开发情况。预览版本已在 npm 上发布,名称为 `@typescript/native-preview`,相应的 VS Code 扩展也可在 VS Code 市场中获取。

该项目采用 Apache 许可证 2.0 发布,欢迎开发者贡献和建议。更多信息可参考贡献者许可协议和微软开源行为准则。这一创新举措无疑将为 TypeScript 生态系统带来革命性的变化,为开发者提供更高效、更流畅的编程体验。

正文完
 0
admin-gah
版权声明:本文于2025-05-28转载自infoq.com,共计1227字。
转载提示:此文章非本站原创文章,若需转载请联系原作者获得转载授权。
评论(没有评论)
验证码