-
-
Notifications
You must be signed in to change notification settings - Fork 760
perf(semantic): remove a branch from record_ast_node
#4273
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 a branch from record_ast_node
#4273
Conversation
Your org has enabled the Graphite merge queue for merging into mainAdd the label “merge” to the PR and Graphite will automatically add it to the merge queue when it’s ready to merge. Or use the label “hotfix” to add to the merge queue as a hot fix. You must have a Graphite account and log in to Graphite in order to use the merge queue. Sign up using this link. |
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. Join @overlookmotel and the rest of your teammates on |
CodSpeed Performance ReportMerging #4273 will not alter performanceComparing Summary
|
fbdd40f to
f9d3f2e
Compare
|
Huh, It is consistently slower? How does that make sense? I can't remember if the benchmark runs with CFG or not, I think the |
64f74b5 to
019b4d3
Compare
|
@rzvxa I've run the benchmarks 3 times, and each time it shows a negative effect. NB: CFG is not enabled on semantic benchmark. I am guessing what's going on is one of:
But this is all just guesswork. No idea really! Any thoughts? Regardless, given the (small) perf regression, I think we should not merge this. |
|
Yes, Let's close it. I initially suggested this to have fewer checks in the CFG pass but since the linter benchmark(which contains CFG) is untouched it clearly wasn't the case. Sorry to waste your time mate😓 |
|
Not a waste of time at all. Negative results are also results. |
Add a comment referencing conclusions of #4273.
|
I thought about it more, and I have another theory. Maybe the thing is that Maybe. @rzvxa Still no idea if this is correct, but thought you might be interested. |
|
Thanks for having this conversation with me.
I've tested this with a few other approaches such as checking indices instead of using the last_mut and checks for |
Or maybe the explanation was this one:
|

Remove an unnecessary branch from
record_ast_node. As suggested by @rzvxa in #4263 (review).