This is an automated email from the ASF dual-hosted git repository.

hxd pushed a commit to branch improve_memtable_sort
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/improve_memtable_sort by this 
push:
     new de87b06  reduce memory cost when sorting data in memory
de87b06 is described below

commit de87b06d144e3d48aafc868c5ed68ea208137bdf
Author: xiangdong huang <[email protected]>
AuthorDate: Wed Mar 20 15:11:09 2019 +0800

    reduce memory cost when sorting data in memory
---
 .../java/org/apache/iotdb/db/engine/memtable/WritableMemChunk.java    | 4 ++--
 iotdb/src/main/java/org/apache/iotdb/db/utils/PrimitiveArrayList.java | 2 +-
 iotdb/src/main/java/org/apache/iotdb/db/utils/TimeValuePair.java      | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/WritableMemChunk.java 
b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/WritableMemChunk.java
index 543c025..2353df7 100644
--- 
a/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/WritableMemChunk.java
+++ 
b/iotdb/src/main/java/org/apache/iotdb/db/engine/memtable/WritableMemChunk.java
@@ -101,12 +101,12 @@ public class WritableMemChunk implements 
IWritableMemChunk {
   // TODO: Consider using arrays to sort and remove duplicates
   public List<TimeValuePair> getSortedTimeValuePairList() {
     int length = list.size();
-    List<TimeValuePair> ret = new ArrayList<>(length);
+
     Map<Long, TsPrimitiveType> treeMap = new HashMap<>(length, 1.0f);
-    //Map<Long, TsPrimitiveType> treeMap = new TreeMap<>();
     for (int i = 0; i < length; i++) {
       treeMap.put(list.getTimestamp(i), TsPrimitiveType.getByType(dataType, 
list.getValue(i)));
     }
+    List<TimeValuePair> ret = new ArrayList<>(treeMap.size());
     treeMap.forEach((k, v) -> ret.add(new TimeValuePairInMemTable(k, v)));
     ret.sort(TimeValuePair::compareTo);
     return ret;
diff --git 
a/iotdb/src/main/java/org/apache/iotdb/db/utils/PrimitiveArrayList.java 
b/iotdb/src/main/java/org/apache/iotdb/db/utils/PrimitiveArrayList.java
index d5a1c3e..a473152 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/utils/PrimitiveArrayList.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/utils/PrimitiveArrayList.java
@@ -22,7 +22,7 @@ import java.lang.reflect.Array;
 import java.util.ArrayList;
 import java.util.List;
 
-public class  PrimitiveArrayList {
+public class PrimitiveArrayList {
 
   private static final int MAX_SIZE_OF_ONE_ARRAY = 512;
   private static final int INITIAL_SIZE = 1;
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/utils/TimeValuePair.java 
b/iotdb/src/main/java/org/apache/iotdb/db/utils/TimeValuePair.java
index dd068ec..472109b 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/utils/TimeValuePair.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/utils/TimeValuePair.java
@@ -20,7 +20,7 @@ package org.apache.iotdb.db.utils;
 
 import java.io.Serializable;
 
-public class TimeValuePair implements Serializable, Comparable<TimeValuePair>{
+public class TimeValuePair implements Serializable, Comparable<TimeValuePair> {
 
   private long timestamp;
   private TsPrimitiveType value;

Reply via email to