-
Notifications
You must be signed in to change notification settings - Fork 12.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Skip visits to child nodes of entity names in visitExistingNodeTreeSymbols #58067
Conversation
@typescript-bot perf test this though I doubt this'll register, since it'll probably only affect the time it takes to issue some overcomplicated errors? |
Starting jobs; this comment will be updated as builds start and complete.
|
Oh yeah you can't just stick random garbage onto the bot commands, they're passed through (I intend to have arguments to perf testing in the near future). @typescript-bot perf test this |
@typescript-bot perf test this |
Starting jobs; this comment will be updated as builds start and complete.
|
@jakebailey Here they are:
tscComparison Report - baseline..pr
System info unknown
Hosts
Scenarios
tsserverComparison Report - baseline..pr
System info unknown
Hosts
Scenarios
startupComparison Report - baseline..pr
System info unknown
Hosts
Scenarios
Developer Information: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems fine, though it's a shame there's not really a testable thing here...
This just skips visiting some children of entity names where we'd just repeat the same symbol resolution repeatedly (if we lookup
A
inA.B
, we don't need to also visitA
andB
, so long as we attach symbol info forA
during that first lookup), or would never actually resolve (because it's the name of the declaration).I'm not sure if this'd actually show up on any perf tests (but it should definitely be good for perf - we're just doing less repeated work), but what it does do is make any future users of
trackSymbol
(eg,isolatedDeclarations
resolver/checker) need to handle fewer cases.