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