Internal Jenkins has submitted this change and it was merged. Change subject: IMPALA-4291: Reduce LLVM module's preparation time ......................................................................
IMPALA-4291: Reduce LLVM module's preparation time Previously, when creating a LlvmCodeGen object, we run an O(mn) algorithm to map the IRFunction::Type to the actual LLVM::Function object in the module. m is the size of IRFunction::Type enum and n is the total number of functions in the module. This is a waste of time if we only use few functions from the module. This change reduces the preparation time of a simple query from 23ms to 10ms. select count(*) from tpch100_parquet.lineitem where l_orderkey > 20; Change-Id: I61ab9fa8cca5a0909bb716c3c62819da3e3b3041 Reviewed-on: http://gerrit.cloudera.org:8080/4691 Reviewed-by: Michael Ho <[email protected]> Tested-by: Internal Jenkins --- M be/src/codegen/gen_ir_descriptions.py M be/src/codegen/llvm-codegen.cc 2 files changed, 175 insertions(+), 123 deletions(-) Approvals: Michael Ho: Looks good to me, approved Internal Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/4691 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I61ab9fa8cca5a0909bb716c3c62819da3e3b3041 Gerrit-PatchSet: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Michael Ho <[email protected]> Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Michael Ho <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]>
