-
-
Notifications
You must be signed in to change notification settings - Fork 482
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
perf(semantic)!: remove SymbolTable::spans
field
#4473
perf(semantic)!: remove SymbolTable::spans
field
#4473
Conversation
I need this API for no |
CodSpeed Performance ReportMerging #4473 will not alter performanceComparing Summary
|
@DonIsaac Shouldn't the AST node that a symbol's You can still get the I had assumed the problem here causing the test failures was that the |
f08b812
to
f6ea0b1
Compare
f6ea0b1
to
b60bdf1
Compare
ad13d44
to
16c2ec4
Compare
@overlookmotel I'm not sure, I just trust getting spans from AST node declarations less than symbol spans. There's some funkiness going on with getting declaration nodes for function expressions. Mind if we wait until #4445 is merged first, then see how this PR affects spans it reports? |
Same as #4464 (comment) |
Closing due to unsure if this is going to complicate other features. And the benchmark shows no performance improvement. |
Well 1-2% improvement on semantic benchmarks isn't nothing. But, yes, I agree we should close for now. @Boshen can you answer one question though? What AST nodes are |
Ignore that question. #4739 explains the problem. |
Remove
spans
field fromSymbolTable
. It's unnecessary because you can get theSpan
from theAstNodeId
, and these lookups only happen in the linter when generating diagnostics (i.e. cold path).Lots of tests failing. I believe this isn't due to this PR being incorrect, but that it's surfacing existing bugs where
AstNodeId
for a lot of symbols is set incorrectly.@DonIsaac Are these the same bugs you've found already? Or new ones?