[ 
https://issues.apache.org/jira/browse/IMPALA-6344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tim Armstrong resolved IMPALA-6344.
-----------------------------------
    Resolution: Later

> Optimize decimal multiplication
> -------------------------------
>
>                 Key: IMPALA-6344
>                 URL: https://issues.apache.org/jira/browse/IMPALA-6344
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Backend
>            Reporter: Taras Bobrovytsky
>            Priority: Major
>              Labels: decimal, perf
>
> Our current implementation of decimal multiplication can be slow and 
> non-optimal due to having branches in our code.
> [~zamsden] suggested to use 
> [https://en.wikipedia.org/wiki/Karatsuba_algorithm] multiplication for int128 
> * int128 -> int256 multiply. The following example implements this and uses 3 
> hardware 64-bit multiplies to get a full 256 bit result. The code is written 
> in inline assembly and has no branches.
> http://coliru.stacked-crooked.com/a/25a697389211189f
> We should consider benchmarking this code and using this approach if it turns 
> out to be faster.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to