-
-
Notifications
You must be signed in to change notification settings - Fork 758
perf(semantic)!: remove SymbolTable::spans field
#4473
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
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
spansfield fromSymbolTable. It's unnecessary because you can get theSpanfrom 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
AstNodeIdfor a lot of symbols is set incorrectly.@DonIsaac Are these the same bugs you've found already? Or new ones?