impala-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Impala Public Jenkins (Code Review)" <ger...@cloudera.org>
Subject [Impala-ASF-CR] IMPALA-2020: Inline big number strings
Date Sat, 04 Mar 2017 02:24:48 GMT
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 <dhecht@cloudera.com>
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 <zamsden@cloudera.com>
Gerrit-Reviewer: Dan Hecht <dhecht@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins
Gerrit-Reviewer: Jim Apple <jbapple-impala@apache.org>
Gerrit-Reviewer: Michael Ho
Gerrit-Reviewer: Zach Amsden <zamsden@cloudera.com>

Mime
View raw message