You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@iotdb.apache.org by GitBox <gi...@apache.org> on 2019/03/02 11:16:36 UTC

[GitHub] jixuan1989 opened a new pull request #83: [IOTDB-31] Set the float precision of data in memtable

jixuan1989 opened a new pull request #83: [IOTDB-31] Set the float precision of data in memtable
URL: https://github.com/apache/incubator-iotdb/pull/83
 
 
   Now the program logic is:
   * When writing data into the memory, we do not control the precision, so that we can get the best ingestion performance.
   * When querying data from disk, we do not need additional operations, because when data is flushing on disk, it will be processed to only remain the required precision.
   * When querying data from memory which is not flushed on disk, we process this part of data to control its precision.
   
   I use `Math.round()` method to implement the precision control, which only takes  less than 1/10 additional time cost. (performance test codes: see comments in JIRA 31)
   
   As the limitation of Java's `Math.round(float)` and `Math.round(double)`,  the value range of float/double is constrained:
   
   * For Float data value, The data range is (-Integer.MAX_VALUE, Integer.MAX_VALUE), rather than Float.MAX_VALUE, and the max_point_number is 19.
   * For Double data value, The data range is (-Long.MAX_VALUE, Long.MAX_VALUE), rather than Double.MAX_VALUE, and the max_point_number is 19.
   
   
   

----------------------------------------------------------------
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:
users@infra.apache.org


With regards,
Apache Git Services