Hello Tidy Bot, Andrew Wong, Kudu Jenkins, Andrew Wong, Adar Dembo,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/14874
to look at the new patch set (#3).
Change subject: memrowset: small optimizations for scanning
......................................................................
memrowset: small optimizations for scanning
This adds two small optimizations for MRS/CBTree. They should have a
small (maybe not noticeable) effect on user scans, but hopefully will
also improve the speed of flushing by a few percent, which I found to be
CPU bound when using an NVM disk for storage.
- add a new getter to fetch the stored values without also accessing the
stored keys. In most cases we don't care about the encoded key when
accessing MRS, so we can avoid potentially following the key pointer
(should avoid a cache miss)
Shows a small effect in the modified benchmark:
I1210 10:04:46.209149 15145 cbtree-test.cc:795] Time spent Scan 4000000 keys 10
times (frozen): real 0.638s user 0.636s sys 0.000s
I1210 10:04:46.804275 15145 cbtree-test.cc:806] Time spent Scan 4000000 keys 10
times (frozen, val-only): real 0.595s user 0.596s sys 0.000s
... though this one didn't show a major effect in memrowset-test on its
own.
- add prefetching of the MRS values during scanning
Tested with:
memrowset-test --gtest_filter=\*InsertCount\* --roundtrip_num_rows=10000000
--gtest_repeat=10
t-test for the "all committed" result shows a significant (though <5%) effect:
data: subset(d, V1 == "before")$V2 and subset(d, V1 == "after-prefetch")$V2
t = 3.4999, df = 18, p-value = 0.002557
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
0.004876512 0.019523488
sample estimates:
mean of x mean of y
0.3622 0.3500
Change-Id: Ia44b34606439625fbbbcc83e3652455a8894a0b3
---
M src/kudu/tablet/cbtree-test.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/tablet/memrowset.cc
M src/kudu/tablet/memrowset.h
4 files changed, 80 insertions(+), 35 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/74/14874/3
--
To view, visit http://gerrit.cloudera.org:8080/14874
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ia44b34606439625fbbbcc83e3652455a8894a0b3
Gerrit-Change-Number: 14874
Gerrit-PatchSet: 3
Gerrit-Owner: Todd Lipcon <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Andrew Wong <[email protected]>
Gerrit-Reviewer: Andrew Wong <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Todd Lipcon <[email protected]>