Cheng Pan
3a80f33bf1
[KYUUBI #2981] Improve TPC-DS scan performance
### _Why are the changes needed?_
Before
```
OpenJDK 64-Bit Server VM 1.8.0_332-b09 on Mac OS X 12.4
Apple M1 Pro
TPCDS table generates 1000000 rows benchmark: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
----------------------------------------------------------------------------------------------------------------------------
catalog_returns benchmark 13956 13975 21 0.1 13955.7 1.0X
catalog_sales benchmark 10229 10277 42 0.1 10229.2 1.4X
customer benchmark 9305 9464 249 0.1 9305.0 1.5X
customer_address benchmark 5612 5737 162 0.2 5611.7 2.5X
customer_demographics benchmark 1108 1182 66 0.9 1107.5 12.6X
inventory benchmark 665 695 27 1.5 664.7 21.0X
store_returns benchmark 11260 11409 132 0.1 11260.1 1.2X
store_sales benchmark 7894 7909 15 0.1 7894.1 1.8X
web_returns benchmark 13042 13082 38 0.1 13042.1 1.1X
web_sales benchmark 11182 11201 23 0.1 11182.4 1.2X
```
After
```
OpenJDK 64-Bit Server VM 1.8.0_332-b09 on Mac OS X 12.4
Apple M1 Pro
TPCDS table generates 1000000 rows benchmark: Best Time(ms) Avg Time(ms) Stdev(ms) Rate(M/s) Per Row(ns) Relative
----------------------------------------------------------------------------------------------------------------------------
catalog_returns benchmark 13644 13703 52 0.1 13643.6 1.0X
catalog_sales benchmark 10505 10553 43 0.1 10505.2 1.3X
customer benchmark 8571 8658 124 0.1 8570.8 1.6X
customer_address benchmark 5230 5255 25 0.2 5229.7 2.6X
customer_demographics benchmark 838 844 6 1.2 837.7 16.3X
inventory benchmark 475 489 13 2.1 475.3 28.7X
store_returns benchmark 10808 10935 163 0.1 10807.8 1.3X
store_sales benchmark 7694 7723 43 0.1 7693.5 1.8X
web_returns benchmark 12731 12737 6 0.1 12730.8 1.1X
web_sales benchmark 10545 10584 41 0.1 10545.3 1.3X
```
### _How was this patch tested?_
- [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible
- [ ] Add screenshots for manual tests if appropriate
- [x] [Run test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests) locally before make a pull request
Closes #2981 from pan3793/tpcds-perf.
Closes #2981
0ca494ef [Cheng Pan] fix
128e6f60 [Cheng Pan] reuse array
64e2f6e2 [Cheng Pan] Improve TPC-DS scan performance
Authored-by: Cheng Pan <chengpan@apache.org>
Signed-off-by: Cheng Pan <chengpan@apache.org>