[ 
https://issues.apache.org/jira/browse/HIVE-15335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15767775#comment-15767775
 ] 

Owen O'Malley edited comment on HIVE-15335 at 12/21/16 6:48 PM:
----------------------------------------------------------------

Review comments:
* Thank you for addressing my API compatibility concerns.
* Do you have benchmark numbers for the new and old implementation? It should 
be faster, but it is worth looking at the numbers before making such a huge 
change to Hive.
* The test cases in storage-api have a lot of commented out printlns, those 
should either be removed or converted into LOG.debug.
* The tests in VersionTestBase should provide a message rather than just call 
fail().
* There is a commented out fail. That should be removed or uncommented.
* It would be great to have a fast path for decimals where the precision is 
less than or equal to 18, which fit into a long. Based on my casual observation 
more than 90% of Hive schemas with decimals fit. What would be the right 
approach to fit that in as a later patch?


was (Author: owen.omalley):
Review comments:
* Thank you for addressing my API compatibility concerns.
* Do you have benchmark numbers for the new and old implementation? It should 
be faster, but it is worth looking at the numbers before making such a huge 
change to Hive.
* The test cases in storage-api have a lot of commented out printlns, those 
should either be removed or converted into LOG.debug.
* The tests in VersionTestBase should provide a message rather than just call 
fail().
* There is a commented out fail. That should be removed or uncommented.
* It would be great to have a fast path for decimals where the precision is 
less than or equal to 18, that fit into a long. Based on my casual observation 
more than 90% of Hive schemas with decimals fit. What would be the right 
approach to fit that in as a later patch?

> Fast Decimal
> ------------
>
>                 Key: HIVE-15335
>                 URL: https://issues.apache.org/jira/browse/HIVE-15335
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive
>            Reporter: Matt McCline
>            Assignee: Matt McCline
>            Priority: Critical
>         Attachments: HIVE-15335.01.patch, HIVE-15335.02.patch, 
> HIVE-15335.03.patch, HIVE-15335.04.patch, HIVE-15335.05.patch, 
> HIVE-15335.06.patch, HIVE-15335.07.patch, HIVE-15335.08.patch, 
> HIVE-15335.09.patch, HIVE-15335.091.patch, HIVE-15335.092.patch, 
> HIVE-15335.093.patch, HIVE-15335.094.patch, HIVE-15335.095.patch, 
> HIVE-15335.096.patch, HIVE-15335.097.patch, HIVE-15335.098.patch, 
> HIVE-15335.099.patch, HIVE-15335.0991.patch
>
>
> Replace HiveDecimal implementation that currently represents the decimal 
> internally as a BigDecimal with a faster version that does not allocate extra 
> objects
> Replace HiveDecimalWritable implementation with a faster version that has new 
> mutable* calls (e.g. mutableAdd, mutableEnforcePrecisionScale, etc) and 
> stores the result as a fast decimal instead of a slow byte array containing a 
> serialized BigInteger.
> Provide faster ways to serialize/deserialize decimals.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to