Tim Armstrong has uploaded a new patch set (#7). 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 should slightly reduce compile times. The functions are too large to benefit from inlining in generated code. Change-Id: Ic7a2f388cd14a4427c43af2724340a2ffe8fae3d --- 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/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-aggregation-node.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(-) git pull ssh://gerrit.cloudera.org:29418/Impala refs/changes/85/2485/7 -- To view, visit http://gerrit.cloudera.org:8080/2485 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ic7a2f388cd14a4427c43af2724340a2ffe8fae3d Gerrit-PatchSet: 7 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Tim Armstrong <[email protected]> Gerrit-Reviewer: Michael Ho <[email protected]> Gerrit-Reviewer: Skye Wanderman-Milne <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]>
