Tim Armstrong has uploaded a new patch set (#3). 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() Removing them saves codegen time since we don't optimise or generate machine code for them. It also allows us to remove the custom memory manager hack for resolving dso_handle. 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 --- M be/src/codegen/llvm-codegen.cc M be/src/codegen/llvm-codegen.h D be/src/codegen/mcjit-mem-mgr.h 3 files changed, 16 insertions(+), 43 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala refs/changes/10/2910/3 -- To view, visit http://gerrit.cloudera.org:8080/2910 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I6f4f5e08e506ad3a9c27c684daeb3344bdaec8b6 Gerrit-PatchSet: 3 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Tim Armstrong <[email protected]>
