ajantha-bhat commented on a change in pull request #3682: [CARBONDATA-3753] 
optimize double/float stats collector
URL: https://github.com/apache/carbondata/pull/3682#discussion_r406024143
 
 

 ##########
 File path: 
core/src/main/java/org/apache/carbondata/core/datastore/page/statistics/PrimitivePageStatsCollector.java
 ##########
 @@ -233,20 +233,18 @@ public void update(long value) {
 
   /**
    * Return number of digit after decimal point
-   * TODO: it operation is costly, optimize for performance
    */
   private int getDecimalCount(double value) {
     int decimalPlaces = 0;
     try {
-      String strValue = BigDecimal.valueOf(Math.abs(value)).toPlainString();
-      int integerPlaces = strValue.indexOf('.');
-      if (-1 != integerPlaces) {
-        decimalPlaces = strValue.length() - integerPlaces - 1;
+      BigDecimal decimalValue = BigDecimal.valueOf(value);
 
 Review comment:
   Actually double will not always be like `xx.yyy`, it will be having 
`exponent` also. 
   So, Bigdecimal already converts to string and do that logic. 
   
   May be next version we can reduce further by removing big decimal and 
copying API inside big decimal to do that.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to