wumeibanfa opened a new pull request, #52967:
URL: https://github.com/apache/doris/pull/52967
### What problem does this PR solve?
Faster bit_unpack
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
```c++
Benchmark Time
CPU Time Old Time New CPU Old CPU New
-------------------------------------------------------------------------------------------------------------------------------------------
[BM_BitUnpackOptimized vs. BM_BitUnpack]/1 +1.4817
+1.4841 378 937 377 937
[BM_BitUnpackOptimized vs. BM_BitUnpack]/2 +2.8873
+2.8873 450 1751 450 1751
[BM_BitUnpackOptimized vs. BM_BitUnpack]/3 +4.1405
+4.1406 509 2616 509 2616
[BM_BitUnpackOptimized vs. BM_BitUnpack]/4 +4.7354
+4.7352 613 3513 612 3513
[BM_BitUnpackOptimized vs. BM_BitUnpack]/5 +5.8781
+5.8785 644 4430 644 4430
[BM_BitUnpackOptimized vs. BM_BitUnpack]/6 +7.4984
+7.4984 670 5695 670 5695
[BM_BitUnpackOptimized vs. BM_BitUnpack]/7 +8.3110
+8.3073 688 6404 687 6392
[BM_BitUnpackOptimized vs. BM_BitUnpack]/8 +9.9370
+9.9367 684 7480 684 7480
[BM_BitUnpackOptimized vs. BM_BitUnpack]/9 +9.6684
+9.6681 752 8027 752 8026
[BM_BitUnpackOptimized vs. BM_BitUnpack]/10 +9.7261
+9.7264 769 8251 769 8251
[BM_BitUnpackOptimized vs. BM_BitUnpack]/11 +11.0306
+11.0300 814 9796 814 9796
[BM_BitUnpackOptimized vs. BM_BitUnpack]/12 +12.0643
+12.0643 832 10875 832 10874
[BM_BitUnpackOptimized vs. BM_BitUnpack]/13 +12.8252
+12.8428 844 11670 843 11663
[BM_BitUnpackOptimized vs. BM_BitUnpack]/14 +13.6955
+13.6949 912 13399 912 13399
[BM_BitUnpackOptimized vs. BM_BitUnpack]/15 +12.5955
+12.5959 976 13265 976 13265
[BM_BitUnpackOptimized vs. BM_BitUnpack]/16 +14.3599
+14.3605 942 14475 942 14475
[BM_BitUnpackOptimized vs. BM_BitUnpack]/17 +12.7734
+12.7731 1059 14583 1059 14583
[BM_BitUnpackOptimized vs. BM_BitUnpack]/18 +13.8537
+13.8534 1089 16172 1089 16171
[BM_BitUnpackOptimized vs. BM_BitUnpack]/19 +14.4472
+14.4375 1114 17211 1112 17168
[BM_BitUnpackOptimized vs. BM_BitUnpack]/20 +14.9808
+14.9805 1123 17942 1123 17942
[BM_BitUnpackOptimized vs. BM_BitUnpack]/21 +15.7088
+15.7081 1148 19181 1148 19180
[BM_BitUnpackOptimized vs. BM_BitUnpack]/22 +15.5143
+15.5143 1176 19423 1176 19423
[BM_BitUnpackOptimized vs. BM_BitUnpack]/23 +16.0145
+16.0145 1197 20360 1197 20360
[BM_BitUnpackOptimized vs. BM_BitUnpack]/24 +16.5499
+16.5378 1242 21795 1242 21780
[BM_BitUnpackOptimized vs. BM_BitUnpack]/25 +17.0273
+17.0743 1249 22509 1245 22509
[BM_BitUnpackOptimized vs. BM_BitUnpack]/26 +17.4629
+17.4629 1281 23647 1281 23647
[BM_BitUnpackOptimized vs. BM_BitUnpack]/27 +17.5618
+17.5620 1300 24130 1300 24130
[BM_BitUnpackOptimized vs. BM_BitUnpack]/28 +17.9068
+17.9068 1337 25281 1337 25281
[BM_BitUnpackOptimized vs. BM_BitUnpack]/29 +17.9280
+17.9285 1348 25521 1348 25520
[BM_BitUnpackOptimized vs. BM_BitUnpack]/30 +18.7818
+18.7818 1365 27007 1365 27007
[BM_BitUnpackOptimized vs. BM_BitUnpack]/31 +18.5174
+18.5464 1396 27251 1394 27250
[BM_BitUnpackOptimized vs. BM_BitUnpack]/32 +19.0429
+19.0433 1431 28675 1431 28676
[BM_BitUnpackOptimized vs. BM_BitUnpack]/33 +19.8588
+19.8575 1431 29843 1431 29842
[BM_BitUnpackOptimized vs. BM_BitUnpack]/34 +20.4421
+20.4044 1458 31266 1458 31210
[BM_BitUnpackOptimized vs. BM_BitUnpack]/35 +19.5391
+19.5390 1486 30523 1486 30523
[BM_BitUnpackOptimized vs. BM_BitUnpack]/36 +20.5792
+20.5796 1531 33031 1531 33031
[BM_BitUnpackOptimized vs. BM_BitUnpack]/37 +21.2308
+21.2574 1542 34281 1540 34279
[BM_BitUnpackOptimized vs. BM_BitUnpack]/38 +20.7538
+20.7529 1571 34185 1571 34184
[BM_BitUnpackOptimized vs. BM_BitUnpack]/39 +21.2590
+21.1878 1592 35447 1592 35331
[BM_BitUnpackOptimized vs. BM_BitUnpack]/40 +20.8156
+20.8152 1673 36487 1673 36487
[BM_BitUnpackOptimized vs. BM_BitUnpack]/41 +21.4833
+21.4833 1651 37113 1651 37111
[BM_BitUnpackOptimized vs. BM_BitUnpack]/42 +21.4336
+21.4336 1697 38067 1697 38066
[BM_BitUnpackOptimized vs. BM_BitUnpack]/43 +22.7123
+22.7289 1705 40425 1704 40425
[BM_BitUnpackOptimized vs. BM_BitUnpack]/44 +21.4936
+21.4941 1763 39663 1763 39663
[BM_BitUnpackOptimized vs. BM_BitUnpack]/45 +22.2174
+22.2175 1752 40670 1752 40668
[BM_BitUnpackOptimized vs. BM_BitUnpack]/46 +21.5711
+21.5708 1812 40903 1812 40901
[BM_BitUnpackOptimized vs. BM_BitUnpack]/47 +22.2434
+22.2434 1834 42624 1834 42623
[BM_BitUnpackOptimized vs. BM_BitUnpack]/48 +21.2507
+21.2441 1949 43358 1947 43312
[BM_BitUnpackOptimized vs. BM_BitUnpack]/49 +22.9427
+22.9421 1873 44844 1873 44843
[BM_BitUnpackOptimized vs. BM_BitUnpack]/50 +22.8251
+22.8259 1914 45612 1914 45612
[BM_BitUnpackOptimized vs. BM_BitUnpack]/51 +23.0986
+23.0980 1930 46521 1930 46520
[BM_BitUnpackOptimized vs. BM_BitUnpack]/52 +22.8022
+22.7719 1974 46974 1974 46914
[BM_BitUnpackOptimized vs. BM_BitUnpack]/53 +23.5755
+23.5755 1966 48311 1966 48311
[BM_BitUnpackOptimized vs. BM_BitUnpack]/54 +23.0899
+23.1160 2009 48404 2007 48403
[BM_BitUnpackOptimized vs. BM_BitUnpack]/55 +23.5693
+23.5692 2032 49921 2032 49921
[BM_BitUnpackOptimized vs. BM_BitUnpack]/56 +23.2908
+23.2918 2109 51237 2109 51236
[BM_BitUnpackOptimized vs. BM_BitUnpack]/57 +23.7488
+23.7496 2083 51558 2083 51557
[BM_BitUnpackOptimized vs. BM_BitUnpack]/58 +24.2074
+24.2070 2106 53092 2106 53091
[BM_BitUnpackOptimized vs. BM_BitUnpack]/59 +23.9495
+23.9708 2130 53149 2128 53149
[BM_BitUnpackOptimized vs. BM_BitUnpack]/60 +24.0206
+24.0161 2144 53645 2144 53636
[BM_BitUnpackOptimized vs. BM_BitUnpack]/61 +24.9720
+24.9720 2164 56196 2164 56196
[BM_BitUnpackOptimized vs. BM_BitUnpack]/62 +24.4290
+24.4291 2196 55833 2196 55833
[BM_BitUnpackOptimized vs. BM_BitUnpack]/63 +25.7798
+25.7720 2200 58923 2200 58902
[BM_BitUnpackOptimized vs. BM_BitUnpack]/64 +19.8076
+19.8235 2810 58465 2808 58465
[BM_BitUnpackOptimized vs. BM_BitUnpack]/65 +16.0707
+16.0709 3433 58601 3433 58600
[BM_BitUnpackOptimized vs. BM_BitUnpack]/66 +16.3587
+16.3583 3393 58902 3393 58901
[BM_BitUnpackOptimized vs. BM_BitUnpack]/67 +16.9035
+16.9013 3483 62355 3483 62345
[BM_BitUnpackOptimized vs. BM_BitUnpack]/68 +18.2751
+18.2752 3405 65626 3405 65625
[BM_BitUnpackOptimized vs. BM_BitUnpack]/69 +16.8454
+16.8513 3488 62242 3487 62242
[BM_BitUnpackOptimized vs. BM_BitUnpack]/70 +17.6381
+17.6345 3464 64554 3464 64541
[BM_BitUnpackOptimized vs. BM_BitUnpack]/71 +17.6004
+17.6009 3478 64687 3478 64688
[BM_BitUnpackOptimized vs. BM_BitUnpack]/72 +18.7887
+18.7901 3407 67417 3407 67417
[BM_BitUnpackOptimized vs. BM_BitUnpack]/73 +18.6486
+18.6489 3569 70130 3569 70129
[BM_BitUnpackOptimized vs. BM_BitUnpack]/74 +17.9159
+17.9154 3586 67836 3586 67833
[BM_BitUnpackOptimized vs. BM_BitUnpack]/75 +18.3648
+18.3645 3610 69906 3610 69903
[BM_BitUnpackOptimized vs. BM_BitUnpack]/76 +18.3950
+18.3831 3613 70076 3609 69960
[BM_BitUnpackOptimized vs. BM_BitUnpack]/77 +18.1361
+18.1358 3633 69515 3633 69514
[BM_BitUnpackOptimized vs. BM_BitUnpack]/78 +18.1694
+18.1965 3641 69797 3636 69798
[BM_BitUnpackOptimized vs. BM_BitUnpack]/79 +18.1560
+18.1556 3716 71193 3716 71191
[BM_BitUnpackOptimized vs. BM_BitUnpack]/80 +19.8187
+19.8193 3483 72512 3483 72514
[BM_BitUnpackOptimized vs. BM_BitUnpack]/81 +19.0178
+19.0185 3742 74899 3741 74898
[BM_BitUnpackOptimized vs. BM_BitUnpack]/82 +18.9940
+18.9951 3790 75782 3790 75782
[BM_BitUnpackOptimized vs. BM_BitUnpack]/83 +19.0986
+19.0989 3811 76588 3810 76586
[BM_BitUnpackOptimized vs. BM_BitUnpack]/84 +18.9340
+18.9336 3823 76216 3823 76215
[BM_BitUnpackOptimized vs. BM_BitUnpack]/85 +18.5369
+18.5361 3883 75854 3883 75851
[BM_BitUnpackOptimized vs. BM_BitUnpack]/86 +18.5655
+18.5651 3901 76334 3901 76331
[BM_BitUnpackOptimized vs. BM_BitUnpack]/87 +18.9440
+18.9588 3933 78447 3930 78445
[BM_BitUnpackOptimized vs. BM_BitUnpack]/88 +20.5844
+20.5839 3877 83683 3877 83679
[BM_BitUnpackOptimized vs. BM_BitUnpack]/89 +19.5614
+19.5501 3989 82019 3989 81966
[BM_BitUnpackOptimized vs. BM_BitUnpack]/90 +19.7563
+19.7576 4006 83153 4006 83153
[BM_BitUnpackOptimized vs. BM_BitUnpack]/91 +19.6129
+19.6133 4034 83153 4034 83153
[BM_BitUnpackOptimized vs. BM_BitUnpack]/92 +20.1248
+20.1243 4053 85625 4053 85623
[BM_BitUnpackOptimized vs. BM_BitUnpack]/93 +19.9370
+19.9370 4106 85973 4106 85971
[BM_BitUnpackOptimized vs. BM_BitUnpack]/94 +20.2939
+20.2935 4069 86648 4069 86645
[BM_BitUnpackOptimized vs. BM_BitUnpack]/95 +19.9896
+19.9671 4116 86387 4116 86293
[BM_BitUnpackOptimized vs. BM_BitUnpack]/96 +22.2091
+22.2298 3833 88964 3830 88962
[BM_BitUnpackOptimized vs. BM_BitUnpack]/97 +20.0554
+20.0564 4188 88182 4188 88183
[BM_BitUnpackOptimized vs. BM_BitUnpack]/98 +21.4282
+21.4277 4194 94056 4194 94054
[BM_BitUnpackOptimized vs. BM_BitUnpack]/99 +20.5065
+20.5056 4227 90906 4227 90902
[BM_BitUnpackOptimized vs. BM_BitUnpack]/100 +20.8876
+20.9074 4241 92832 4237 92831
[BM_BitUnpackOptimized vs. BM_BitUnpack]/101 +20.4473
+20.4415 4377 93873 4377 93846
[BM_BitUnpackOptimized vs. BM_BitUnpack]/102 +20.1460
+20.1464 4335 91666 4335 91666
[BM_BitUnpackOptimized vs. BM_BitUnpack]/103 +21.1551
+21.1556 4427 98080 4427 98078
[BM_BitUnpackOptimized vs. BM_BitUnpack]/104 +20.4395
+20.4594 4360 93467 4355 93466
[BM_BitUnpackOptimized vs. BM_BitUnpack]/105 +20.7989
+20.7985 4411 96152 4411 96148
[BM_BitUnpackOptimized vs. BM_BitUnpack]/106 +20.5495
+20.5490 4447 95826 4447 95824
[BM_BitUnpackOptimized vs. BM_BitUnpack]/107 +20.1561
+20.1560 4486 94911 4486 94907
[BM_BitUnpackOptimized vs. BM_BitUnpack]/108 +21.1453
+21.1217 4490 99433 4490 99326
[BM_BitUnpackOptimized vs. BM_BitUnpack]/109 +20.4219
+20.4215 4564 97763 4564 97761
[BM_BitUnpackOptimized vs. BM_BitUnpack]/110 +21.3562
+21.3558 4594 102700 4594 102696
[BM_BitUnpackOptimized vs. BM_BitUnpack]/111 +21.1609
+21.1604 4621 102400 4621 102395
[BM_BitUnpackOptimized vs. BM_BitUnpack]/112 +21.2395
+21.2386 4540 100958 4540 100953
[BM_BitUnpackOptimized vs. BM_BitUnpack]/113 +21.7105
+21.7088 4722 107232 4722 107224
[BM_BitUnpackOptimized vs. BM_BitUnpack]/114 +20.7702
+20.7083 4791 104309 4791 104012
[BM_BitUnpackOptimized vs. BM_BitUnpack]/115 +20.5939
+20.5943 4822 104116 4821 104116
[BM_BitUnpackOptimized vs. BM_BitUnpack]/116 +20.4836
+20.4836 4841 103999 4841 103999
[BM_BitUnpackOptimized vs. BM_BitUnpack]/117 +20.8747
+20.8751 4876 106653 4876 106653
[BM_BitUnpackOptimized vs. BM_BitUnpack]/118 +21.5525
+21.5539 4930 111177 4929 111175
[BM_BitUnpackOptimized vs. BM_BitUnpack]/119 +20.6196
+20.6201 5014 108392 5013 108391
[BM_BitUnpackOptimized vs. BM_BitUnpack]/120 +20.6806
+20.6711 4989 108167 4989 108114
[BM_BitUnpackOptimized vs. BM_BitUnpack]/121 +21.3690
+21.3690 5068 113356 5068 113357
[BM_BitUnpackOptimized vs. BM_BitUnpack]/122 +20.9077
+20.9165 5148 112770 5145 112769
[BM_BitUnpackOptimized vs. BM_BitUnpack]/123 +20.9803
+20.9797 5201 114322 5201 114319
[BM_BitUnpackOptimized vs. BM_BitUnpack]/124 +20.2263
+20.2272 5312 112749 5312 112749
[BM_BitUnpackOptimized vs. BM_BitUnpack]/125 +19.8677
+19.8677 5378 112224 5378 112222
[BM_BitUnpackOptimized vs. BM_BitUnpack]/126 +19.2725
+19.2012 5615 113833 5615 113429
[BM_BitUnpackOptimized vs. BM_BitUnpack]/127 +18.8639
+18.8648 5923 117654 5923 117654
OVERALL_GEOMEAN +3.3347
+3.3346 0 0 0 0
```
### Release note
None
### Check List (For Author)
- Test <!-- At least one of them must be included. -->
- [ ] Regression test
- [x] Unit Test
- [ ] Manual test (add detailed scripts or steps below)
- [ ] No need to test or manual test. Explain why:
- [ ] This is a refactor/code format and no logic has been changed.
- [ ] Previous test can cover this change.
- [ ] No code files have been changed.
- [ ] Other reason <!-- Add your reason? -->
- Behavior changed:
- [x] No.
- [ ] Yes. <!-- Explain the behavior change -->
- Does this need documentation?
- [x] No.
- [ ] Yes. <!-- Add document PR link here. eg:
https://github.com/apache/doris-website/pull/1214 -->
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR should
merge into -->
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]