Tim Armstrong has posted comments on this change. Change subject: IMPALA-4939, IMPALA-4940: Decimal V2 multiplication ......................................................................
Patch Set 5: (1 comment) http://gerrit.cloudera.org:8080/#/c/7438/5/be/src/runtime/decimal-value.inline.h File be/src/runtime/decimal-value.inline.h: Line 203: RESULT_T result = value / multiplier; Another idea: there are a finite number of possible delta_scale values. It may be faster to promote delta_scale to a template parameter and switch on delta_scale to select an optimised implementation. The compiler may be able to optimise the division if it compiles the division separately for each specific multiplier values, e.g. generating special code for /10, /100, /1000, etc. E.g. there are plenty of tricks in this area that compilers can incorporate: https://stackoverflow.com/questions/2033210/c-fast-division-mod-by-10x -- To view, visit http://gerrit.cloudera.org:8080/7438 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I37ad6232d7953bd75c18dc86e665b2b501a1ebe1 Gerrit-PatchSet: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Taras Bobrovytsky <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Michael Ho <[email protected]> Gerrit-Reviewer: Taras Bobrovytsky <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-Reviewer: Zach Amsden <[email protected]> Gerrit-HasComments: Yes
