You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kudu.apache.org by "Todd Lipcon (Code Review)" <ge...@ip-10-146-233-104.ec2.internal> on 2016/01/21 00:31:43 UTC

[kudu-CR] cbtree: some optimizations to make back ground since gcc 4.4

Hello Adar Dembo,

I'd like you to do a code review.  Please visit

    http://gerrit.cloudera.org:8080/1848

to review the following change.

Change subject: cbtree: some optimizations to make back ground since gcc 4.4
......................................................................

cbtree: some optimizations to make back ground since gcc 4.4

Benchmarks indicated that cbtree-test got slower when we upgraded to gcc
4.9:

4.4 (pre-C++11):
I0120 14:04:21.391079  1982 cbtree-test.cc:730] Time spent Insert 4000000 keys: real 2.934s     user 2.868s     sys 0.064s
I0120 14:04:25.186092  1982 cbtree-test.cc:730] Time spent Insert 4000000 keys: real 2.856s     user 2.852s     sys 0.004s
I0120 14:04:28.971114  1982 cbtree-test.cc:730] Time spent Insert 4000000 keys: real 2.852s     user 2.856s     sys 0.000s
I0120 14:04:32.786329  1982 cbtree-test.cc:730] Time spent Insert 4000000 keys: real 2.851s     user 2.856s     sys 0.000s
I0120 14:04:36.601415  1982 cbtree-test.cc:730] Time spent Insert 4000000 keys: real 2.850s     user 2.852s     sys 0.000s

4.9.3 (C++11):
I0120 14:31:10.460209  9809 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.266s     user 3.212s     sys 0.028s
I0120 14:31:14.625602  9809 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.191s     user 3.168s     sys 0.000s
I0120 14:31:18.799840  9809 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.199s     user 3.176s     sys 0.004s
I0120 14:31:23.010079  9809 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.198s     user 3.180s     sys 0.000s
I0120 14:31:27.220559  9809 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.198s     user 3.172s     sys 0.004s
I0120 14:31:31.434557  9809 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.203s     user 3.184s     sys 0.000s
I0120 14:31:35.648149  9809 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.201s     user 3.176s     sys 0.004s

Looking at the new assembly code, I found a few easy improvements to win back
some of the performance. With this patch:

I0120 14:31:59.956502  9851 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.188s     user 3.120s     sys 0.044s
I0120 14:32:04.061563  9851 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.125s     user 3.104s     sys 0.000s
I0120 14:32:08.173352  9851 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.136s     user 3.104s     sys 0.012s
I0120 14:32:12.290326  9851 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.141s     user 3.116s     sys 0.004s
I0120 14:32:16.396093  9851 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.131s     user 3.104s     sys 0.004s
I0120 14:32:20.510488  9851 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.141s     user 3.120s     sys 0.000s
I0120 14:32:24.769479  9851 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.278s     user 3.256s     sys 0.000s
I0120 14:32:28.866739  9851 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.125s     user 3.104s     sys 0.000s
I0120 14:32:33.185539  9851 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.346s     user 3.320s     sys 0.000s
I0120 14:32:37.284078  9851 cbtree-test.cc:732] Time spent Insert 4000000 keys: real 3.124s     user 3.120s     sys 0.000s

which is a few percent gain, but still missing a good chunk.

Change-Id: I63afea81ce9d4ab605ccb27d1d9345637613c06d
---
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/inline_slice.h
2 files changed, 4 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/48/1848/1
-- 
To view, visit http://gerrit.cloudera.org:8080/1848
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I63afea81ce9d4ab605ccb27d1d9345637613c06d
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <to...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>