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]>

Reply via email to