-
Notifications
You must be signed in to change notification settings - Fork 3.6k
[optimize](function) modify to_base64, from_base64, unhex to avoid a extra copy #57182
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
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
ClickBench: Total hot run time: 28.33 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
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 add:
- performance compare result
- testcase for non-ASCII input(Chinese and more), hex and unhex
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
|
run buildall |
|
run buildall |
TPC-DS: Total hot run time: 189841 ms |
ClickBench: Total hot run time: 28.65 s |
|
run beut |
|
run buildall |
ClickBench: Total hot run time: 28.59 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
|
run cloud_p0 |
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
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
…extra copy (apache#57182) The format is method/a/b, where a denotes the number of lines and b denotes the length of each line's string. ```text Run on (24 X 2395.45 MHz CPU s) CPU Caches: L1 Data 32 KiB (x12) L1 Instruction 32 KiB (x12) L2 Unified 1024 KiB (x12) L3 Unified 32768 KiB (x1) Load Average: 3.32, 2.73, 2.74 -------------------------------------------------------------------------- Benchmark Time CPU Iterations -------------------------------------------------------------------------- BM_ToBase64Impl_Old/1000/256 151122 ns 151123 ns 4623 BM_ToBase64Impl_Old/100/65536 801007 ns 800983 ns 785 BM_ToBase64Impl_Old/10/100000 115405 ns 115405 ns 6024 BM_ToBase64Impl_New/1000/256 126745 ns 126732 ns 5512 BM_ToBase64Impl_New/100/65536 449138 ns 449122 ns 1304 BM_ToBase64Impl_New/10/100000 54417 ns 54373 ns 12773 BM_FromBase64Impl_Old/1000/256 95666 ns 95666 ns 7315 BM_FromBase64Impl_Old/100/65536 750223 ns 750193 ns 867 BM_FromBase64Impl_Old/10/100000 113150 ns 113146 ns 6115 BM_FromBase64Impl_New/1000/256 79121 ns 79121 ns 8847 BM_FromBase64Impl_New/100/65536 522309 ns 521026 ns 1214 BM_FromBase64Impl_New/10/100000 78207 ns 78205 ns 8929 BM_UnhexImpl_Old/1000/256 13058 ns 13058 ns 53759 BM_UnhexImpl_Old/100/65536 1328 ns 1327 ns 484917 BM_UnhexImpl_Old/100/100000 1319 ns 1319 ns 529219 BM_UnhexImpl_New/1000/256 6045 ns 6023 ns 116043 BM_UnhexImpl_New/100/65536 656 ns 656 ns 1056606 BM_UnhexImpl_New/100/100000 710 ns 710 ns 984401 BM_UnhexNullImpl_Old/1000/256 6413 ns 6413 ns 109417 BM_UnhexNullImpl_Old/100/65536 686 ns 681 ns 1054879 BM_UnhexNullImpl_Old/100/100000 725 ns 725 ns 957391 BM_UnhexNullImpl_New/1000/256 6144 ns 6144 ns 114054 BM_UnhexNullImpl_New/100/65536 664 ns 664 ns 981229 BM_UnhexNullImpl_New/100/100000 710 ns 708 ns 982551 ```
What problem does this PR solve?
modify to_base64, from_base64, unhex to avoid a extra copy
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
The format is method/a/b, where a denotes the number of lines and b denotes the length of each line's string.
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)