-
Notifications
You must be signed in to change notification settings - Fork 161
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
ColumnArrayT Append will move container data if it is right value #345
Conversation
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.
Please write a motivation, expected performance effects (if any), etc. for this PR in a description.
Otherwise, it is hard to get the reason behind the proposed changes and whether or not these changes achieve the declared result.
Actually, we has 60+ column. Most of them are large string. we use this method: void ColumnString::Append(std::string&& steal_value) rather than void ColumnString::Append(std::string_view str) So, ColumnArrayT Append can steal value is a better choice |
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
Optimize
ColumnArrayT::Append()
to allow underlying column (e.g.ColumnString
) to 'steal' values if it has r-value overload ofAppend()
to prevent excessive copying.