-
Notifications
You must be signed in to change notification settings - Fork 13.9k
[FLINK-11871][table-runtime-blink] Introduce LongHybridHashTable to improve performance when join key fits in long #7996
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
…mprove performance when join key fits in long
|
Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community Review Progress
Please see the Pull Request Review Guide for a full explanation of the review process. DetailsThe Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required Bot commandsThe @flinkbot bot supports the following commands:
|
|
cc @JingsongLi |
JingsongLi
left a comment
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.
Thanks for opening a PR for this @KurtYoung , LGTM +1 , left some minor comments.
| if (curSegRemain > 0) { | ||
| int copySize = Math.min(curSegRemain, sizeInBytes); | ||
|
|
||
| byte[] bytes = new byte[copySize]; |
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.
get bytes from allocateReuseBytes or add TODO?
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 think allocate reuse bytes make sense
| } | ||
| } | ||
|
|
||
| // public void append(long key, BinaryRow row) throws IOException { |
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.
delete it?
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.
ok
|
@JingsongLi Thanks for the reviewing, i will address the comments and merge this later. |
…mprove performance when join key fits in long This closes apache#7996
…mprove performance when join key fits in long This closes apache#7996
…mprove performance when join key fits in long This closes apache#7996
What is the purpose of the change
We can do further optimizations if we know the join key fits in long, a single long field or two integer fields are both ok. For example, we can combine the hash code and actual key into one field, there will be no hash collision, can save a lot of unnecessary logic.
Brief change log
Verifying this change
This change added some unit tests.
Does this pull request potentially affect one of the following parts:
@Public(Evolving): (no)Documentation