Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 <kwho@cloudera.com> Tested-by: Internal Jenkins
- Loading branch information
Michael Ho
authored and
Internal Jenkins
committed
Oct 14, 2016
1 parent
c7fe438
commit 47b8aa3
Showing
2 changed files
with
175 additions
and
123 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters