Internal Jenkins has submitted this change and it was merged.

Change subject: Reduce dependencies on inline header functions
......................................................................


Reduce dependencies on inline header functions

This patch helps reduce compile times when modifying function
implementations in decimal-value.h, e.g. when tuning the implementations
of decimal operators. decimal-value.h was included in many places that
only need to know about the layout of DecimalValue, not the
implementation of decimal operations. It was included indirectly in many
files, e.g. via runtime-state.h.

The patch moves those functions to decimal-value.inline.h and is able to
avoid including decimal-value.inline.h in most headers. We also need to
do the same thing for raw-value.h and runtime-filter.h, because some
of the inline functions in raw-value.h referenced inline functions in
decimal-value.h, and functions in runtime-filter.h referenced inline
functions in runtime-filter.h.

It also moves timestamp parsing logic from .h to .cc file. This slightly
reduces the size of the llvm bitcode module and will slightly reduce
compile times. The functions are too large to benefit from inlining in
generated code.

Change-Id: Ic7a2f388cd14a4427c43af2724340a2ffe8fae3d
Reviewed-on: http://gerrit.cloudera.org:8080/2485
Reviewed-by: Tim Armstrong <[email protected]>
Tested-by: Internal Jenkins
---
M be/src/benchmarks/hash-benchmark.cc
M be/src/benchmarks/overflow-benchmark.cc
M be/src/codegen/llvm-codegen-test.cc
M be/src/common/init.cc
M be/src/exec/hash-table.cc
M be/src/exec/hbase-table-writer.cc
M be/src/exec/hdfs-avro-scanner-ir.cc
M be/src/exec/hdfs-avro-table-writer.cc
M be/src/exec/hdfs-parquet-scanner.cc
M be/src/exec/hdfs-parquet-table-writer.cc
M be/src/exec/hdfs-rcfile-scanner.cc
M be/src/exec/hdfs-scan-node.cc
M be/src/exec/hdfs-scanner.cc
M be/src/exec/hdfs-sequence-table-writer.cc
M be/src/exec/hdfs-table-sink.cc
M be/src/exec/hdfs-text-scanner.cc
M be/src/exec/hdfs-text-table-writer.cc
M be/src/exec/kudu-testutil.h
M be/src/exec/old-hash-table.cc
M be/src/exec/parquet-common.h
M be/src/exec/partitioned-aggregation-node-ir.cc
M be/src/exec/partitioned-hash-join-node.cc
M be/src/exec/select-node.cc
M be/src/exec/topn-node.cc
M be/src/exprs/agg-fn-evaluator.cc
M be/src/exprs/aggregate-functions.cc
M be/src/exprs/anyval-util.h
M be/src/exprs/cast-functions.cc
M be/src/exprs/decimal-operators.cc
M be/src/exprs/decimal-operators.h
M be/src/exprs/expr-context.cc
M be/src/exprs/expr-test.cc
M be/src/exprs/expr-value.h
M be/src/exprs/expr.cc
M be/src/exprs/expr.h
M be/src/exprs/literal.cc
M be/src/exprs/math-functions.cc
M be/src/exprs/operators.cc
M be/src/exprs/slot-ref.cc
M be/src/exprs/timestamp-functions.cc
M be/src/exprs/timestamp-functions.h
M be/src/runtime/buffered-tuple-stream-test.cc
M be/src/runtime/buffered-tuple-stream.cc
M be/src/runtime/data-stream-mgr.cc
M be/src/runtime/data-stream-sender.cc
M be/src/runtime/data-stream-test.cc
M be/src/runtime/decimal-test.cc
M be/src/runtime/decimal-value.h
A be/src/runtime/decimal-value.inline.h
M be/src/runtime/raw-value-ir.cc
M be/src/runtime/raw-value-test.cc
M be/src/runtime/raw-value.cc
M be/src/runtime/raw-value.h
A be/src/runtime/raw-value.inline.h
M be/src/runtime/row-batch-serialize-test.cc
M be/src/runtime/runtime-filter.cc
M be/src/runtime/runtime-filter.h
A be/src/runtime/runtime-filter.inline.h
M be/src/runtime/string-value.h
M be/src/runtime/string-value.inline.h
M be/src/runtime/timestamp-parse-util.cc
M be/src/runtime/timestamp-parse-util.h
M be/src/runtime/timestamp-test.cc
M be/src/runtime/timestamp-value.cc
M be/src/runtime/timestamp-value.h
M be/src/service/hs2-util.cc
M be/src/service/impala-beeswax-server.cc
M be/src/service/impala-hs2-server.cc
M be/src/util/debug-util.cc
M be/src/util/decimal-util.h
M be/src/util/tuple-row-compare.h
71 files changed, 1,637 insertions(+), 1,364 deletions(-)

Approvals:
  Internal Jenkins: Verified
  Tim Armstrong: Looks good to me, approved



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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ic7a2f388cd14a4427c43af2724340a2ffe8fae3d
Gerrit-PatchSet: 15
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Tim Armstrong <[email protected]>
Gerrit-Reviewer: Dan Hecht <[email protected]>
Gerrit-Reviewer: Internal Jenkins
Gerrit-Reviewer: Michael Ho <[email protected]>
Gerrit-Reviewer: Skye Wanderman-Milne <[email protected]>
Gerrit-Reviewer: Tim Armstrong <[email protected]>

Reply via email to