Cloudflare 与 Void Zero 正与 Owner.com 的 Max Schwenk 合作开发 tsrs,这是 TypeScript 编译器的 Rust 移植版。该项目与 TypeScript 团队紧密协作开发,并作为 Oxc JavaScript 编译器工具链的一部分进行孵化。项目的既定目标是帮助开发者减少等待代码检查的时间,将更多时间用于构建,并将更快速、内存效率更高的 TypeScript 带到更多环境中,包括浏览器。
团队强调,tsrs 并非分支版本。TypeScript 团队将继续全面掌控该语言的设计与发展方向。Rust 移植版必须紧密遵循 TypeScript 团队的决策,因为功能往往要经过多年原型设计,才会选定实现方案,否则移植版就有可能与原版不兼容。
早期基准测试显示,在使用相同数量的类型检查工作线程时,tsrs 的运行速度最高可达 8 倍,内存占用比 TypeScript 7.0 减少约 70%。下一个 TypeScript 版本 7.1 测试版的速度比 7.0 快至 2.5 倍,其中部分优化来自 tsrs 的上游贡献。tsrs 默认采用自适应配置,会以更多内存消耗换取更高速度。实验性版本可通过 npm 安装。
TypeScript 的 Go 移植版已带来显著性能提升,但团队认为 Rust 具有额外优势。Rust 的内存模型使 WebAssembly 客户端与宿主之间的交互更为简单,而将 Go 编译为 Wasm 则需要打包其垃圾回收器。由于 Cloudflare Workers 会以紧密循环的方式运行构建和部署系统,因此小巧的内存占用至关重要。
来源: Hacker News · 由HeadlinesBriefing整理摘要