ZhangYao has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/13721 )

Change subject: KUDU-2847: Optimize iteration over selection vector in 
SerializeRowBlock
......................................................................


Patch Set 3:

> I played a bit with this patch and made a few changes shown here:
 >
 > https://gist.github.com/e00c7f8e8360cd663d2ab1ac48959c9b
 >
 > this changes the benchmark to run a constant number of cells and
 > output cycles/cell. It also makes a few optimizations to speed up
 > the conversion of bitmaps to vector of indices, similar to what I
 > suggested above.
 >
 > original:
 > I0716 00:05:15.684546 18747 wire_protocol-test.cc:172] Converting
 > to PB with column count 3 and row select rate 1: 5.12520529
 > cycles/cell
 > I0716 00:05:16.123811 18747 wire_protocol-test.cc:172] Converting
 > to PB with column count 3 and row select rate 0.8: 12.74473127
 > cycles/cell
 > I0716 00:05:16.950168 18747 wire_protocol-test.cc:172] Converting
 > to PB with column count 3 and row select rate 0.5: 23.98607461
 > cycles/cell
 > I0716 00:05:18.350739 18747 wire_protocol-test.cc:172] Converting
 > to PB with column count 3 and row select rate 0.2: 40.66053179
 > cycles/cell
 > I0716 00:05:18.883632 18747 wire_protocol-test.cc:172] Converting
 > to PB with column count 30 and row select rate 1: 15.43040511
 > cycles/cell
 > I0716 00:05:19.702869 18747 wire_protocol-test.cc:172] Converting
 > to PB with column count 30 and row select rate 0.8: 23.7480557
 > cycles/cell
 > I0716 00:05:21.084743 18747 wire_protocol-test.cc:172] Converting
 > to PB with column count 30 and row select rate 0.5: 40.08323337
 > cycles/cell
 > I0716 00:05:22.760478 18747 wire_protocol-test.cc:172] Converting
 > to PB with column count 30 and row select rate 0.2: 48.62210244
 > cycles/cell
 > I0716 00:05:23.425213 18747 wire_protocol-test.cc:172] Converting
 > to PB with column count 300 and row select rate 1: 18.9223316
 > cycles/cell
 > I0716 00:05:24.384176 18747 wire_protocol-test.cc:172] Converting
 > to PB with column count 300 and row select rate 0.8: 27.50793008
 > cycles/cell
 > I0716 00:05:25.785208 18747 wire_protocol-test.cc:172] Converting
 > to PB with column count 300 and row select rate 0.5: 40.34367716
 > cycles/cell
 > I0716 00:05:27.613420 18747 wire_protocol-test.cc:172] Converting
 > to PB with column count 300 and row select rate 0.2: 52.7446843
 > cycles/cell
 >
 > zhangyao's version:
 >
 > I0716 00:05:43.160219 19261 wire_protocol-test.cc:172] Converting
 > to PB with column count 3 and row select rate 1: 5.32750006
 > cycles/cell
 > I0716 00:05:43.544219 19261 wire_protocol-test.cc:172] Converting
 > to PB with column count 3 and row select rate 0.8: 11.13753333
 > cycles/cell
 > I0716 00:05:44.195641 19261 wire_protocol-test.cc:172] Converting
 > to PB with column count 3 and row select rate 0.5: 18.90386941
 > cycles/cell
 > I0716 00:05:45.187793 19261 wire_protocol-test.cc:172] Converting
 > to PB with column count 3 and row select rate 0.2: 28.7992143
 > cycles/cell
 > I0716 00:05:45.713094 19261 wire_protocol-test.cc:172] Converting
 > to PB with column count 30 and row select rate 1: 15.20973827
 > cycles/cell
 > I0716 00:05:46.259582 19261 wire_protocol-test.cc:172] Converting
 > to PB with column count 30 and row select rate 0.8: 15.82916978
 > cycles/cell
 > I0716 00:05:46.809581 19261 wire_protocol-test.cc:172] Converting
 > to PB with column count 30 and row select rate 0.5: 15.92793484
 > cycles/cell
 > I0716 00:05:47.421159 19261 wire_protocol-test.cc:172] Converting
 > to PB with column count 30 and row select rate 0.2: 17.71918057
 > cycles/cell
 > I0716 00:05:48.091591 19261 wire_protocol-test.cc:172] Converting
 > to PB with column count 300 and row select rate 1: 19.09610579
 > cycles/cell
 > I0716 00:05:48.761175 19261 wire_protocol-test.cc:172] Converting
 > to PB with column count 300 and row select rate 0.8: 18.89817833
 > cycles/cell
 > I0716 00:05:49.393072 19261 wire_protocol-test.cc:172] Converting
 > to PB with column count 300 and row select rate 0.5: 18.01899173
 > cycles/cell
 > I0716 00:05:50.126744 19261 wire_protocol-test.cc:172] Converting
 > to PB with column count 300 and row select rate 0.2: 20.69221174
 > cycles/cell
 >
 >
 > with my changes:
 >
 > I0716 00:04:49.736728 18599 wire_protocol-test.cc:172] Converting
 > to PB with column count 3 and row select rate 1: 6.15231488
 > cycles/cell
 > I0716 00:04:50.063104 18599 wire_protocol-test.cc:172] Converting
 > to PB with column count 3 and row select rate 0.8: 9.46510837
 > cycles/cell
 > I0716 00:04:50.354218 18599 wire_protocol-test.cc:172] Converting
 > to PB with column count 3 and row select rate 0.5: 8.44479528
 > cycles/cell
 > I0716 00:04:50.666503 18599 wire_protocol-test.cc:172] Converting
 > to PB with column count 3 and row select rate 0.2: 9.05289943
 > cycles/cell
 > I0716 00:04:51.228058 18599 wire_protocol-test.cc:172] Converting
 > to PB with column count 30 and row select rate 1: 16.26476494
 > cycles/cell
 > I0716 00:04:51.763269 18599 wire_protocol-test.cc:172] Converting
 > to PB with column count 30 and row select rate 0.8: 15.49973305
 > cycles/cell
 > I0716 00:04:52.277858 18599 wire_protocol-test.cc:172] Converting
 > to PB with column count 30 and row select rate 0.5: 14.89959128
 > cycles/cell
 > I0716 00:04:52.803534 18599 wire_protocol-test.cc:172] Converting
 > to PB with column count 30 and row select rate 0.2: 15.22482627
 > cycles/cell
 > I0716 00:04:53.483842 18599 wire_protocol-test.cc:172] Converting
 > to PB with column count 300 and row select rate 1: 19.39585408
 > cycles/cell
 > I0716 00:04:54.123446 18599 wire_protocol-test.cc:172] Converting
 > to PB with column count 300 and row select rate 0.8: 18.24819305
 > cycles/cell
 > I0716 00:04:54.757288 18599 wire_protocol-test.cc:172] Converting
 > to PB with column count 300 and row select rate 0.5: 18.06256705
 > cycles/cell
 > I0716 00:04:55.405241 18599 wire_protocol-test.cc:172] Converting
 > to PB with column count 300 and row select rate 0.2: 18.25103313
 > cycles/cell

WoW, I think your result is more better :D . You can just push your code here 
freely.


--
To view, visit http://gerrit.cloudera.org:8080/13721
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I19917d1875c46fd4cf98ef8a471b0340a76161e7
Gerrit-Change-Number: 13721
Gerrit-PatchSet: 3
Gerrit-Owner: ZhangYao <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Todd Lipcon <[email protected]>
Gerrit-Reviewer: Yao Xu <[email protected]>
Gerrit-Reviewer: ZhangYao <[email protected]>
Gerrit-Comment-Date: Tue, 16 Jul 2019 16:33:32 +0000
Gerrit-HasComments: No

Reply via email to