Internal Jenkins has submitted this change and it was merged. Change subject: Strip global constructors and destructors from codegen module ......................................................................
Strip global constructors and destructors from codegen module They are never executed, but cannot be eliminated as dead code since we could explicitly invoke them with ExecutionEngine::runStaticConstructorsDestructors() I benchmarked the improvement with "select count(*) from tpch_parquet.lineitem" as an example of a simple query with codegen. Before the change, each fragment took ~300ms to codegen. After this change, each fragment took ~130ms to codegen. So this patch removes ~170ms of codegen overhead that was spent optimising and compiling this unexecuted code. Change-Id: I6f4f5e08e506ad3a9c27c684daeb3344bdaec8b6 Reviewed-on: http://gerrit.cloudera.org:8080/2910 Reviewed-by: Tim Armstrong <[email protected]> Tested-by: Internal Jenkins --- M be/src/codegen/llvm-codegen.cc M be/src/codegen/llvm-codegen.h 2 files changed, 16 insertions(+), 0 deletions(-) Approvals: Internal Jenkins: Verified Tim Armstrong: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/2910 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I6f4f5e08e506ad3a9c27c684daeb3344bdaec8b6 Gerrit-PatchSet: 6 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 Gerrit-Reviewer: Michael Ho <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]>
