Microsoft/TypeScript

Optimize constructing type nodes from types

Open

#34,776 创建于 2019年10月28日

在 GitHub 查看
 (0 评论) (2 反应) (0 负责人)TypeScript (48,455 star) (6,726 fork)batch import
BugDomain: PerformanceHelp Wanted

描述

Originally posted by @weswigham in https://github.com/microsoft/TypeScript/issues/34119#issuecomment-545640573

Yep, looking at the traces I see pretty much all the time spent in trySymbolTable and getAliasForSymbolInContainer, which are workers user for calculating visible symbol chains. The whole process is uncached and quite naive right now (it's pretty much the same as it was since TS 1.8, but we rely on it more and more). It has been on my backlog as something that needs to be rewritten with a better more cacheable structure for perf.

There's also a fair chunk of time spent in GC and in path component-related operations that might also need some optimization - I'm guessing the large number of import types we manufacture require a large number of path calculations which end up making a lot of garbage - some caching may be in order here.

贡献者指南