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

[Performance](sink) SIMD the tablet sink valied data function #25480

Merged
merged 1 commit into from
Oct 17, 2023

Conversation

HappenLee
Copy link
Contributor

@HappenLee HappenLee commented Oct 16, 2023

Proposed changes

Before:4.5s
after:1s

Further comments

If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

@@ -66,15 +66,15 @@ class OlapTableBlockConvertor {

Status _validate_column(RuntimeState* state, const TypeDescriptor& type, bool is_nullable,
vectorized::ColumnPtr column, size_t slot_index, bool* stop_processing,
fmt::memory_buffer& error_prefix,
fmt::memory_buffer& error_prefix, const uint32_t row_count,
Copy link
Contributor

Choose a reason for hiding this comment

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

warning: parameter 'row_count' is const-qualified in the function declaration; const-qualification of parameters only has an effect in function definitions [readability-avoid-const-params-in-decls]

Suggested change
fmt::memory_buffer& error_prefix, const uint32_t row_count,
fmt::memory_buffer& error_prefix, uint32_t row_count,

Copy link
Contributor

Choose a reason for hiding this comment

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

Remove this const in header file.

vectorized::IColumn::Permutation* rows = nullptr);

// make input data valid for OLAP table
// return number of invalid/filtered rows.
// invalid row number is set in Bitmap
// set stop_processing if we want to stop the whole process now.
Status _validate_data(RuntimeState* state, vectorized::Block* block, int64_t& filtered_rows,
bool* stop_processing);
Status _validate_data(RuntimeState* state, vectorized::Block* block, const uint32_t rows,
Copy link
Contributor

Choose a reason for hiding this comment

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

warning: parameter 'rows' is const-qualified in the function declaration; const-qualification of parameters only has an effect in function definitions [readability-avoid-const-params-in-decls]

Suggested change
Status _validate_data(RuntimeState* state, vectorized::Block* block, const uint32_t rows,
Status _validate_data(RuntimeState* state, vectorized::Block* block, uint32_t rows,

Copy link
Contributor

Choose a reason for hiding this comment

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

Remove this const in header file.

@HappenLee HappenLee changed the title opt load [Performance](sink) SIMD the tablet sink valied data function Oct 17, 2023
Copy link
Contributor

@dataroaring dataroaring left a comment

Choose a reason for hiding this comment

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

LGTM

@dataroaring
Copy link
Contributor

run buildall

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Oct 17, 2023
@github-actions
Copy link
Contributor

PR approved by at least one committer and no changes requested.

@github-actions
Copy link
Contributor

PR approved by anyone and no changes requested.

@doris-robot
Copy link

TeamCity be ut coverage result:
Function Coverage: 37.00% (8281/22380)
Line Coverage: 29.04% (66402/228628)
Region Coverage: 27.73% (34450/124242)
Branch Coverage: 24.36% (17509/71886)
Coverage Report: http://coverage.selectdb-in.cc/coverage/015c2a6d1486bd037311006fdf36eb9f114852a8_015c2a6d1486bd037311006fdf36eb9f114852a8/report/index.html

@doris-robot
Copy link

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.81 seconds
stream load tsv: 553 seconds loaded 74807831229 Bytes, about 129 MB/s
stream load json: 21 seconds loaded 2358488459 Bytes, about 107 MB/s
stream load orc: 65 seconds loaded 1101869774 Bytes, about 16 MB/s
stream load parquet: 31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select: 29.0 seconds inserted 10000000 Rows, about 344K ops/s
storage size: 17161863637 Bytes

Copy link
Contributor

@zclllyybb zclllyybb left a comment

Choose a reason for hiding this comment

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

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by one committer. dev/2.0.3-merged merge_conflict reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants