Skip to content
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

Splitting Gigantic EqualsNode into few Smaller Ones #6280

Merged
merged 23 commits into from
Apr 17, 2023

Conversation

JaroslavTulach
Copy link
Member

@JaroslavTulach JaroslavTulach commented Apr 14, 2023

Pull Request Description

Fixes #6191 by splitting EqualsNode into more smaller ones. Creating just the basic one by default and the more complex ones on demand. Expecting that for majority of usages only the basic node is enough.

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR:

  • All code follows the
    Scala,
    Java,
    /blob/develop/docs/style-guide/rust.md) style guide.
  • All code has been tested:
    • Unit tests have been written where possible.
    • Improve conversions after using InteropLibrary when == arrays, hashes, objects
    • Run benchmarks and ensure no regressions

@JaroslavTulach JaroslavTulach added the CI: No changelog needed Do not require a changelog entry for this PR. label Apr 14, 2023
@JaroslavTulach JaroslavTulach added this to the Design Partners milestone Apr 14, 2023
@JaroslavTulach JaroslavTulach self-assigned this Apr 14, 2023
@JaroslavTulach JaroslavTulach marked this pull request as draft April 14, 2023 09:34
@JaroslavTulach JaroslavTulach changed the title Wip/jtulach/more equals nodes 6191 Splitting Gigantic EqualsNode into few Smaller Ones Apr 14, 2023
@JaroslavTulach JaroslavTulach marked this pull request as ready for review April 14, 2023 14:37
…pes are supposed to be handled on boundary. However when we see WithWarnings - we have to delegate that to EqualsComplexNode
Copy link
Member

@Akirathan Akirathan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from some minor nitpicks, seems good. Make sure to run the benchmarks, compare them, and publish the results. I am really interested in that.

@JaroslavTulach JaroslavTulach force-pushed the wip/jtulach/MoreEqualsNodes_6191 branch from 1711239 to dcd484b Compare April 14, 2023 16:59
@JaroslavTulach
Copy link
Member Author

JaroslavTulach commented Apr 16, 2023

Assuming latest change fixes all tests, let's run benchmarks! Another benchmark run.

ArrayProxyBenchmarks_sumOverDelegatingProxy

Comparing the two runs with today's regular run reveals just one suspicious result ArrayProxyBenchmarks.sumOverDelegatingProxy - however that one seems to be fluctuating a bit according to the above graph and local re-measurements showed no difference.

Performance is ready to go.

@JaroslavTulach JaroslavTulach merged commit 413661b into develop Apr 17, 2023
@JaroslavTulach JaroslavTulach deleted the wip/jtulach/MoreEqualsNodes_6191 branch April 17, 2023 09:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI: No changelog needed Do not require a changelog entry for this PR.
Projects
None yet
4 participants