Enable splitting for EqualsSimpleNode #9268
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #9166
Pull Request Description
Fixes the regression introduced by #9070 in
org.enso.benchmarks.generated.Collections.list_meta_fold
benchmark.Important Notes
As can be seen on the graph in IGV:
For some reason,
EqualsSimpleNode
is POLYMORPHIC. That seems to be the most visible performance problem.First, I tried to introduce
ConditionProfile
with:But that did not resolve the issue.
My second attempt was to enable splitting for
EqualsSimpleNode
with@com.oracle.truffle.api.dsl.ReportPolymorphism
annotation, which seems to resolve the issue. The benchmark is back to its original score, andEqualsSimpleNode
is no longer POLYMORPHIC.Checklist
Please ensure that the following checklist has been satisfied before submitting the PR: