-
Notifications
You must be signed in to change notification settings - Fork 21
CNDB-13689: use NodeQueue::pushMany to decrease time complexity to build heap #1693
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
Conversation
Checklist before you submit for review
|
Looks like I caught a bug in the initial implementation. Fix proposed: datastax/jvector#433. |
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.
LGTM
|
❌ Build ds-cassandra-pr-gate/PR-1693 rejected by Butler2 new test failure(s) in 2 builds Found 2 new test failures
Found 3 known test failures |
…ild heap (#1693) ### What is the issue Fixes: riptano/cndb#13689 ### What does this PR fix and why was it fixed This PR utilizes the NodeQueue::pushMany method to decrease the time complexity required to build the NodeQueue from `O(n log(n))` to `O(n)`. This is likely only significant for sufficiently large hybrid queries. For example, we have seen cases of the search producing 400k rows, which means that we do 400k insertions into these NodeQueue objects.
…ild heap (#1693) ### What is the issue Fixes: riptano/cndb#13689 ### What does this PR fix and why was it fixed This PR utilizes the NodeQueue::pushMany method to decrease the time complexity required to build the NodeQueue from `O(n log(n))` to `O(n)`. This is likely only significant for sufficiently large hybrid queries. For example, we have seen cases of the search producing 400k rows, which means that we do 400k insertions into these NodeQueue objects.
What is the issue
Fixes: https://github.com/riptano/cndb/issues/13689
What does this PR fix and why was it fixed
This PR utilizes the NodeQueue::pushMany method to decrease the time complexity required to build the NodeQueue from
O(n log(n))
toO(n)
. This is likely only significant for sufficiently large hybrid queries. For example, we have seen cases of the search producing 400k rows, which means that we do 400k insertions into these NodeQueue objects.