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>

Reply via email to