Zach Amsden has uploaded a new patch set (#9). Change subject: IMPALA-2020: Inline big number strings ......................................................................
IMPALA-2020: Inline big number strings We can directly spcecify these in the header instead of keeping the constants out in a .o. This lets the compiler inline them in a lot more places, potentially giving better behavior than a table lookup by directly inserting the constant. This in turn allows divides by now known compile time constants to be converted into multiply. This is likely to become even more imporant with big integer divide, which requires additional computation for DECIMAL_V2. Testing: Compare the binary output of decimal-util.cc before and after; ran expr test suite. Using the following query I observe a small but statistically present win of ~3% over an unpatched build. select sum(l_extendedprice / l_discount) from tpch10_parquet.lineitem; Before: +-----------------------------------+ | sum(l_extendedprice / l_discount) | +-----------------------------------+ | 61076151920731.010714279183910 | +-----------------------------------+ Fetched 1 row(s) in 9.05s After: +-----------------------------------+ | sum(l_extendedprice / l_discount) | +-----------------------------------+ | 61076151920731.010714279183910 | +-----------------------------------+ Fetched 1 row(s) in 8.79s Will do some additional benchmarking after the V2 stuff and rounding changes land. Change-Id: I5095a366d914cebb0b64bd434a08dbb55c90ed30 --- M be/src/benchmarks/overflow-benchmark.cc M be/src/common/init.cc M be/src/util/decimal-util.cc M be/src/util/decimal-util.h 4 files changed, 25 insertions(+), 21 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/02/5902/9 -- To view, visit http://gerrit.cloudera.org:8080/5902 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5095a366d914cebb0b64bd434a08dbb55c90ed30 Gerrit-PatchSet: 9 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Zach Amsden <zams...@cloudera.com> Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com> Gerrit-Reviewer: Jim Apple <jbapple-imp...@apache.org> Gerrit-Reviewer: Michael Ho Gerrit-Reviewer: Zach Amsden <zams...@cloudera.com>