Impala Public Jenkins has submitted this change and it was merged. 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 Reviewed-on: http://gerrit.cloudera.org:8080/5902 Reviewed-by: Dan Hecht <[email protected]> Tested-by: Impala Public Jenkins --- M be/src/benchmarks/overflow-benchmark.cc M be/src/common/init.cc M be/src/runtime/decimal-value.inline.h M be/src/util/decimal-util.cc M be/src/util/decimal-util.h 5 files changed, 10 insertions(+), 26 deletions(-) Approvals: Impala Public Jenkins: Verified Dan Hecht: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/5902 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: I5095a366d914cebb0b64bd434a08dbb55c90ed30 Gerrit-PatchSet: 14 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Zach Amsden <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Impala Public Jenkins Gerrit-Reviewer: Jim Apple <[email protected]> Gerrit-Reviewer: Michael Ho Gerrit-Reviewer: Zach Amsden <[email protected]>
