-
Notifications
You must be signed in to change notification settings - Fork 323
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
Cache result of slow function resolution on Any that is present on a hot path #6536
Conversation
engine/runtime/src/main/java/org/enso/interpreter/node/callable/InvokeMethodNode.java
Outdated
Show resolved
Hide resolved
d771f6f
to
d0c57ba
Compare
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.
I am not sure what is the goal of the change? I am surprised to see two copies of the same specialization. I don't understand the motivation for such change.
engine/runtime/src/main/java/org/enso/interpreter/node/callable/InvokeMethodNode.java
Show resolved
Hide resolved
Otherwise things can go horribly slow. Closes #6523.
As per PR review
Applying PR review. Had to be a bit careful so that we don't trip on automatic resource managment on `self`.
834df4f
to
cafffaa
Compare
"cachedSymbol == symbol", | ||
"cachedSelfTpe == typesLibrary.getType(self)", | ||
"function != null" | ||
}, limit = "CACHE_SIZE") |
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.
Limit is good.
…-5075 * develop: Build nightly 3 hours earlier. (#6551) Cache result of slow function resolution on Any that is present on a hot path (#6536) Fix cut-off in text visualisations (#6421) Infer correct synthetic name for nested modules (#6525) Delete unused websocket dependency (#6535) Run typecheck and eslint on `./run lint` (#6314) Force pending saves if client closes abruptly (#6514)
Pull Request Description
Otherwise things can go horribly slow.
Closes #6523. Follow up on #6441.
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.