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

Improve DynamicWhereFilter performance #5293

Merged
merged 21 commits into from
Mar 26, 2024

Conversation

rcaudy
Copy link
Member

@rcaudy rcaudy commented Mar 26, 2024

Fixes #5268

@rcaudy rcaudy requested a review from lbooker42 March 26, 2024 03:40
…r now, since we were relying on a specific implementation that's not dissimilar from ours.
Require.geq(partialKeySize, "partialKeySize", 2, "2");

final Object[] keysInDataIndexOrder = new Object[partialKeySize];
// TODO: decide if this is ridiculous or clever. Trying to avoid looping inside the lambda if possible and
Copy link
Member Author

Choose a reason for hiding this comment

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

From a sheer "look at how much code there is" I kind of hate it. If benchmarks show it to be better, we can keep it, I guess.

Copy link
Contributor

Choose a reason for hiding this comment

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

Not offended, it's very ugly and probably pointless to attempt to outguess the JIT.

Copy link
Contributor

@lbooker42 lbooker42 left a comment

Choose a reason for hiding this comment

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

Looks good, I'll benchmark ASAP vs. main.

Require.geq(partialKeySize, "partialKeySize", 2, "2");

final Object[] keysInDataIndexOrder = new Object[partialKeySize];
// TODO: decide if this is ridiculous or clever. Trying to avoid looping inside the lambda if possible and
Copy link
Contributor

Choose a reason for hiding this comment

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

Not offended, it's very ugly and probably pointless to attempt to outguess the JIT.

@rcaudy rcaudy added query engine core Core development tasks NoDocumentationNeeded ReleaseNotesNeeded Release notes are needed labels Mar 26, 2024
@rcaudy rcaudy added this to the 1. March 2024 milestone Mar 26, 2024
@rcaudy rcaudy marked this pull request as ready for review March 26, 2024 15:54
@rcaudy rcaudy enabled auto-merge (squash) March 26, 2024 19:59
@rcaudy rcaudy merged commit 14ac4dc into deephaven:main Mar 26, 2024
15 checks passed
@rcaudy rcaudy deleted the rwc-index-lookup-via-tuples branch March 26, 2024 21:42
@github-actions github-actions bot locked and limited conversation to collaborators Mar 26, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
core Core development tasks NoDocumentationNeeded query engine ReleaseNotesNeeded Release notes are needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Address WhereIn performance regression
2 participants