6月19日消息,微软推出RC版TypeScript 7.0,性能提升约10倍,且完全兼容6.0语义,支持现有项目无缝迁移。
TypeScript是微软2012年推出的开源编程语言,作为JavaScript的静态类型超集,目前已是前端、Node.js全栈开发行业主流工具。
在此前14年发展历程中,编译器长期采用TypeScript自托管实现单线程运行架构,在百万行级大型代码库开发中,存在编译慢、内存占用高、编辑器卡顿等问题。
本次底层重构是该语言诞生以来规模最大、改动最深的一次架构革新,整套编译器逻辑均逐行移植至Go语言,全程同步使用十余年间积累的全套测试套件验证,确保新旧版本语义完全统一,业务代码无需改动即可升级。
本次性能提升由两部分共同贡献,50%来自Go原生机器码执行效率,另外50%得益于共享内存多线程并行处理能力,整体内存占用减半。
官方公布的性能数据如下:
VS Code代码库(150万行)类型检查从77.8秒降至7.5秒(1/10.4)
Sentry项目从133秒降至16秒(1/8.2)
TypeORM从17.5秒降至1.3秒(1/13.5)
Playwright从11.1秒降至1.1秒(1/10.1)
内存使用量:大约减半
加速约50%来自原生代码速度,50%来自并行。
全新编译器基于LSP语言服务器协议重构,原生支持多线程并发处理代码请求。VS Code用户安装TypeScript Native Preview扩展即可抢先体验,扩展内置自动导入、可展开悬停提示、内嵌提示、代码透镜、JSX链接编辑、语义高亮、导入排序、无用导入自动移除等编辑器功能。
官方模糊测试数据显示,新版语言服务器命令失败率仅为6.0版本的二十分之一,大幅减少编码时卡顿、报错、丢失等问题。