This is an automated email from the ASF dual-hosted git repository. alexey pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/kudu.git
commit 1bdfbac5737411ee2de5a557eb198eaa12cf4873 Author: Todd Lipcon <[email protected]> AuthorDate: Wed Apr 22 22:50:18 2020 -0700 tablet: set up RowSetKeyProbe fields in initialization list For some reason, setting these fields in the body of the constructor generated a lot more code than setting them in the constructor list. Namely, the setting of a unique_ptr<> generated a check whether the pointer was already set, and code to deallocate the old version if it was. I'm not sure why clang couldn't figure out that it couldn't possibly be set -- perhaps something to do with inheritance (eg maybe a subclass would have set the field in its constructor before chaining upwards?). Either way, this was taking 2-3% CPU and dropped after this change. Change-Id: Ibe46e00f5ca8c13c7366df4bee04e7c6e840b3a0 Reviewed-on: http://gerrit.cloudera.org:8080/15790 Reviewed-by: Bankim Bhavsar <[email protected]> Tested-by: Kudu Jenkins --- src/kudu/tablet/rowset.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/kudu/tablet/rowset.h b/src/kudu/tablet/rowset.h index 85c8c99..40e4e71 100644 --- a/src/kudu/tablet/rowset.h +++ b/src/kudu/tablet/rowset.h @@ -317,9 +317,9 @@ class RowSetKeyProbe { // NOTE: row_key is not copied and must be valid for the lifetime // of this object. explicit RowSetKeyProbe(ConstContiguousRow row_key) - : row_key_(row_key) { - encoded_key_ = EncodedKey::FromContiguousRow(row_key_); - bloom_probe_ = BloomKeyProbe(encoded_key_slice()); + : row_key_(row_key), + encoded_key_(EncodedKey::FromContiguousRow(row_key_)), + bloom_probe_(BloomKeyProbe(encoded_key_slice())) { } // RowSetKeyProbes are usually allocated on the stack, which means that we
