Hello Michael Ho, Dan Hecht,

I'd like you to reexamine a change.  Please visit

    http://gerrit.cloudera.org:8080/2910

to look at the new patch set (#4).

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/4
-- 
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: 4
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Tim Armstrong <[email protected]>
Gerrit-Reviewer: Dan Hecht <[email protected]>
Gerrit-Reviewer: Michael Ho
Gerrit-Reviewer: Michael Ho <[email protected]>
Gerrit-Reviewer: Tim Armstrong <[email protected]>

Reply via email to