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

cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/tsfile.git


The following commit(s) were added to refs/heads/develop by this push:
     new 84496ab4 Use RamUsageEstimator instead of ClassLayout in 
ColumnBuilderStatus (#2)
84496ab4 is described below

commit 84496ab423407186666228c0c97bfd110e18c24d
Author: Jackie Tien <[email protected]>
AuthorDate: Thu Jan 4 21:36:56 2024 +0800

    Use RamUsageEstimator instead of ClassLayout in ColumnBuilderStatus (#2)
---
 .../iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/common-api/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java
 
b/common-api/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java
index 287b1165..a3a5e7b4 100644
--- 
a/common-api/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java
+++ 
b/common-api/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java
@@ -20,6 +20,7 @@
 package org.apache.iotdb.tsfile.read.common.block.column;
 
 import org.apache.iotdb.tsfile.read.common.block.TsBlockBuilderStatus;
+import org.apache.iotdb.tsfile.utils.RamUsageEstimator;
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
@@ -29,7 +30,7 @@ import static java.util.Objects.requireNonNull;
 
 public class ColumnBuilderStatus {
 
-  public static final int INSTANCE_SIZE = 
deepInstanceSize(ColumnBuilderStatus.class);
+  public static final long INSTANCE_SIZE = 
deepInstanceSize(ColumnBuilderStatus.class);
 
   private final TsBlockBuilderStatus tsBlockBuilderStatus;
 
@@ -57,7 +58,7 @@ public class ColumnBuilderStatus {
   /**
    * Computes the size of an instance of this class assuming that all 
reference fields are non-null
    */
-  private static int deepInstanceSize(Class<?> clazz) {
+  private static long deepInstanceSize(Class<?> clazz) {
     if (clazz.isArray()) {
       throw new IllegalArgumentException(
           format(
@@ -76,7 +77,7 @@ public class ColumnBuilderStatus {
               clazz.getSimpleName(), clazz.getSuperclass().getSimpleName()));
     }
 
-    int size = ClassLayout.parseClass(clazz).instanceSize();
+    long size = RamUsageEstimator.shallowSizeOf(clazz);
     for (Field field : clazz.getDeclaredFields()) {
       // if the field is not static and is a reference field and it's not 
synthetic
       if (!Modifier.isStatic(field.getModifiers())

Reply via email to