Skip to content

[optimize](function) optimize array_sort using qsort instead of bubble sort#18123

Merged
yiguolei merged 1 commit intoapache:masterfrom
ZhangYu0123:optimize_array_sort
Mar 29, 2023
Merged

[optimize](function) optimize array_sort using qsort instead of bubble sort#18123
yiguolei merged 1 commit intoapache:masterfrom
ZhangYu0123:optimize_array_sort

Conversation

@ZhangYu0123
Copy link
Contributor

@ZhangYu0123 ZhangYu0123 commented Mar 27, 2023

Proposed changes

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons.

Issue Number: close #xxx

Problem summary

Describe your changes.

Checklist(Required)

  • Does it affect the original behavior
  • Has unit tests been added
  • Has document been added or modified
  • Does it need to update dependencies
  • Is this PR support rollback (If NO, please explain WHY)

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! 👍"

@ZhangYu0123
Copy link
Contributor Author

run buildall

@hello-stephen
Copy link
Contributor

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.8 seconds
stream load tsv: 440 seconds loaded 74807831229 Bytes, about 162 MB/s
stream load json: 23 seconds loaded 2358488459 Bytes, about 97 MB/s
stream load orc: 72 seconds loaded 1101869774 Bytes, about 14 MB/s
stream load parquet: 30 seconds loaded 861443392 Bytes, about 27 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230327011907_clickbench_pr_120953.html

Copy link
Contributor

@HappenLee HappenLee left a comment

Choose a reason for hiding this comment

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

LGTM

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Mar 27, 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.

@yiguolei yiguolei merged commit b58b61c into apache:master Mar 29, 2023
yagagagaga pushed a commit to yagagagaga/doris that referenced this pull request Mar 31, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
yagagagaga pushed a commit to yagagagaga/doris that referenced this pull request Mar 31, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
yagagagaga pushed a commit to yagagagaga/doris that referenced this pull request Mar 31, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 21, 2023
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 21, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 25, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 25, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
gnehil pushed a commit to gnehil/doris that referenced this pull request Apr 27, 2023
…e sort apache#18123

Optimize array_sort
(1) optimize array_sort using qsort instead of bubble sort
(2) Simplifies the handling of null values, because nullable column already supports the sorting process for null value comparisons
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. area/vectorization kind/test reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants