更改打字稿目标会影响编译性能吗?
Posted
技术标签:
【中文标题】更改打字稿目标会影响编译性能吗?【英文标题】:Does changing typescript target affect compilation performance? 【发布时间】:2019-04-18 08:34:04 【问题描述】:由于浏览器实现了 typescript 的所有功能,将编译目标从 es5 更改为 es6(或最接近 typescript 当前支持的目标)是否会减少 typescript 文件的编译时间?
打字稿的哪个编译步骤花费的时间最多?
我们是否可以关闭编译器类型检查器,因为无论如何我们都在运行一个语言服务器来进行检查(编译器有时会遗漏错误)?
【问题讨论】:
类型检查耗时最长,我预计目标会产生一些影响,但影响最小 【参考方案1】:我只是通过编译我的一个具有不同目标的中型 TypeScript 项目对此进行了一些实验。这些结果代表每个目标 20 次构建的平均时间(TypeScript 版本 3.4.2)
+--------+----------+
| Target | Duration |
+--------+----------+
| es3 | 10207ms |
| es5 | 9103ms |
| es6 | 8122ms |
| es2015 | 7991ms |
| es2016 | 7988ms |
| es2017 | 7966ms |
+--------+----------+
所以看来你是对的,切换到新目标后性能有所提高,但与 es2015 相比,这些改进似乎微不足道。
【讨论】:
我敢打赌,这还取决于代码库中使用的功能数量,这些功能不受当前目标支持,应该进行转换以上是关于更改打字稿目标会影响编译性能吗?的主要内容,如果未能解决你的问题,请参考以下文章