微软宣布推出本地TypeScript编译器,性能提升达10倍

微软宣布推出本地TypeScript编译器,性能提升达10倍

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

微软TypeScript团队推出实验性本地编译器tsc-go,旨在提升构建速度、减少冷启动时间并改善内存使用。该编译器使用Go语言编写,避免Node.js的启动开销,显著提升大型项目的开发体验。测试显示,VS Code代码库的类型检查时间从77秒降至7.5秒,提升达10倍。该项目仍在实验阶段,未来将发布TypeScript 7.0。

🎯

关键要点

  • 微软TypeScript团队推出实验性本地编译器tsc-go,旨在提升构建速度、减少冷启动时间并改善内存使用。

  • 该编译器使用Go语言编写,避免Node.js的启动开销,显著提升大型项目的开发体验。

  • VS Code代码库的类型检查时间从77秒降至7.5秒,提升达10倍。

  • Playwright代码库的类型检查时间从11秒降至1秒,RxJS代码库的时间从1.1秒降至0.1秒。

  • TypeScript团队报告Visual Studio代码库的项目加载时间提升8倍,开发者体验显著改善。

  • 该本地编译器仍处于实验阶段,缺少增量构建等许多功能,未来将发布TypeScript 7.0。

  • 开发者对选择Go而非Rust的理由提出疑问,TypeScript开发负责人Ryan Cavanaugh进行了详细解释。

  • 项目遵循Apache License 2.0,欢迎贡献和建议,遵循微软开源行为准则。

🔎

延伸解读

编译器性能提升的意义

微软推出的本地TypeScript编译器tsc-go,显著提升了大型项目的构建速度,尤其是在类型检查方面,VS Code代码库的时间从77秒降至7.5秒。这种提升不仅能提高开发效率,还能改善开发者的整体体验,尤其是在处理复杂代码时。

实验阶段的风险与限制

尽管tsc-go在性能上表现出色,但目前仍处于实验阶段,缺少增量构建等关键功能。这意味着在实际应用中,开发者可能会遇到一些限制,需谨慎评估其在生产环境中的适用性。

选择Go语言的考量

TypeScript团队选择使用Go语言而非Rust进行编译器的移植,主要是为了在较短时间内实现兼容性和性能的平衡。这一决策引发了开发者的讨论,反映出在技术选择上,时间和兼容性的重要性。

延伸问答

tsc-go编译器的主要优势是什么?

tsc-go编译器的主要优势是提升构建速度、减少冷启动时间和改善内存使用,性能提升可达10倍。

为什么微软选择使用Go语言而不是Rust来开发tsc-go?

微软选择Go语言是因为可以快速实现可用版本,而Rust的完全重写可能需要多年时间且不兼容现有版本。

tsc-go在VS Code代码库中的表现如何?

在VS Code代码库中,类型检查时间从77秒降至7.5秒,提升达10倍。

tsc-go编译器目前处于什么阶段?

tsc-go编译器目前仍处于实验阶段,缺少增量构建等许多功能。

TypeScript 7.0的发布计划是什么?

TypeScript 7.0将在本地代码库达到与当前版本的足够相似度后发布,并将提供平滑的迁移路径。

开发者如何参与tsc-go项目?

开发者可以通过GitHub仓库贡献代码和建议,项目遵循Apache License 2.0。

🏷️

标签

➡️

继续阅读