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]

Reply via email to